@scrypted/libav 1.0.181 → 1.0.183
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/_openh264install/include/wels/codec_api.h +0 -592
- package/_openh264install/include/wels/codec_app_def.h +0 -820
- package/_openh264install/include/wels/codec_def.h +0 -216
- package/_openh264install/include/wels/codec_ver.h +0 -15
- package/_openh264install/lib/libopenh264.a +0 -0
- package/_openh264install/lib/pkgconfig/openh264.pc +0 -10
- package/openh264/.reviewboardrc +0 -3
- package/openh264/.travis.yml +0 -42
- package/openh264/CODING_STYLE +0 -8
- package/openh264/CONTRIBUTORS +0 -55
- package/openh264/LICENSE +0 -23
- package/openh264/Makefile +0 -408
- package/openh264/README.md +0 -197
- package/openh264/RELEASES +0 -467
- package/openh264/SECURITY.md +0 -16
- package/openh264/autotest/codec_comparision/run_MultiCodecComparision.sh +0 -431
- package/openh264/autotest/performanceTest/android/run_AutoTest_android.sh +0 -180
- package/openh264/autotest/performanceTest/ios/fruitstrap +0 -0
- package/openh264/autotest/performanceTest/ios/iFileTransfer +0 -0
- package/openh264/autotest/performanceTest/ios/run_AutoTest_ios.sh +0 -193
- package/openh264/autotest/performanceTest/ios/uiascript.js +0 -19
- package/openh264/autotest/performanceTest/parsePerfData.sh +0 -107
- package/openh264/autotest/performanceTest/run_perfTest.sh +0 -122
- package/openh264/autotest/unitTest/android/run_AutoTest_android.sh +0 -112
- package/openh264/autotest/unitTest/ios/run_AutoTest_ios.sh +0 -167
- package/openh264/autotest/unitTest/run_ParseUTxml.sh +0 -70
- package/openh264/autotest/unitTest/run_unitTest.sh +0 -98
- package/openh264/build.gradle +0 -30
- package/openh264/code-coverage.sh +0 -6
- package/openh264/codec/api/meson.build +0 -1
- package/openh264/codec/api/wels/codec_api.h +0 -592
- package/openh264/codec/api/wels/codec_app_def.h +0 -820
- package/openh264/codec/api/wels/codec_def.h +0 -216
- package/openh264/codec/api/wels/codec_ver.h +0 -15
- package/openh264/codec/api/wels/meson.build +0 -9
- package/openh264/codec/common/arm/arm_arch_common_macro.S +0 -83
- package/openh264/codec/common/arm/copy_mb_neon.S +0 -161
- package/openh264/codec/common/arm/deblocking_neon.S +0 -857
- package/openh264/codec/common/arm/expand_picture_neon.S +0 -154
- package/openh264/codec/common/arm/intra_pred_common_neon.S +0 -82
- package/openh264/codec/common/arm/mc_neon.S +0 -2283
- package/openh264/codec/common/arm64/arm_aarch64_common.h +0 -85
- package/openh264/codec/common/arm64/arm_arch64_common_macro.S +0 -79
- package/openh264/codec/common/arm64/copy_mb_aarch64_neon.S +0 -202
- package/openh264/codec/common/arm64/deblocking_aarch64_neon.S +0 -852
- package/openh264/codec/common/arm64/expand_picture_aarch64_neon.S +0 -150
- package/openh264/codec/common/arm64/intra_pred_common_aarch64_neon.S +0 -58
- package/openh264/codec/common/arm64/mc_aarch64_neon.S +0 -2614
- package/openh264/codec/common/generate_version.sh +0 -28
- package/openh264/codec/common/inc/WelsList.h +0 -287
- package/openh264/codec/common/inc/WelsLock.h +0 -97
- package/openh264/codec/common/inc/WelsTask.h +0 -75
- package/openh264/codec/common/inc/WelsTaskThread.h +0 -83
- package/openh264/codec/common/inc/WelsThread.h +0 -106
- package/openh264/codec/common/inc/WelsThreadLib.h +0 -151
- package/openh264/codec/common/inc/WelsThreadPool.h +0 -124
- package/openh264/codec/common/inc/asmdefs_mmi.h +0 -345
- package/openh264/codec/common/inc/copy_mb.h +0 -103
- package/openh264/codec/common/inc/cpu.h +0 -81
- package/openh264/codec/common/inc/cpu_core.h +0 -103
- package/openh264/codec/common/inc/crt_util_safe_x.h +0 -104
- package/openh264/codec/common/inc/deblocking_common.h +0 -124
- package/openh264/codec/common/inc/expand_pic.h +0 -107
- package/openh264/codec/common/inc/golomb_common.h +0 -166
- package/openh264/codec/common/inc/intra_pred_common.h +0 -86
- package/openh264/codec/common/inc/loongson_intrinsics.h +0 -1919
- package/openh264/codec/common/inc/ls_defines.h +0 -130
- package/openh264/codec/common/inc/macros.h +0 -329
- package/openh264/codec/common/inc/mc.h +0 -407
- package/openh264/codec/common/inc/measure_time.h +0 -88
- package/openh264/codec/common/inc/memory_align.h +0 -116
- package/openh264/codec/common/inc/msa_macros.h +0 -2393
- package/openh264/codec/common/inc/sad_common.h +0 -139
- package/openh264/codec/common/inc/typedefs.h +0 -86
- package/openh264/codec/common/inc/utils.h +0 -95
- package/openh264/codec/common/inc/version.h +0 -10
- package/openh264/codec/common/inc/version_gen.h.template +0 -6
- package/openh264/codec/common/inc/welsCodecTrace.h +0 -64
- package/openh264/codec/common/inc/wels_common_defs.h +0 -373
- package/openh264/codec/common/inc/wels_const_common.h +0 -63
- package/openh264/codec/common/loongarch/copy_mb_lsx.c +0 -194
- package/openh264/codec/common/loongarch/deblock_lsx.c +0 -1489
- package/openh264/codec/common/loongarch/intra_pred_com_lasx.c +0 -112
- package/openh264/codec/common/loongarch/intra_pred_com_lsx.c +0 -91
- package/openh264/codec/common/loongarch/mc_chroma_lsx.c +0 -192
- package/openh264/codec/common/loongarch/mc_horver_lsx.c +0 -654
- package/openh264/codec/common/loongarch/satd_sad_lasx.c +0 -568
- package/openh264/codec/common/meson.build +0 -84
- package/openh264/codec/common/mips/copy_mb_mmi.c +0 -477
- package/openh264/codec/common/mips/copy_mb_msa.c +0 -80
- package/openh264/codec/common/mips/deblock_mmi.c +0 -2826
- package/openh264/codec/common/mips/deblock_msa.c +0 -1024
- package/openh264/codec/common/mips/expand_picture_mmi.c +0 -673
- package/openh264/codec/common/mips/intra_pred_com_mmi.c +0 -548
- package/openh264/codec/common/mips/satd_sad_mmi.c +0 -2154
- package/openh264/codec/common/targets.mk +0 -136
- package/openh264/codec/common/x86/asm_inc.asm +0 -743
- package/openh264/codec/common/x86/cpuid.asm +0 -263
- package/openh264/codec/common/x86/dct.asm +0 -1036
- package/openh264/codec/common/x86/deblock.asm +0 -848
- package/openh264/codec/common/x86/expand_picture.asm +0 -728
- package/openh264/codec/common/x86/intra_pred_com.asm +0 -117
- package/openh264/codec/common/x86/mb_copy.asm +0 -615
- package/openh264/codec/common/x86/mc_chroma.asm +0 -313
- package/openh264/codec/common/x86/mc_luma.asm +0 -4490
- package/openh264/codec/common/x86/satd_sad.asm +0 -2734
- package/openh264/codec/common/x86/vaa.asm +0 -411
- package/openh264/codec/console/common/inc/read_config.h +0 -68
- package/openh264/codec/console/common/meson.build +0 -12
- package/openh264/codec/console/common/targets.mk +0 -20
- package/openh264/codec/console/dec/inc/d3d9_utils.h +0 -148
- package/openh264/codec/console/dec/meson.build +0 -15
- package/openh264/codec/console/dec/targets.mk +0 -20
- package/openh264/codec/console/enc/meson.build +0 -9
- package/openh264/codec/console/enc/targets.mk +0 -19
- package/openh264/codec/console/meson.build +0 -3
- package/openh264/codec/decoder/core/arm/block_add_neon.S +0 -129
- package/openh264/codec/decoder/core/arm/intra_pred_neon.S +0 -635
- package/openh264/codec/decoder/core/arm64/block_add_aarch64_neon.S +0 -131
- package/openh264/codec/decoder/core/arm64/intra_pred_aarch64_neon.S +0 -524
- package/openh264/codec/decoder/core/inc/au_parser.h +0 -199
- package/openh264/codec/decoder/core/inc/bit_stream.h +0 -62
- package/openh264/codec/decoder/core/inc/cabac_decoder.h +0 -111
- package/openh264/codec/decoder/core/inc/deblocking.h +0 -118
- package/openh264/codec/decoder/core/inc/dec_frame.h +0 -156
- package/openh264/codec/decoder/core/inc/dec_golomb.h +0 -344
- package/openh264/codec/decoder/core/inc/decode_mb_aux.h +0 -83
- package/openh264/codec/decoder/core/inc/decode_slice.h +0 -104
- package/openh264/codec/decoder/core/inc/decoder.h +0 -186
- package/openh264/codec/decoder/core/inc/decoder_context.h +0 -590
- package/openh264/codec/decoder/core/inc/decoder_core.h +0 -206
- package/openh264/codec/decoder/core/inc/error_code.h +0 -222
- package/openh264/codec/decoder/core/inc/error_concealment.h +0 -68
- package/openh264/codec/decoder/core/inc/fmo.h +0 -114
- package/openh264/codec/decoder/core/inc/get_intra_predictor.h +0 -191
- package/openh264/codec/decoder/core/inc/manage_dec_ref.h +0 -62
- package/openh264/codec/decoder/core/inc/mb_cache.h +0 -80
- package/openh264/codec/decoder/core/inc/memmgr_nal_unit.h +0 -66
- package/openh264/codec/decoder/core/inc/mv_pred.h +0 -195
- package/openh264/codec/decoder/core/inc/nal_prefix.h +0 -56
- package/openh264/codec/decoder/core/inc/nalu.h +0 -79
- package/openh264/codec/decoder/core/inc/parameter_sets.h +0 -217
- package/openh264/codec/decoder/core/inc/parse_mb_syn_cabac.h +0 -89
- package/openh264/codec/decoder/core/inc/parse_mb_syn_cavlc.h +0 -137
- package/openh264/codec/decoder/core/inc/pic_queue.h +0 -62
- package/openh264/codec/decoder/core/inc/picture.h +0 -112
- package/openh264/codec/decoder/core/inc/rec_mb.h +0 -104
- package/openh264/codec/decoder/core/inc/slice.h +0 -208
- package/openh264/codec/decoder/core/inc/vlc_decoder.h +0 -177
- package/openh264/codec/decoder/core/inc/wels_common_basis.h +0 -317
- package/openh264/codec/decoder/core/inc/wels_const.h +0 -65
- package/openh264/codec/decoder/core/inc/wels_decoder_thread.h +0 -170
- package/openh264/codec/decoder/core/loongarch/mb_aux_lsx.c +0 -296
- package/openh264/codec/decoder/core/mips/dct_mmi.c +0 -786
- package/openh264/codec/decoder/core/x86/dct.asm +0 -72
- package/openh264/codec/decoder/core/x86/intra_pred.asm +0 -1456
- package/openh264/codec/decoder/meson.build +0 -69
- package/openh264/codec/decoder/plus/inc/welsDecoderExt.h +0 -170
- package/openh264/codec/decoder/targets.mk +0 -115
- package/openh264/codec/encoder/core/arm/intra_pred_neon.S +0 -589
- package/openh264/codec/encoder/core/arm/intra_pred_sad_3_opt_neon.S +0 -735
- package/openh264/codec/encoder/core/arm/memory_neon.S +0 -62
- package/openh264/codec/encoder/core/arm/pixel_neon.S +0 -882
- package/openh264/codec/encoder/core/arm/reconstruct_neon.S +0 -903
- package/openh264/codec/encoder/core/arm/svc_motion_estimation.S +0 -366
- package/openh264/codec/encoder/core/arm64/intra_pred_aarch64_neon.S +0 -505
- package/openh264/codec/encoder/core/arm64/intra_pred_sad_3_opt_aarch64_neon.S +0 -611
- package/openh264/codec/encoder/core/arm64/memory_aarch64_neon.S +0 -63
- package/openh264/codec/encoder/core/arm64/pixel_aarch64_neon.S +0 -621
- package/openh264/codec/encoder/core/arm64/reconstruct_aarch64_neon.S +0 -717
- package/openh264/codec/encoder/core/arm64/svc_motion_estimation_aarch64_neon.S +0 -350
- package/openh264/codec/encoder/core/inc/as264_common.h +0 -138
- package/openh264/codec/encoder/core/inc/au_set.h +0 -152
- package/openh264/codec/encoder/core/inc/deblocking.h +0 -92
- package/openh264/codec/encoder/core/inc/decode_mb_aux.h +0 -112
- package/openh264/codec/encoder/core/inc/dq_map.h +0 -58
- package/openh264/codec/encoder/core/inc/encode_mb_aux.h +0 -199
- package/openh264/codec/encoder/core/inc/encoder.h +0 -148
- package/openh264/codec/encoder/core/inc/encoder_context.h +0 -240
- package/openh264/codec/encoder/core/inc/extern.h +0 -124
- package/openh264/codec/encoder/core/inc/get_intra_predictor.h +0 -186
- package/openh264/codec/encoder/core/inc/mb_cache.h +0 -141
- package/openh264/codec/encoder/core/inc/md.h +0 -181
- package/openh264/codec/encoder/core/inc/mt_defs.h +0 -91
- package/openh264/codec/encoder/core/inc/mv_pred.h +0 -191
- package/openh264/codec/encoder/core/inc/nal_encap.h +0 -143
- package/openh264/codec/encoder/core/inc/param_svc.h +0 -576
- package/openh264/codec/encoder/core/inc/parameter_sets.h +0 -181
- package/openh264/codec/encoder/core/inc/paraset_strategy.h +0 -310
- package/openh264/codec/encoder/core/inc/picture.h +0 -137
- package/openh264/codec/encoder/core/inc/picture_handle.h +0 -66
- package/openh264/codec/encoder/core/inc/rc.h +0 -284
- package/openh264/codec/encoder/core/inc/ref_list_mgr_svc.h +0 -148
- package/openh264/codec/encoder/core/inc/sample.h +0 -154
- package/openh264/codec/encoder/core/inc/set_mb_syn_cabac.h +0 -127
- package/openh264/codec/encoder/core/inc/set_mb_syn_cavlc.h +0 -92
- package/openh264/codec/encoder/core/inc/slice.h +0 -212
- package/openh264/codec/encoder/core/inc/slice_multi_threading.h +0 -97
- package/openh264/codec/encoder/core/inc/stat.h +0 -102
- package/openh264/codec/encoder/core/inc/svc_base_layer_md.h +0 -102
- package/openh264/codec/encoder/core/inc/svc_enc_frame.h +0 -136
- package/openh264/codec/encoder/core/inc/svc_enc_golomb.h +0 -123
- package/openh264/codec/encoder/core/inc/svc_enc_macroblock.h +0 -82
- package/openh264/codec/encoder/core/inc/svc_enc_slice_segment.h +0 -212
- package/openh264/codec/encoder/core/inc/svc_encode_mb.h +0 -63
- package/openh264/codec/encoder/core/inc/svc_encode_slice.h +0 -184
- package/openh264/codec/encoder/core/inc/svc_mode_decision.h +0 -94
- package/openh264/codec/encoder/core/inc/svc_motion_estimate.h +0 -369
- package/openh264/codec/encoder/core/inc/svc_set_mb_syn.h +0 -70
- package/openh264/codec/encoder/core/inc/svc_set_mb_syn_cavlc.h +0 -67
- package/openh264/codec/encoder/core/inc/vlc_encoder.h +0 -92
- package/openh264/codec/encoder/core/inc/wels_common_basis.h +0 -160
- package/openh264/codec/encoder/core/inc/wels_const.h +0 -174
- package/openh264/codec/encoder/core/inc/wels_func_ptr_def.h +0 -300
- package/openh264/codec/encoder/core/inc/wels_preprocess.h +0 -251
- package/openh264/codec/encoder/core/inc/wels_task_base.h +0 -79
- package/openh264/codec/encoder/core/inc/wels_task_encoder.h +0 -142
- package/openh264/codec/encoder/core/inc/wels_task_management.h +0 -135
- package/openh264/codec/encoder/core/inc/wels_transpose_matrix.h +0 -58
- package/openh264/codec/encoder/core/loongarch/dct_lasx.c +0 -452
- package/openh264/codec/encoder/core/loongarch/get_intra_predictor_lsx.c +0 -166
- package/openh264/codec/encoder/core/loongarch/quant_lsx.c +0 -153
- package/openh264/codec/encoder/core/loongarch/sample_lasx.c +0 -87
- package/openh264/codec/encoder/core/loongarch/svc_motion_estimate_lsx.c +0 -104
- package/openh264/codec/encoder/core/mips/dct_mmi.c +0 -529
- package/openh264/codec/encoder/core/mips/quant_mmi.c +0 -553
- package/openh264/codec/encoder/core/mips/score_mmi.c +0 -324
- package/openh264/codec/encoder/core/x86/coeff.asm +0 -695
- package/openh264/codec/encoder/core/x86/dct.asm +0 -108
- package/openh264/codec/encoder/core/x86/intra_pred.asm +0 -1129
- package/openh264/codec/encoder/core/x86/matrix_transpose.asm +0 -395
- package/openh264/codec/encoder/core/x86/memzero.asm +0 -132
- package/openh264/codec/encoder/core/x86/quant.asm +0 -507
- package/openh264/codec/encoder/core/x86/sample_sc.asm +0 -1829
- package/openh264/codec/encoder/core/x86/score.asm +0 -363
- package/openh264/codec/encoder/meson.build +0 -98
- package/openh264/codec/encoder/plus/inc/welsEncoderExt.h +0 -129
- package/openh264/codec/encoder/targets.mk +0 -146
- package/openh264/codec/meson.build +0 -9
- package/openh264/codec/processing/interface/IWelsVP.h +0 -310
- package/openh264/codec/processing/meson.build +0 -71
- package/openh264/codec/processing/targets.mk +0 -117
- package/openh264/docs/doxygen/Doxyfile +0 -1865
- package/openh264/docs/doxygen/Home.rest +0 -25
- package/openh264/docs/doxygen/ISVCDecoder.rest +0 -19
- package/openh264/docs/doxygen/ISVCEncoder.rest +0 -16
- package/openh264/docs/doxygen/UsageExampleForDecoder.rest +0 -10
- package/openh264/docs/doxygen/UsageExampleForEncoder.rest +0 -15
- package/openh264/docs/doxygen2rst.py +0 -619
- package/openh264/gmpopenh264.info +0 -4
- package/openh264/gradlew +0 -172
- package/openh264/meson.build +0 -218
- package/openh264/meson_options.txt +0 -1
- package/openh264/module/RefCounted.h +0 -141
- package/openh264/module/gmp-openh264.cpp +0 -1196
- package/openh264/module/targets.mk +0 -14
- package/openh264/module/task_utils.h +0 -38
- package/openh264/module/task_utils.py +0 -207
- package/openh264/module/task_utils_generated.h +0 -2087
- package/openh264/openh264.def +0 -7
- package/openh264/openh264.pc.in +0 -10
- package/openh264/openh264.rc +0 -61
- package/openh264/openh264.rc.template +0 -61
- package/openh264/res/Adobe_PDF_sample_a_1024x768_50Frms.264 +0 -0
- package/openh264/res/BA1_FT_C.264 +0 -0
- package/openh264/res/BA1_Sony_D.jsv +0 -0
- package/openh264/res/BAMQ1_JVC_C.264 +0 -0
- package/openh264/res/BAMQ2_JVC_C.264 +0 -0
- package/openh264/res/BANM_MW_D.264 +0 -0
- package/openh264/res/BASQP1_Sony_C.jsv +0 -0
- package/openh264/res/BA_MW_D.264 +0 -0
- package/openh264/res/BA_MW_D_IDR_LOST.264 +0 -0
- package/openh264/res/BA_MW_D_P_LOST.264 +0 -0
- package/openh264/res/CI1_FT_B.264 +0 -0
- package/openh264/res/CI_MW_D.264 +0 -0
- package/openh264/res/CVFC1_Sony_C.jsv +0 -0
- package/openh264/res/CVPCMNL1_SVA_C.264 +0 -0
- package/openh264/res/CiscoVT2people_160x96_6fps.yuv +0 -1
- package/openh264/res/CiscoVT2people_320x192_12fps.yuv +0 -1
- package/openh264/res/Cisco_Absolute_Power_1280x720_30fps.yuv +0 -3607
- package/openh264/res/Cisco_Adobe_PDF_sample_a_1024x768_CAVLC_Bframe_9.264 +0 -0
- package/openh264/res/Cisco_Men_whisper_640x320_CABAC_Bframe_9.264 +0 -0
- package/openh264/res/Cisco_Men_whisper_640x320_CAVLC_Bframe_9.264 +0 -0
- package/openh264/res/Error_I_P.264 +0 -0
- package/openh264/res/LS_SVA_D.264 +0 -0
- package/openh264/res/MIDR_MW_D.264 +0 -0
- package/openh264/res/MPS_MW_A.264 +0 -0
- package/openh264/res/MR1_BT_A.h264 +0 -0
- package/openh264/res/MR1_MW_A.264 +0 -0
- package/openh264/res/MR2_MW_A.264 +0 -0
- package/openh264/res/MR2_TANDBERG_E.264 +0 -0
- package/openh264/res/NL1_Sony_D.jsv +0 -0
- package/openh264/res/NLMQ1_JVC_C.264 +0 -0
- package/openh264/res/NLMQ2_JVC_C.264 +0 -0
- package/openh264/res/NRF_MW_E.264 +0 -0
- package/openh264/res/QCIF_2P_I_allIPCM.264 +0 -0
- package/openh264/res/SVA_BA1_B.264 +0 -0
- package/openh264/res/SVA_BA2_D.264 +0 -0
- package/openh264/res/SVA_Base_B.264 +0 -0
- package/openh264/res/SVA_CL1_E.264 +0 -0
- package/openh264/res/SVA_FM1_E.264 +0 -0
- package/openh264/res/SVA_NL1_B.264 +0 -0
- package/openh264/res/SVA_NL2_E.264 +0 -0
- package/openh264/res/SarVui.264 +0 -0
- package/openh264/res/Static.264 +0 -0
- package/openh264/res/Static_152_100.yuv +0 -1
- package/openh264/res/VID_1280x544_cabac_temporal_direct.264 +0 -0
- package/openh264/res/VID_1280x544_cavlc_temporal_direct.264 +0 -0
- package/openh264/res/VID_1280x720_cabac_temporal_direct.264 +0 -0
- package/openh264/res/VID_1280x720_cavlc_temporal_direct.264 +0 -0
- package/openh264/res/VID_1920x1080_cabac_temporal_direct.264 +0 -0
- package/openh264/res/VID_1920x1080_cavlc_temporal_direct.264 +0 -0
- package/openh264/res/Zhling_1280x720.264 +0 -0
- package/openh264/res/jm_1080p_allslice.264 +0 -0
- package/openh264/res/sps_subsetsps_bothVUI.264 +0 -0
- package/openh264/res/test_cif_I_CABAC_PCM.264 +0 -0
- package/openh264/res/test_cif_I_CABAC_slice.264 +0 -0
- package/openh264/res/test_cif_P_CABAC_slice.264 +0 -0
- package/openh264/res/test_qcif_cabac.264 +0 -0
- package/openh264/res/test_scalinglist_jm.264 +0 -0
- package/openh264/res/test_vd_1d.264 +0 -0
- package/openh264/res/test_vd_rc.264 +0 -0
- package/openh264/run_Test.sh +0 -91
- package/openh264/settings.gradle +0 -4
- package/openh264/subprojects/gtest.wrap +0 -10
- package/openh264/testbin/AutoBuild_Windows_VS2008.bat +0 -59
- package/openh264/testbin/CmdLineExample.sh +0 -7
- package/openh264/testbin/CmdLineReadMe +0 -22
- package/openh264/testbin/layer2.cfg +0 -37
- package/openh264/testbin/layer2_arbitrary_res.cfg +0 -37
- package/openh264/testbin/layer2_vd.cfg +0 -38
- package/openh264/testbin/layer2_vd_rc.cfg +0 -38
- package/openh264/testbin/welsenc.cfg +0 -71
- package/openh264/testbin/welsenc_arbitrary_res.cfg +0 -70
- package/openh264/testbin/welsenc_ios.cfg +0 -71
- package/openh264/testbin/welsenc_vd_1d.cfg +0 -70
- package/openh264/testbin/welsenc_vd_rc.cfg +0 -69
- package/openh264/ut.def +0 -2
|
@@ -1,112 +0,0 @@
|
|
|
1
|
-
/*!
|
|
2
|
-
* \copy
|
|
3
|
-
* Copyright (c) 2013, Cisco Systems
|
|
4
|
-
* All rights reserved.
|
|
5
|
-
*
|
|
6
|
-
* Redistribution and use in source and binary forms, with or without
|
|
7
|
-
* modification, are permitted provided that the following conditions
|
|
8
|
-
* are met:
|
|
9
|
-
*
|
|
10
|
-
* * Redistributions of source code must retain the above copyright
|
|
11
|
-
* notice, this list of conditions and the following disclaimer.
|
|
12
|
-
*
|
|
13
|
-
* * Redistributions in binary form must reproduce the above copyright
|
|
14
|
-
* notice, this list of conditions and the following disclaimer in
|
|
15
|
-
* the documentation and/or other materials provided with the
|
|
16
|
-
* distribution.
|
|
17
|
-
*
|
|
18
|
-
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
|
19
|
-
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
|
20
|
-
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
|
21
|
-
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
|
22
|
-
* COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
|
23
|
-
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
|
24
|
-
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
|
25
|
-
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
|
26
|
-
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
|
27
|
-
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
|
28
|
-
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
|
29
|
-
* POSSIBILITY OF SUCH DAMAGE.
|
|
30
|
-
*
|
|
31
|
-
*/
|
|
32
|
-
|
|
33
|
-
//picture.h - reconstruction picture/ reference picture/ residual picture are declared here
|
|
34
|
-
#ifndef WELS_PICTURE_H__
|
|
35
|
-
#define WELS_PICTURE_H__
|
|
36
|
-
|
|
37
|
-
#include "typedefs.h"
|
|
38
|
-
#include "wels_common_defs.h"
|
|
39
|
-
#include "wels_const_common.h"
|
|
40
|
-
#include "wels_decoder_thread.h"
|
|
41
|
-
|
|
42
|
-
using namespace WelsCommon;
|
|
43
|
-
|
|
44
|
-
namespace WelsDec {
|
|
45
|
-
|
|
46
|
-
/*
|
|
47
|
-
* Reconstructed Picture definition
|
|
48
|
-
* It is used to express reference picture, also consequent reconstruction picture for output
|
|
49
|
-
*/
|
|
50
|
-
|
|
51
|
-
struct SPicture {
|
|
52
|
-
/************************************payload data*********************************/
|
|
53
|
-
uint8_t* pBuffer[4]; // pointer to the first allocated byte, basical offset of buffer, dimension:
|
|
54
|
-
uint8_t* pData[4]; // pointer to picture planes respectively
|
|
55
|
-
int32_t iLinesize[4];// linesize of picture planes respectively used currently
|
|
56
|
-
int32_t iPlanes; // How many planes are introduced due to color space format?
|
|
57
|
-
// picture information
|
|
58
|
-
|
|
59
|
-
/*******************************from EC mv copy****************************/
|
|
60
|
-
bool bIdrFlag;
|
|
61
|
-
|
|
62
|
-
/*******************************from other standard syntax****************************/
|
|
63
|
-
/*from sps*/
|
|
64
|
-
int32_t iWidthInPixel; // picture width in pixel
|
|
65
|
-
int32_t iHeightInPixel;// picture height in pixel
|
|
66
|
-
/*from slice header*/
|
|
67
|
-
int32_t iFramePoc; // frame POC
|
|
68
|
-
|
|
69
|
-
/*******************************sef_definition for misc use****************************/
|
|
70
|
-
bool bUsedAsRef; //for ref pic management
|
|
71
|
-
bool bIsLongRef; // long term reference frame flag //for ref pic management
|
|
72
|
-
int8_t iRefCount;
|
|
73
|
-
void (*pSetUnRef)(WelsDec::SPicture*);
|
|
74
|
-
|
|
75
|
-
bool bIsComplete; // indicate whether current picture is complete, not from EC
|
|
76
|
-
/*******************************for future use****************************/
|
|
77
|
-
uint8_t uiTemporalId;
|
|
78
|
-
uint8_t uiSpatialId;
|
|
79
|
-
uint8_t uiQualityId;
|
|
80
|
-
|
|
81
|
-
int32_t iFrameNum; // frame number //for ref pic management
|
|
82
|
-
int32_t iFrameWrapNum; // frame wrap number //for ref pic management
|
|
83
|
-
int32_t iLongTermFrameIdx; //id for long term ref pic
|
|
84
|
-
uint32_t uiLongTermPicNum; //long_term_pic_num
|
|
85
|
-
|
|
86
|
-
int32_t iSpsId; //against mosaic caused by cross-IDR interval reference.
|
|
87
|
-
int32_t iPpsId;
|
|
88
|
-
unsigned long long uiTimeStamp;
|
|
89
|
-
uint32_t uiDecodingTimeStamp; //represent relative decoding time stamps
|
|
90
|
-
int32_t iPicBuffIdx;
|
|
91
|
-
EWelsSliceType eSliceType;
|
|
92
|
-
bool bIsUngroupedMultiSlice; //multi-slice picture with each each slice group contains one slice.
|
|
93
|
-
bool bNewSeqBegin;
|
|
94
|
-
int32_t iMbEcedNum;
|
|
95
|
-
int32_t iMbEcedPropNum;
|
|
96
|
-
int32_t iMbNum;
|
|
97
|
-
|
|
98
|
-
bool* pMbCorrectlyDecodedFlag;
|
|
99
|
-
int8_t (*pNzc)[24];
|
|
100
|
-
uint32_t* pMbType; // mb type used for direct mode
|
|
101
|
-
int16_t (*pMv[LIST_A])[MB_BLOCK4x4_NUM][MV_A]; // used for direct mode
|
|
102
|
-
int8_t (*pRefIndex[LIST_A])[MB_BLOCK4x4_NUM]; //used for direct mode
|
|
103
|
-
struct SPicture* pRefPic[LIST_A][17]; //ref pictures used for direct mode
|
|
104
|
-
SWelsDecEvent* pReadyEvent; //MB line ready event
|
|
105
|
-
|
|
106
|
-
};// "Picture" declaration is comflict with Mac system
|
|
107
|
-
|
|
108
|
-
typedef struct SPicture* PPicture;
|
|
109
|
-
|
|
110
|
-
} // namespace WelsDec
|
|
111
|
-
|
|
112
|
-
#endif//WELS_PICTURE_H__
|
|
@@ -1,104 +0,0 @@
|
|
|
1
|
-
/*!
|
|
2
|
-
* \copy
|
|
3
|
-
* Copyright (c) 2009-2013, Cisco Systems
|
|
4
|
-
* All rights reserved.
|
|
5
|
-
*
|
|
6
|
-
* Redistribution and use in source and binary forms, with or without
|
|
7
|
-
* modification, are permitted provided that the following conditions
|
|
8
|
-
* are met:
|
|
9
|
-
*
|
|
10
|
-
* * Redistributions of source code must retain the above copyright
|
|
11
|
-
* notice, this list of conditions and the following disclaimer.
|
|
12
|
-
*
|
|
13
|
-
* * Redistributions in binary form must reproduce the above copyright
|
|
14
|
-
* notice, this list of conditions and the following disclaimer in
|
|
15
|
-
* the documentation and/or other materials provided with the
|
|
16
|
-
* distribution.
|
|
17
|
-
*
|
|
18
|
-
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
|
19
|
-
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
|
20
|
-
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
|
21
|
-
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
|
22
|
-
* COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
|
23
|
-
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
|
24
|
-
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
|
25
|
-
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
|
26
|
-
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
|
27
|
-
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
|
28
|
-
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
|
29
|
-
* POSSIBILITY OF SUCH DAMAGE.
|
|
30
|
-
*
|
|
31
|
-
*
|
|
32
|
-
* \file rec_mb.h
|
|
33
|
-
*
|
|
34
|
-
* \brief interfaces for all macroblock decoding process after mb syntax parsing and residual decoding with cavlc.
|
|
35
|
-
*
|
|
36
|
-
* \date 3/4/2009 Created
|
|
37
|
-
*
|
|
38
|
-
*************************************************************************************
|
|
39
|
-
*/
|
|
40
|
-
|
|
41
|
-
#ifndef WELS_REC_MB_H__
|
|
42
|
-
#define WELS_REC_MB_H__
|
|
43
|
-
|
|
44
|
-
#include "typedefs.h"
|
|
45
|
-
#include "wels_common_basis.h"
|
|
46
|
-
#include "error_code.h"
|
|
47
|
-
|
|
48
|
-
#include "decoder_context.h"
|
|
49
|
-
|
|
50
|
-
namespace WelsDec {
|
|
51
|
-
|
|
52
|
-
#define WELS_B_MB_REC_VERIFY(uiRet) do{ \
|
|
53
|
-
uint32_t uiRetTmp = (uint32_t)uiRet; \
|
|
54
|
-
if( uiRetTmp != ERR_NONE ) \
|
|
55
|
-
return uiRetTmp; \
|
|
56
|
-
}while(0)
|
|
57
|
-
|
|
58
|
-
typedef struct TagMCRefMember {
|
|
59
|
-
uint8_t* pDstY;
|
|
60
|
-
uint8_t* pDstU;
|
|
61
|
-
uint8_t* pDstV;
|
|
62
|
-
|
|
63
|
-
uint8_t* pSrcY;
|
|
64
|
-
uint8_t* pSrcU;
|
|
65
|
-
uint8_t* pSrcV;
|
|
66
|
-
|
|
67
|
-
int32_t iSrcLineLuma;
|
|
68
|
-
int32_t iSrcLineChroma;
|
|
69
|
-
|
|
70
|
-
int32_t iDstLineLuma;
|
|
71
|
-
int32_t iDstLineChroma;
|
|
72
|
-
|
|
73
|
-
int32_t iPicWidth;
|
|
74
|
-
int32_t iPicHeight;
|
|
75
|
-
} sMCRefMember;
|
|
76
|
-
|
|
77
|
-
void BaseMC (PWelsDecoderContext pCtx, sMCRefMember* pMCRefMem, const int32_t& listIdx, const int8_t& iRefIdx,
|
|
78
|
-
int32_t iXOffset, int32_t iYOffset, SMcFunc* pMCFunc,
|
|
79
|
-
int32_t iBlkWidth, int32_t iBlkHeight, int16_t iMVs[2]);
|
|
80
|
-
|
|
81
|
-
void WelsFillRecNeededMbInfo (PWelsDecoderContext pCtx, bool bOutput, PDqLayer pCurDqLayer);
|
|
82
|
-
|
|
83
|
-
int32_t RecI4x4Mb (int32_t iMBXY, PWelsDecoderContext pCtx, int16_t* pScoeffLevel, PDqLayer pDqLayer);
|
|
84
|
-
|
|
85
|
-
int32_t RecI4x4Luma (int32_t iMBXY, PWelsDecoderContext pCtx, int16_t* pScoeffLevel, PDqLayer pDqLayer);
|
|
86
|
-
|
|
87
|
-
int32_t RecI4x4Chroma (int32_t iMBXY, PWelsDecoderContext pCtx, int16_t* pScoeffLevel, PDqLayer pDqLayer);
|
|
88
|
-
|
|
89
|
-
int32_t RecI8x8Mb (int32_t iMbXy, PWelsDecoderContext pCtx, int16_t* pScoeffLevel, PDqLayer pDqLayer);
|
|
90
|
-
|
|
91
|
-
int32_t RecI8x8Luma (int32_t iMbXy, PWelsDecoderContext pCtx, int16_t* pScoeffLevel, PDqLayer pDqLayer);
|
|
92
|
-
|
|
93
|
-
int32_t RecI16x16Mb (int32_t iMBXY, PWelsDecoderContext pCtx, int16_t* pScoeffLevel, PDqLayer pDqLayer);
|
|
94
|
-
|
|
95
|
-
int32_t RecChroma (int32_t iMBXY, PWelsDecoderContext pCtx, int16_t* pScoeffLevel, PDqLayer pDqLayer);
|
|
96
|
-
|
|
97
|
-
int32_t GetInterPred (uint8_t* pPredY, uint8_t* pPredCb, uint8_t* pPredCr, PWelsDecoderContext pCtx);
|
|
98
|
-
|
|
99
|
-
int32_t GetInterBPred (uint8_t* pPredYCbCr[3], uint8_t* pTempPredYCbCr[3], PWelsDecoderContext pCtx);
|
|
100
|
-
|
|
101
|
-
} // namespace WelsDec
|
|
102
|
-
|
|
103
|
-
#endif //WELS_REC_MB_H__
|
|
104
|
-
|
|
@@ -1,208 +0,0 @@
|
|
|
1
|
-
/*!
|
|
2
|
-
* \copy
|
|
3
|
-
* Copyright (c) 2013, Cisco Systems
|
|
4
|
-
* All rights reserved.
|
|
5
|
-
*
|
|
6
|
-
* Redistribution and use in source and binary forms, with or without
|
|
7
|
-
* modification, are permitted provided that the following conditions
|
|
8
|
-
* are met:
|
|
9
|
-
*
|
|
10
|
-
* * Redistributions of source code must retain the above copyright
|
|
11
|
-
* notice, this list of conditions and the following disclaimer.
|
|
12
|
-
*
|
|
13
|
-
* * Redistributions in binary form must reproduce the above copyright
|
|
14
|
-
* notice, this list of conditions and the following disclaimer in
|
|
15
|
-
* the documentation and/or other materials provided with the
|
|
16
|
-
* distribution.
|
|
17
|
-
*
|
|
18
|
-
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
|
19
|
-
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
|
20
|
-
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
|
21
|
-
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
|
22
|
-
* COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
|
23
|
-
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
|
24
|
-
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
|
25
|
-
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
|
26
|
-
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
|
27
|
-
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
|
28
|
-
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
|
29
|
-
* POSSIBILITY OF SUCH DAMAGE.
|
|
30
|
-
*
|
|
31
|
-
*/
|
|
32
|
-
|
|
33
|
-
//wels_slice.h
|
|
34
|
-
#ifndef WELS_SLICE_H__
|
|
35
|
-
#define WELS_SLICE_H__
|
|
36
|
-
|
|
37
|
-
#include "typedefs.h"
|
|
38
|
-
#include "wels_const.h"
|
|
39
|
-
#include "wels_common_basis.h"
|
|
40
|
-
#include "picture.h"
|
|
41
|
-
#include "parameter_sets.h"
|
|
42
|
-
|
|
43
|
-
namespace WelsDec {
|
|
44
|
-
|
|
45
|
-
/*
|
|
46
|
-
* Reference picture list reordering syntax, refer to page 64 in JVT X201wcm
|
|
47
|
-
*/
|
|
48
|
-
typedef struct TagRefPicListReorderSyntax {
|
|
49
|
-
struct {
|
|
50
|
-
uint32_t uiAbsDiffPicNumMinus1;
|
|
51
|
-
uint16_t uiLongTermPicNum;
|
|
52
|
-
uint16_t uiReorderingOfPicNumsIdc;
|
|
53
|
-
} sReorderingSyn[LIST_A][MAX_REF_PIC_COUNT + 1];
|
|
54
|
-
bool bRefPicListReorderingFlag[LIST_A];
|
|
55
|
-
} SRefPicListReorderSyn, *PRefPicListReorderSyn;
|
|
56
|
-
|
|
57
|
-
/*
|
|
58
|
-
* Prediction weight table syntax, refer to page 65 in JVT X201wcm
|
|
59
|
-
*/
|
|
60
|
-
typedef struct TagPredWeightTabSyntax {
|
|
61
|
-
uint32_t uiLumaLog2WeightDenom;
|
|
62
|
-
uint32_t uiChromaLog2WeightDenom;
|
|
63
|
-
struct {
|
|
64
|
-
int32_t iLumaWeight[MAX_REF_PIC_COUNT];
|
|
65
|
-
int32_t iLumaOffset[MAX_REF_PIC_COUNT];
|
|
66
|
-
int32_t iChromaWeight[MAX_REF_PIC_COUNT][2];
|
|
67
|
-
int32_t iChromaOffset[MAX_REF_PIC_COUNT][2];
|
|
68
|
-
bool bLumaWeightFlag;
|
|
69
|
-
bool bChromaWeightFlag;
|
|
70
|
-
} sPredList[LIST_A];
|
|
71
|
-
int32_t iImplicitWeight[MAX_REF_PIC_COUNT][MAX_REF_PIC_COUNT];
|
|
72
|
-
} SPredWeightTabSyn, *PPredWeightTabSyn;
|
|
73
|
-
|
|
74
|
-
/* Decoded reference picture marking syntax, refer to Page 66 in JVT X201wcm */
|
|
75
|
-
typedef struct TagRefPicMarking {
|
|
76
|
-
struct {
|
|
77
|
-
uint32_t uiMmcoType;
|
|
78
|
-
int32_t iShortFrameNum;
|
|
79
|
-
int32_t iDiffOfPicNum;
|
|
80
|
-
uint32_t uiLongTermPicNum;
|
|
81
|
-
int32_t iLongTermFrameIdx;
|
|
82
|
-
int32_t iMaxLongTermFrameIdx;
|
|
83
|
-
} sMmcoRef[MAX_MMCO_COUNT];
|
|
84
|
-
|
|
85
|
-
bool bNoOutputOfPriorPicsFlag;
|
|
86
|
-
bool bLongTermRefFlag;
|
|
87
|
-
bool bAdaptiveRefPicMarkingModeFlag;
|
|
88
|
-
} SRefPicMarking, *PRefPicMarking;
|
|
89
|
-
|
|
90
|
-
/* Decode reference base picture marking syntax in Page 396 of JVT X201wcm */
|
|
91
|
-
typedef struct TagRefBasePicMarkingSyn {
|
|
92
|
-
struct {
|
|
93
|
-
uint32_t uiMmcoType;
|
|
94
|
-
int32_t iShortFrameNum;
|
|
95
|
-
uint32_t uiDiffOfPicNums;
|
|
96
|
-
uint32_t uiLongTermPicNum; //should uint32_t, cover larger range of iFrameNum.
|
|
97
|
-
} mmco_base[MAX_MMCO_COUNT]; // MAX_REF_PIC for reference picture based on frame
|
|
98
|
-
|
|
99
|
-
bool bAdaptiveRefBasePicMarkingModeFlag;
|
|
100
|
-
} SRefBasePicMarking, *PRefBasePicMarking;
|
|
101
|
-
|
|
102
|
-
/* Header of slice syntax elements, refer to Page 63 in JVT X201wcm */
|
|
103
|
-
typedef struct TagSliceHeaders {
|
|
104
|
-
/*****************************slice header syntax and generated****************************/
|
|
105
|
-
int32_t iFirstMbInSlice;
|
|
106
|
-
int32_t iFrameNum;
|
|
107
|
-
int32_t iPicOrderCntLsb;
|
|
108
|
-
int32_t iDeltaPicOrderCntBottom;
|
|
109
|
-
int32_t iDeltaPicOrderCnt[2];
|
|
110
|
-
int32_t iRedundantPicCnt;
|
|
111
|
-
int32_t iDirectSpatialMvPredFlag; //!< Direct Mode type to be used (0: Temporal, 1: Spatial)
|
|
112
|
-
int32_t uiRefCount[LIST_A];
|
|
113
|
-
int32_t iSliceQpDelta; //no use for iSliceQp is used directly
|
|
114
|
-
int32_t iSliceQp;
|
|
115
|
-
int32_t iSliceQsDelta; // For SP/SI slices
|
|
116
|
-
uint32_t uiDisableDeblockingFilterIdc;
|
|
117
|
-
int32_t iSliceAlphaC0Offset;
|
|
118
|
-
int32_t iSliceBetaOffset;
|
|
119
|
-
int32_t iSliceGroupChangeCycle;
|
|
120
|
-
|
|
121
|
-
PSps pSps;
|
|
122
|
-
PPps pPps;
|
|
123
|
-
int32_t iSpsId;
|
|
124
|
-
int32_t iPpsId;
|
|
125
|
-
bool bIdrFlag;
|
|
126
|
-
|
|
127
|
-
/*********************got from other layer for efficency if possible*********************/
|
|
128
|
-
SRefPicListReorderSyn pRefPicListReordering; // Reference picture list reordering syntaxs
|
|
129
|
-
SPredWeightTabSyn sPredWeightTable;
|
|
130
|
-
int32_t iCabacInitIdc;
|
|
131
|
-
int32_t iMbWidth; //from?
|
|
132
|
-
int32_t iMbHeight; //from?
|
|
133
|
-
SRefPicMarking sRefMarking; // Decoded reference picture marking syntaxs
|
|
134
|
-
|
|
135
|
-
uint16_t uiIdrPicId;
|
|
136
|
-
EWelsSliceType eSliceType;
|
|
137
|
-
bool bNumRefIdxActiveOverrideFlag;
|
|
138
|
-
bool bFieldPicFlag; //not supported in base profile
|
|
139
|
-
bool bBottomFiledFlag; //not supported in base profile
|
|
140
|
-
uint8_t uiPadding1Byte;
|
|
141
|
-
bool bSpForSwitchFlag; // For SP/SI slices
|
|
142
|
-
int16_t iPadding2Bytes;
|
|
143
|
-
} SSliceHeader, *PSliceHeader;
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
/* Slice header in scalable extension syntax, refer to Page 394 in JVT X201wcm */
|
|
147
|
-
typedef struct TagSliceHeaderExt {
|
|
148
|
-
SSliceHeader sSliceHeader;
|
|
149
|
-
PSubsetSps pSubsetSps;
|
|
150
|
-
|
|
151
|
-
uint32_t uiDisableInterLayerDeblockingFilterIdc;
|
|
152
|
-
int32_t iInterLayerSliceAlphaC0Offset;
|
|
153
|
-
int32_t iInterLayerSliceBetaOffset;
|
|
154
|
-
|
|
155
|
-
//SPosOffset sScaledRefLayer;
|
|
156
|
-
int32_t iScaledRefLayerPicWidthInSampleLuma;
|
|
157
|
-
int32_t iScaledRefLayerPicHeightInSampleLuma;
|
|
158
|
-
|
|
159
|
-
SRefBasePicMarking sRefBasePicMarking;
|
|
160
|
-
bool bBasePredWeightTableFlag;
|
|
161
|
-
bool bStoreRefBasePicFlag;
|
|
162
|
-
bool bConstrainedIntraResamplingFlag;
|
|
163
|
-
bool bSliceSkipFlag;
|
|
164
|
-
|
|
165
|
-
bool bAdaptiveBaseModeFlag;
|
|
166
|
-
bool bDefaultBaseModeFlag;
|
|
167
|
-
bool bAdaptiveMotionPredFlag;
|
|
168
|
-
bool bDefaultMotionPredFlag;
|
|
169
|
-
bool bAdaptiveResidualPredFlag;
|
|
170
|
-
bool bDefaultResidualPredFlag;
|
|
171
|
-
bool bTCoeffLevelPredFlag;
|
|
172
|
-
uint8_t uiRefLayerChromaPhaseXPlus1Flag;
|
|
173
|
-
|
|
174
|
-
uint8_t uiRefLayerChromaPhaseYPlus1;
|
|
175
|
-
uint8_t uiRefLayerDqId;
|
|
176
|
-
uint8_t uiScanIdxStart;
|
|
177
|
-
uint8_t uiScanIdxEnd;
|
|
178
|
-
} SSliceHeaderExt, *PSliceHeaderExt;
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
typedef struct TagSlice {
|
|
182
|
-
/*******************************slice_header****************************/
|
|
183
|
-
SSliceHeaderExt sSliceHeaderExt;
|
|
184
|
-
|
|
185
|
-
/*******************************use for future****************************/
|
|
186
|
-
// for Macroblock coding within slice
|
|
187
|
-
int32_t iLastMbQp; // stored qp for last mb coded, maybe more efficient for mb skip detection etc.
|
|
188
|
-
|
|
189
|
-
/*******************************slice_data****************************/
|
|
190
|
-
/*slice_data_ext()*/
|
|
191
|
-
int32_t iMbSkipRun;
|
|
192
|
-
int32_t iTotalMbInCurSlice; //record the total number of MB in current slice.
|
|
193
|
-
|
|
194
|
-
/*slice_data_ext() generate*/
|
|
195
|
-
|
|
196
|
-
/*******************************misc use****************************/
|
|
197
|
-
bool bSliceHeaderExtFlag; // Indicate which slice header is used, avc or ext?
|
|
198
|
-
/*************got from other layer for effiency if possible***************/
|
|
199
|
-
/*from lower layer: slice header*/
|
|
200
|
-
uint8_t eSliceType;
|
|
201
|
-
uint8_t uiPadding[2];
|
|
202
|
-
int32_t iLastDeltaQp;
|
|
203
|
-
int16_t iMvScale[LIST_A][MAX_DPB_COUNT]; //Moton vector scale For Temporal Direct Mode Type
|
|
204
|
-
} SSlice, *PSlice;
|
|
205
|
-
|
|
206
|
-
} // namespace WelsDec
|
|
207
|
-
|
|
208
|
-
#endif//WELS_SLICE_H__
|
|
@@ -1,177 +0,0 @@
|
|
|
1
|
-
/*!
|
|
2
|
-
* \copy
|
|
3
|
-
* Copyright (c) 2013, Cisco Systems
|
|
4
|
-
* All rights reserved.
|
|
5
|
-
*
|
|
6
|
-
* Redistribution and use in source and binary forms, with or without
|
|
7
|
-
* modification, are permitted provided that the following conditions
|
|
8
|
-
* are met:
|
|
9
|
-
*
|
|
10
|
-
* * Redistributions of source code must retain the above copyright
|
|
11
|
-
* notice, this list of conditions and the following disclaimer.
|
|
12
|
-
*
|
|
13
|
-
* * Redistributions in binary form must reproduce the above copyright
|
|
14
|
-
* notice, this list of conditions and the following disclaimer in
|
|
15
|
-
* the documentation and/or other materials provided with the
|
|
16
|
-
* distribution.
|
|
17
|
-
*
|
|
18
|
-
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
|
19
|
-
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
|
20
|
-
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
|
21
|
-
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
|
22
|
-
* COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
|
23
|
-
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
|
24
|
-
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
|
25
|
-
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
|
26
|
-
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
|
27
|
-
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
|
28
|
-
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
|
29
|
-
* POSSIBILITY OF SUCH DAMAGE.
|
|
30
|
-
*
|
|
31
|
-
*/
|
|
32
|
-
|
|
33
|
-
#ifndef WELS_VLC_DECODER_H__
|
|
34
|
-
#define WELS_VLC_DECODER_H__
|
|
35
|
-
|
|
36
|
-
#include "bit_stream.h"
|
|
37
|
-
#include "dec_golomb.h"
|
|
38
|
-
|
|
39
|
-
namespace WelsDec {
|
|
40
|
-
|
|
41
|
-
typedef struct TagVlcTable {
|
|
42
|
-
const uint8_t (*kpCoeffTokenVlcTable[4][8])[2];
|
|
43
|
-
const uint8_t (*kpChromaCoeffTokenVlcTable)[2];
|
|
44
|
-
const uint8_t (*kpZeroTable[7])[2];
|
|
45
|
-
const uint8_t (*kpTotalZerosTable[2][15])[2];
|
|
46
|
-
} SVlcTable;
|
|
47
|
-
|
|
48
|
-
// for data sharing cross modules and try to reduce size of binary generated
|
|
49
|
-
extern const uint8_t g_kuiVlcChromaTable[256][2];
|
|
50
|
-
extern const uint8_t g_kuiVlcTable_0[256][2];
|
|
51
|
-
extern const uint8_t g_kuiVlcTable_0_0[256][2];
|
|
52
|
-
extern const uint8_t g_kuiVlcTable_0_1[4][2];
|
|
53
|
-
extern const uint8_t g_kuiVlcTable_0_2[2][2];
|
|
54
|
-
extern const uint8_t g_kuiVlcTable_0_3[2][2];
|
|
55
|
-
extern const uint8_t g_kuiVlcTable_1[256][2];
|
|
56
|
-
extern const uint8_t g_kuiVlcTable_1_0[64][2];
|
|
57
|
-
extern const uint8_t g_kuiVlcTable_1_1[8][2];
|
|
58
|
-
extern const uint8_t g_kuiVlcTable_1_2[2][2];
|
|
59
|
-
extern const uint8_t g_kuiVlcTable_1_3[2][2];
|
|
60
|
-
extern const uint8_t g_kuiVlcTable_2[256][2];
|
|
61
|
-
extern const uint8_t g_kuiVlcTable_2_0[4][2];
|
|
62
|
-
extern const uint8_t g_kuiVlcTable_2_1[4][2];
|
|
63
|
-
extern const uint8_t g_kuiVlcTable_2_2[4][2];
|
|
64
|
-
extern const uint8_t g_kuiVlcTable_2_3[4][2];
|
|
65
|
-
extern const uint8_t g_kuiVlcTable_2_4[2][2];
|
|
66
|
-
extern const uint8_t g_kuiVlcTable_2_5[2][2];
|
|
67
|
-
extern const uint8_t g_kuiVlcTable_2_6[2][2];
|
|
68
|
-
extern const uint8_t g_kuiVlcTable_2_7[2][2];
|
|
69
|
-
extern const uint8_t g_kuiVlcTable_3[64][2];
|
|
70
|
-
extern const uint8_t g_kuiVlcTableNeedMoreBitsThread[3];
|
|
71
|
-
extern const uint8_t g_kuiVlcTableMoreBitsCount0[4];
|
|
72
|
-
extern const uint8_t g_kuiVlcTableMoreBitsCount1[4];
|
|
73
|
-
extern const uint8_t g_kuiVlcTableMoreBitsCount2[8];
|
|
74
|
-
extern const uint8_t g_kuiNcMapTable[17];
|
|
75
|
-
extern const uint8_t g_kuiVlcTrailingOneTotalCoeffTable[62][2];
|
|
76
|
-
extern const uint8_t g_kuiTotalZerosTable0[512][2];
|
|
77
|
-
extern const uint8_t g_kuiTotalZerosTable1[64][2];
|
|
78
|
-
extern const uint8_t g_kuiTotalZerosTable2[64][2];
|
|
79
|
-
extern const uint8_t g_kuiTotalZerosTable3[32][2];
|
|
80
|
-
extern const uint8_t g_kuiTotalZerosTable4[32][2];
|
|
81
|
-
extern const uint8_t g_kuiTotalZerosTable5[64][2];
|
|
82
|
-
extern const uint8_t g_kuiTotalZerosTable6[64][2];
|
|
83
|
-
extern const uint8_t g_kuiTotalZerosTable7[64][2];
|
|
84
|
-
extern const uint8_t g_kuiTotalZerosTable8[64][2];
|
|
85
|
-
extern const uint8_t g_kuiTotalZerosTable9[32][2];
|
|
86
|
-
extern const uint8_t g_kuiTotalZerosTable10[16][2];
|
|
87
|
-
extern const uint8_t g_kuiTotalZerosTable11[16][2];
|
|
88
|
-
extern const uint8_t g_kuiTotalZerosTable12[8][2];
|
|
89
|
-
extern const uint8_t g_kuiTotalZerosTable13[4][2];
|
|
90
|
-
extern const uint8_t g_kuiTotalZerosTable14[2][2];
|
|
91
|
-
extern const uint8_t g_kuiTotalZerosBitNumMap[15];
|
|
92
|
-
extern const uint8_t g_kuiTotalZerosChromaTable0[8][2];
|
|
93
|
-
extern const uint8_t g_kuiTotalZerosChromaTable1[4][2];
|
|
94
|
-
extern const uint8_t g_kuiTotalZerosChromaTable2[2][2];
|
|
95
|
-
extern const uint8_t g_kuiTotalZerosBitNumChromaMap[3];
|
|
96
|
-
extern const uint8_t g_kuiZeroLeftTable0[2][2];
|
|
97
|
-
extern const uint8_t g_kuiZeroLeftTable1[4][2];
|
|
98
|
-
extern const uint8_t g_kuiZeroLeftTable2[4][2];
|
|
99
|
-
extern const uint8_t g_kuiZeroLeftTable3[8][2];
|
|
100
|
-
extern const uint8_t g_kuiZeroLeftTable4[8][2];
|
|
101
|
-
extern const uint8_t g_kuiZeroLeftTable5[8][2];
|
|
102
|
-
extern const uint8_t g_kuiZeroLeftTable6[8][2];
|
|
103
|
-
extern const uint8_t g_kuiZeroLeftBitNumMap[16];
|
|
104
|
-
|
|
105
|
-
#if defined(_MSC_VER) && defined(_M_IX86)
|
|
106
|
-
//TODO need linux version
|
|
107
|
-
#define WELS_GET_PREFIX_BITS(inval,outval){\
|
|
108
|
-
uint32_t local = inval;\
|
|
109
|
-
__asm xor eax, eax\
|
|
110
|
-
__asm bsr eax, local\
|
|
111
|
-
__asm sub eax, 32\
|
|
112
|
-
__asm neg eax\
|
|
113
|
-
__asm mov outval, eax\
|
|
114
|
-
}
|
|
115
|
-
#else
|
|
116
|
-
#define WELS_GET_PREFIX_BITS(inval, outval) outval = GetPrefixBits(inval)
|
|
117
|
-
#endif
|
|
118
|
-
|
|
119
|
-
static inline void InitVlcTable (SVlcTable* pVlcTable) {
|
|
120
|
-
pVlcTable->kpChromaCoeffTokenVlcTable = g_kuiVlcChromaTable;
|
|
121
|
-
|
|
122
|
-
pVlcTable->kpCoeffTokenVlcTable[0][0] = g_kuiVlcTable_0;
|
|
123
|
-
pVlcTable->kpCoeffTokenVlcTable[0][1] = g_kuiVlcTable_1;
|
|
124
|
-
pVlcTable->kpCoeffTokenVlcTable[0][2] = g_kuiVlcTable_2;
|
|
125
|
-
pVlcTable->kpCoeffTokenVlcTable[0][3] = g_kuiVlcTable_3;
|
|
126
|
-
|
|
127
|
-
pVlcTable->kpCoeffTokenVlcTable[1][0] = g_kuiVlcTable_0_0;
|
|
128
|
-
pVlcTable->kpCoeffTokenVlcTable[1][1] = g_kuiVlcTable_0_1;
|
|
129
|
-
pVlcTable->kpCoeffTokenVlcTable[1][2] = g_kuiVlcTable_0_2;
|
|
130
|
-
pVlcTable->kpCoeffTokenVlcTable[1][3] = g_kuiVlcTable_0_3;
|
|
131
|
-
|
|
132
|
-
pVlcTable->kpCoeffTokenVlcTable[2][0] = g_kuiVlcTable_1_0;
|
|
133
|
-
pVlcTable->kpCoeffTokenVlcTable[2][1] = g_kuiVlcTable_1_1;
|
|
134
|
-
pVlcTable->kpCoeffTokenVlcTable[2][2] = g_kuiVlcTable_1_2;
|
|
135
|
-
pVlcTable->kpCoeffTokenVlcTable[2][3] = g_kuiVlcTable_1_3;
|
|
136
|
-
|
|
137
|
-
pVlcTable->kpCoeffTokenVlcTable[3][0] = g_kuiVlcTable_2_0;
|
|
138
|
-
pVlcTable->kpCoeffTokenVlcTable[3][1] = g_kuiVlcTable_2_1;
|
|
139
|
-
pVlcTable->kpCoeffTokenVlcTable[3][2] = g_kuiVlcTable_2_2;
|
|
140
|
-
pVlcTable->kpCoeffTokenVlcTable[3][3] = g_kuiVlcTable_2_3;
|
|
141
|
-
pVlcTable->kpCoeffTokenVlcTable[3][4] = g_kuiVlcTable_2_4;
|
|
142
|
-
pVlcTable->kpCoeffTokenVlcTable[3][5] = g_kuiVlcTable_2_5;
|
|
143
|
-
pVlcTable->kpCoeffTokenVlcTable[3][6] = g_kuiVlcTable_2_6;
|
|
144
|
-
pVlcTable->kpCoeffTokenVlcTable[3][7] = g_kuiVlcTable_2_7;
|
|
145
|
-
|
|
146
|
-
pVlcTable->kpZeroTable[0] = g_kuiZeroLeftTable0;
|
|
147
|
-
pVlcTable->kpZeroTable[1] = g_kuiZeroLeftTable1;
|
|
148
|
-
pVlcTable->kpZeroTable[2] = g_kuiZeroLeftTable2;
|
|
149
|
-
pVlcTable->kpZeroTable[3] = g_kuiZeroLeftTable3;
|
|
150
|
-
pVlcTable->kpZeroTable[4] = g_kuiZeroLeftTable4;
|
|
151
|
-
pVlcTable->kpZeroTable[5] = g_kuiZeroLeftTable5;
|
|
152
|
-
pVlcTable->kpZeroTable[6] = g_kuiZeroLeftTable6;
|
|
153
|
-
|
|
154
|
-
pVlcTable->kpTotalZerosTable[0][0] = g_kuiTotalZerosTable0;
|
|
155
|
-
pVlcTable->kpTotalZerosTable[0][1] = g_kuiTotalZerosTable1;
|
|
156
|
-
pVlcTable->kpTotalZerosTable[0][2] = g_kuiTotalZerosTable2;
|
|
157
|
-
pVlcTable->kpTotalZerosTable[0][3] = g_kuiTotalZerosTable3;
|
|
158
|
-
pVlcTable->kpTotalZerosTable[0][4] = g_kuiTotalZerosTable4;
|
|
159
|
-
pVlcTable->kpTotalZerosTable[0][5] = g_kuiTotalZerosTable5;
|
|
160
|
-
pVlcTable->kpTotalZerosTable[0][6] = g_kuiTotalZerosTable6;
|
|
161
|
-
pVlcTable->kpTotalZerosTable[0][7] = g_kuiTotalZerosTable7;
|
|
162
|
-
pVlcTable->kpTotalZerosTable[0][8] = g_kuiTotalZerosTable8;
|
|
163
|
-
pVlcTable->kpTotalZerosTable[0][9] = g_kuiTotalZerosTable9;
|
|
164
|
-
pVlcTable->kpTotalZerosTable[0][10] = g_kuiTotalZerosTable10;
|
|
165
|
-
pVlcTable->kpTotalZerosTable[0][11] = g_kuiTotalZerosTable11;
|
|
166
|
-
pVlcTable->kpTotalZerosTable[0][12] = g_kuiTotalZerosTable12;
|
|
167
|
-
pVlcTable->kpTotalZerosTable[0][13] = g_kuiTotalZerosTable13;
|
|
168
|
-
pVlcTable->kpTotalZerosTable[0][14] = g_kuiTotalZerosTable14;
|
|
169
|
-
pVlcTable->kpTotalZerosTable[1][0] = g_kuiTotalZerosChromaTable0;
|
|
170
|
-
pVlcTable->kpTotalZerosTable[1][1] = g_kuiTotalZerosChromaTable1;
|
|
171
|
-
pVlcTable->kpTotalZerosTable[1][2] = g_kuiTotalZerosChromaTable2;
|
|
172
|
-
|
|
173
|
-
}
|
|
174
|
-
|
|
175
|
-
} // namespace WelsDec
|
|
176
|
-
|
|
177
|
-
#endif//WELS_VLC_DECODER_H__
|