@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,160 +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_common_basis.h
|
|
34
|
-
#ifndef WELS_COMMON_BASIS_H__
|
|
35
|
-
#define WELS_COMMON_BASIS_H__
|
|
36
|
-
|
|
37
|
-
#include "typedefs.h"
|
|
38
|
-
#include "macros.h"
|
|
39
|
-
|
|
40
|
-
#include "wels_const.h"
|
|
41
|
-
|
|
42
|
-
#include "wels_common_defs.h"
|
|
43
|
-
|
|
44
|
-
using namespace WelsCommon;
|
|
45
|
-
|
|
46
|
-
namespace WelsEnc {
|
|
47
|
-
|
|
48
|
-
typedef int32_t WelsErrorType;
|
|
49
|
-
|
|
50
|
-
struct SMVUnitXY { // each 4 Bytes
|
|
51
|
-
int16_t iMvX;
|
|
52
|
-
int16_t iMvY;
|
|
53
|
-
public:
|
|
54
|
-
SMVUnitXY& sDeltaMv (const SMVUnitXY& _v0, const SMVUnitXY& _v1) {
|
|
55
|
-
iMvX = _v0.iMvX - _v1.iMvX;
|
|
56
|
-
iMvY = _v0.iMvY - _v1.iMvY;
|
|
57
|
-
return (*this);
|
|
58
|
-
};
|
|
59
|
-
SMVUnitXY& sAssignMv (const SMVUnitXY& _v0) {
|
|
60
|
-
iMvX = _v0.iMvX;
|
|
61
|
-
iMvY = _v0.iMvY;
|
|
62
|
-
return (*this);
|
|
63
|
-
};
|
|
64
|
-
};
|
|
65
|
-
|
|
66
|
-
typedef struct TagMVComponentUnit { // each LIST_0/LIST_1
|
|
67
|
-
SMVUnitXY sMotionVectorCache[5 * 6 - 1]; // Luma only: 5 x 6 - 1 = 29 D-Words
|
|
68
|
-
int8_t iRefIndexCache[5 * 6]; // Luma only: 5 x 6 = 30 bytes
|
|
69
|
-
} SMVComponentUnit, *PMVComponentUnit;
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
typedef struct TagParaSetOffsetVariable {
|
|
73
|
-
int32_t iParaSetIdDelta[MAX_DQ_LAYER_NUM/*+1*/];//mark delta between SPS_ID_in_bs and sps_id_in_encoder, can be minus, for each dq-layer
|
|
74
|
-
//need not extra +1 due no MGS and FMO case so far
|
|
75
|
-
bool bUsedParaSetIdInBs[MAX_PPS_COUNT]; //mark the used SPS_ID with 1
|
|
76
|
-
uint32_t uiNextParaSetIdToUseInBs; //mark the next SPS_ID_in_bs, for all layers
|
|
77
|
-
} SParaSetOffsetVariable;
|
|
78
|
-
|
|
79
|
-
typedef struct TagParaSetOffset {
|
|
80
|
-
//in PS0 design, "sParaSetOffsetVariable" record the previous paras before current IDR, AND NEED to be stacked and recover across IDR
|
|
81
|
-
SParaSetOffsetVariable
|
|
82
|
-
sParaSetOffsetVariable[PARA_SET_TYPE]; //PARA_SET_TYPE=3; paraset_type = 0: AVC_SPS; =1: Subset_SPS; =2: PPS
|
|
83
|
-
//in PSO design, "bPpsIdMappingIntoSubsetsps" uses the current para of current IDR period
|
|
84
|
-
bool
|
|
85
|
-
bPpsIdMappingIntoSubsetsps[MAX_DQ_LAYER_NUM/*+1*/]; // need not extra +1 due no MGS and FMO case so far
|
|
86
|
-
|
|
87
|
-
int32_t iPpsIdList[MAX_DQ_LAYER_NUM][MAX_PPS_COUNT]; //index0: max pps types; index1: for differnt IDRs, if only index0=1, index1 can reach MAX_PPS_COUNT
|
|
88
|
-
|
|
89
|
-
#if _DEBUG
|
|
90
|
-
int32_t eSpsPpsIdStrategy;
|
|
91
|
-
#endif
|
|
92
|
-
|
|
93
|
-
uint32_t uiNeededSpsNum;
|
|
94
|
-
uint32_t uiNeededSubsetSpsNum;
|
|
95
|
-
uint32_t uiNeededPpsNum;
|
|
96
|
-
|
|
97
|
-
uint32_t uiInUseSpsNum;
|
|
98
|
-
uint32_t uiInUseSubsetSpsNum;
|
|
99
|
-
uint32_t uiInUsePpsNum;
|
|
100
|
-
} SParaSetOffset;
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
/* Position Offset structure */
|
|
105
|
-
typedef struct TagCropOffset {
|
|
106
|
-
int16_t iCropLeft;
|
|
107
|
-
int16_t iCropRight;
|
|
108
|
-
int16_t iCropTop;
|
|
109
|
-
int16_t iCropBottom;
|
|
110
|
-
} SCropOffset;
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
/* Transform Type */
|
|
114
|
-
|
|
115
|
-
enum ETransType {
|
|
116
|
-
T_4x4 = 0,
|
|
117
|
-
T_8x8 = 1,
|
|
118
|
-
T_16x16 = 2,
|
|
119
|
-
T_PCM = 3
|
|
120
|
-
};
|
|
121
|
-
|
|
122
|
-
enum EMbPosition {
|
|
123
|
-
LEFT_MB_POS = 0x01, // A
|
|
124
|
-
TOP_MB_POS = 0x02, // B
|
|
125
|
-
TOPRIGHT_MB_POS = 0x04, // C
|
|
126
|
-
TOPLEFT_MB_POS = 0x08, // D,
|
|
127
|
-
RIGHT_MB_POS = 0x10, // add followed four case to reuse when intra up-sample
|
|
128
|
-
BOTTOM_MB_POS = 0x20, //
|
|
129
|
-
BOTTOMRIGHT_MB_POS = 0x40, //
|
|
130
|
-
BOTTOMLEFT_MB_POS = 0x80, //
|
|
131
|
-
MB_POS_A = 0x100
|
|
132
|
-
};
|
|
133
|
-
|
|
134
|
-
/* MB Type & Sub-MB Type */
|
|
135
|
-
typedef uint32_t Mb_Type;
|
|
136
|
-
|
|
137
|
-
#define MB_LEFT_BIT 0// add to use in intra up-sample
|
|
138
|
-
#define MB_TOP_BIT 1
|
|
139
|
-
#define MB_TOPRIGHT_BIT 2
|
|
140
|
-
#define MB_TOPLEFT_BIT 3
|
|
141
|
-
#define MB_RIGHT_BIT 4
|
|
142
|
-
#define MB_BOTTOM_BIT 5
|
|
143
|
-
#define MB_BTMRIGHT_BIT 6
|
|
144
|
-
#define MB_BTMLEFT_BIT 7
|
|
145
|
-
|
|
146
|
-
#define MB_TYPE_BACKGROUND 0x00010000 // conditional BG skip_mb
|
|
147
|
-
|
|
148
|
-
enum {
|
|
149
|
-
Intra4x4 = 0,
|
|
150
|
-
Intra16x16 = 1,
|
|
151
|
-
Inter16x16 = 2,
|
|
152
|
-
Inter16x8 = 3,
|
|
153
|
-
Inter8x16 = 4,
|
|
154
|
-
Inter8x8 = 5,
|
|
155
|
-
PSkip = 6
|
|
156
|
-
};
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
}
|
|
160
|
-
#endif//WELS_COMMON_BASIS_H__
|
|
@@ -1,174 +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_const.h
|
|
34
|
-
#ifndef WELS_CONST_H__
|
|
35
|
-
#define WELS_CONST_H__
|
|
36
|
-
|
|
37
|
-
#include "as264_common.h" // to communicate with specific macros there, 3/18/2010
|
|
38
|
-
#include "codec_app_def.h"
|
|
39
|
-
#include "wels_const_common.h"
|
|
40
|
-
|
|
41
|
-
/* To control number of spatial, quality and temporal layers constraint by application layer? */
|
|
42
|
-
#define NUM_SPATIAL_LAYERS_CONSTRAINT
|
|
43
|
-
#define NUM_QUALITY_LAYERS_CONSTRAINT
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
#define STATISTICS_LOG_INTERVAL_MS (5000) // output statistics log every 5s
|
|
47
|
-
|
|
48
|
-
#define INTRA_4x4_MODE_NUM 8
|
|
49
|
-
#define MB_LUMA_CHROMA_BLOCK4x4_NUM 24
|
|
50
|
-
|
|
51
|
-
#define MAX_PPS_COUNT_LIMITED 57// limit the max ID of PPS because of known limitation of receiver endpoints
|
|
52
|
-
#define MAX_PPS_COUNT (MAX_PPS_COUNT_LIMITED)//in Standard is 256 // Count number of PPS
|
|
53
|
-
|
|
54
|
-
#define PARA_SET_TYPE 3 // SPS+PPS
|
|
55
|
-
#define PARA_SET_TYPE_AVCSPS 0
|
|
56
|
-
#define PARA_SET_TYPE_SUBSETSPS 1
|
|
57
|
-
#define PARA_SET_TYPE_PPS 2
|
|
58
|
-
|
|
59
|
-
#define MAX_VERTICAL_MV_RANGE 1024 //TODO, for allocate enough memory for transpose
|
|
60
|
-
#define MAX_FRAME_RATE 60 // maximal frame rate to support
|
|
61
|
-
#define MIN_FRAME_RATE 1 // minimal frame rate need support
|
|
62
|
-
|
|
63
|
-
#define MAX_BIT_RATE INT_MAX // maximal bit rate to support
|
|
64
|
-
//TODO {Sijia}: 30fps*MaxCPB in level5.1 = 30*240000*1000bits = 7 200 000 000, larger than INT_MAX which is 2147483647, but this is also very big and abnormal number, should figure out a reasonable number after discussion
|
|
65
|
-
#define MIN_BIT_RATE 1 // minimal bit rate need support
|
|
66
|
-
|
|
67
|
-
#define SVC_QUALITY_BASE_QP 26
|
|
68
|
-
#define MAX_SLICEGROUP_IDS 8 // Count number of SSlice Groups
|
|
69
|
-
#define MAX_THREADS_NUM 4 // assume to support up to 4 logical cores(threads)
|
|
70
|
-
|
|
71
|
-
#define INTPEL_NEEDED_MARGIN (3) // for safe sub-pel MC
|
|
72
|
-
|
|
73
|
-
#define I420_PLANES 3
|
|
74
|
-
|
|
75
|
-
#define COMPRESS_RATIO_THR (1.0f) //set to size of the original data, which will be large enough considering MinCR
|
|
76
|
-
|
|
77
|
-
#if !defined(SSEI_BUFFER_SIZE)
|
|
78
|
-
#define SSEI_BUFFER_SIZE 128
|
|
79
|
-
#endif//SSEI_BUFFER_SIZE
|
|
80
|
-
|
|
81
|
-
#if !defined(SPS_BUFFER_SIZE)
|
|
82
|
-
#define SPS_BUFFER_SIZE 32
|
|
83
|
-
#endif//SPS_BUFFER_SIZE
|
|
84
|
-
|
|
85
|
-
#if !defined(PPS_BUFFER_SIZE)
|
|
86
|
-
#define PPS_BUFFER_SIZE 16
|
|
87
|
-
#endif//PPS_BUFFER_SIZE
|
|
88
|
-
|
|
89
|
-
#if !defined(MAX_MACROBLOCK_SIZE_IN_BYTE)
|
|
90
|
-
#define MAX_MACROBLOCK_SIZE_IN_BYTE 400 //3200/8, 3200 is from Annex A.3.1.(n)
|
|
91
|
-
#endif
|
|
92
|
-
|
|
93
|
-
#define MAX_MACROBLOCK_SIZE_IN_BYTE_x2 (MAX_MACROBLOCK_SIZE_IN_BYTE<<1)
|
|
94
|
-
|
|
95
|
-
#if defined(NUM_SPATIAL_LAYERS_CONSTRAINT)
|
|
96
|
-
#define MAX_DEPENDENCY_LAYER MAX_SPATIAL_LAYER_NUM // Maximal dependency layer
|
|
97
|
-
#else
|
|
98
|
-
#define MAX_DEPENDENCY_LAYER 8 // Maximal dependency layer
|
|
99
|
-
#endif//NUM_SPATIAL_LAYERS_CONSTRAINT
|
|
100
|
-
|
|
101
|
-
//The max temporal level support is equal or less than MAX_TEMPORAL_LAYER_NUM defined @ codec_app_def.h
|
|
102
|
-
#define MAX_TEMPORAL_LEVEL MAX_TEMPORAL_LAYER_NUM // Maximal temporal level
|
|
103
|
-
|
|
104
|
-
#if defined(NUM_QUALITY_LAYERS_CONSTRAINT)
|
|
105
|
-
#define MAX_QUALITY_LEVEL MAX_QUALITY_LAYER_NUM // Maximal quality level
|
|
106
|
-
#else
|
|
107
|
-
#define MAX_QUALITY_LEVEL 16 // Maximal quality level
|
|
108
|
-
#endif//NUM_QUALITY_LAYERS_CONSTRAINT
|
|
109
|
-
|
|
110
|
-
#if defined(MAX_GOP_SIZE)
|
|
111
|
-
#undef MAX_GOP_SIZE
|
|
112
|
-
#endif//MAX_GOP_SIZE
|
|
113
|
-
#define MAX_GOP_SIZE (1<<(MAX_TEMPORAL_LEVEL-1))
|
|
114
|
-
|
|
115
|
-
#define MAX_SHORT_REF_COUNT (MAX_GOP_SIZE>>1) // 16 in standard, maximal count number of short reference pictures
|
|
116
|
-
#define LONG_TERM_REF_NUM 2
|
|
117
|
-
#define LONG_TERM_REF_NUM_SCREEN 4
|
|
118
|
-
#define MAX_REF_PIC_COUNT 16 // 32 in standard, maximal Short + Long reference pictures
|
|
119
|
-
#define MIN_REF_PIC_COUNT 1 // minimal count number of reference pictures, 1 short + 2 key reference based?
|
|
120
|
-
#define MAX_MULTI_REF_PIC_COUNT 1 //maximum multi-reference number
|
|
121
|
-
//#define TOTAL_REF_MINUS_HALF_GOP 1 // last t0 in last gop
|
|
122
|
-
#define MAX_MMCO_COUNT 66
|
|
123
|
-
|
|
124
|
-
// adjusted numbers reference picture functionality related definition
|
|
125
|
-
#define MAX_REFERENCE_MMCO_COUNT_NUM 4 // adjusted MAX_MMCO_COUNT(66 in standard) definition per encoder design
|
|
126
|
-
#define MAX_REFERENCE_REORDER_COUNT_NUM 2 // adjusted MAX_REF_PIC_COUNT(32 in standard) for reference reordering definition per encoder design
|
|
127
|
-
#define MAX_REFERENCE_PICTURE_COUNT_NUM_CAMERA (MAX_SHORT_REF_COUNT+LONG_TERM_REF_NUM) // <= MAX_REF_PIC_COUNT, memory saved if <
|
|
128
|
-
#define MAX_REFERENCE_PICTURE_COUNT_NUM_SCREEN (MAX_SHORT_REF_COUNT+LONG_TERM_REF_NUM_SCREEN) // <= MAX_REF_PIC_COUNT, memory saved if <
|
|
129
|
-
|
|
130
|
-
#define BASE_DEPENDENCY_ID 0
|
|
131
|
-
#define MAX_DQ_LAYER_NUM (MAX_DEPENDENCY_LAYER/**MAX_QUALITY_LEVEL*/)
|
|
132
|
-
|
|
133
|
-
#define INVALID_ID (-1)
|
|
134
|
-
|
|
135
|
-
#define NAL_HEADER_ADD_0X30BYTES 20
|
|
136
|
-
|
|
137
|
-
#define SLICE_NUM_EXPAND_COEF 2
|
|
138
|
-
|
|
139
|
-
enum {
|
|
140
|
-
BLOCK_16x16 = 0,
|
|
141
|
-
BLOCK_16x8 = 1,
|
|
142
|
-
BLOCK_8x16 = 2,
|
|
143
|
-
BLOCK_8x8 = 3,
|
|
144
|
-
BLOCK_4x4 = 4,
|
|
145
|
-
BLOCK_8x4 = 5,
|
|
146
|
-
BLOCK_4x8 = 6,
|
|
147
|
-
BLOCK_SIZE_ALL = 7
|
|
148
|
-
};
|
|
149
|
-
|
|
150
|
-
typedef enum {
|
|
151
|
-
RECIEVE_UNKOWN = 0,
|
|
152
|
-
RECIEVE_SUCCESS = 1,
|
|
153
|
-
RECIEVE_FAILED = 2
|
|
154
|
-
} LTR_MARKING_RECEIVE_STATE;
|
|
155
|
-
|
|
156
|
-
enum {
|
|
157
|
-
CUR_AU_IDX = 0, // index symbol for current access unit
|
|
158
|
-
SUC_AU_IDX = 1 // index symbol for successive access unit
|
|
159
|
-
};
|
|
160
|
-
|
|
161
|
-
enum {
|
|
162
|
-
ENC_RETURN_SUCCESS = 0,
|
|
163
|
-
ENC_RETURN_MEMALLOCERR = 0x01, //will free memory and uninit
|
|
164
|
-
ENC_RETURN_UNSUPPORTED_PARA = 0x02, //unsupported setting
|
|
165
|
-
ENC_RETURN_UNEXPECTED = 0x04, //unexpected value
|
|
166
|
-
ENC_RETURN_CORRECTED = 0x08, //unexpected value but corrected by encoder
|
|
167
|
-
ENC_RETURN_INVALIDINPUT = 0x10, //invalid input
|
|
168
|
-
ENC_RETURN_MEMOVERFLOWFOUND = 0x20,
|
|
169
|
-
ENC_RETURN_VLCOVERFLOWFOUND = 0x40,
|
|
170
|
-
ENC_RETURN_KNOWN_ISSUE = 0x80
|
|
171
|
-
};
|
|
172
|
-
//TODO: need to complete the return checking in encoder and fill in more types if needed
|
|
173
|
-
|
|
174
|
-
#endif//WELS_CONST_H__
|
|
@@ -1,300 +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_func_ptr_def.h
|
|
34
|
-
#ifndef WELS_ENCODER_FUNCTION_POINTERS_DEFINITION_H_
|
|
35
|
-
#define WELS_ENCODER_FUNCTION_POINTERS_DEFINITION_H_
|
|
36
|
-
|
|
37
|
-
#include "typedefs.h"
|
|
38
|
-
#include "wels_common_basis.h"
|
|
39
|
-
#include "svc_enc_macroblock.h"
|
|
40
|
-
#include "mb_cache.h"
|
|
41
|
-
#include "slice.h"
|
|
42
|
-
#include "svc_enc_slice_segment.h"
|
|
43
|
-
#include "svc_enc_frame.h"
|
|
44
|
-
#include "expand_pic.h"
|
|
45
|
-
#include "rc.h"
|
|
46
|
-
#include "IWelsVP.h"
|
|
47
|
-
#include "mc.h"
|
|
48
|
-
|
|
49
|
-
namespace WelsEnc {
|
|
50
|
-
|
|
51
|
-
typedef struct TagWelsEncCtx sWelsEncCtx;
|
|
52
|
-
typedef struct TagWelsFuncPointerList SWelsFuncPtrList;
|
|
53
|
-
typedef struct TagVAAFrameInfo SVAAFrameInfo;
|
|
54
|
-
|
|
55
|
-
typedef struct TagWelsME SWelsME;
|
|
56
|
-
typedef struct TagWelsMD SWelsMD;
|
|
57
|
-
|
|
58
|
-
typedef void (*PSetMemoryZero) (void* pDst, int32_t iSize);
|
|
59
|
-
typedef void (*PDctFunc) (int16_t* pDct, uint8_t* pSample1, int32_t iStride1, uint8_t* pSample2, int32_t iStride2);
|
|
60
|
-
|
|
61
|
-
typedef void (*PCopyFunc) (uint8_t* pDst, int32_t iStrideD, uint8_t* pSrc, int32_t iStrideS);
|
|
62
|
-
typedef void (*PIDctFunc) (uint8_t* pRec, int32_t iStride, uint8_t* pPred, int32_t iPredStride, int16_t* pRes);
|
|
63
|
-
typedef void (*PDeQuantizationFunc) (int16_t* pRes, const uint16_t* kpQpTable);
|
|
64
|
-
typedef void (*PDeQuantizationHadamardFunc) (int16_t* pRes, const uint16_t kuiMF);
|
|
65
|
-
typedef int32_t (*PGetNoneZeroCountFunc) (int16_t* pLevel);
|
|
66
|
-
|
|
67
|
-
typedef void (*PScanFunc) (int16_t* pLevel, int16_t* pDct);
|
|
68
|
-
typedef int32_t (*PCalculateSingleCtrFunc) (int16_t* pDct);
|
|
69
|
-
|
|
70
|
-
typedef void (*PTransformHadamard4x4Func) (int16_t* pLumaDc, int16_t* pDct);
|
|
71
|
-
typedef void (*PQuantizationFunc) (int16_t* pDct, const int16_t* pFF, const int16_t* pMF);
|
|
72
|
-
typedef void (*PQuantizationMaxFunc) (int16_t* pDct, const int16_t* pFF, const int16_t* pMF, int16_t* pMax);
|
|
73
|
-
typedef void (*PQuantizationDcFunc) (int16_t* pDct, int16_t iFF, int16_t iMF);
|
|
74
|
-
typedef int32_t (*PQuantizationSkipFunc) (int16_t* pDct, int16_t iFF, int16_t iMF);
|
|
75
|
-
typedef int32_t (*PQuantizationHadamardFunc) (int16_t* pRes, const int16_t kiFF, int16_t iMF, int16_t* pDct,
|
|
76
|
-
int16_t* pBlock);
|
|
77
|
-
|
|
78
|
-
typedef void (*PLumaDeblockingLT4Func) (uint8_t* iSampleY, int32_t iStride, int32_t iAlpha, int32_t iBeta, int8_t* iTc);
|
|
79
|
-
typedef void (*PLumaDeblockingEQ4Func) (uint8_t* iSampleY, int32_t iStride, int32_t iAlpha, int32_t iBeta);
|
|
80
|
-
typedef void (*PChromaDeblockingLT4Func) (uint8_t* iSampleCb, uint8_t* iSampleCr, int32_t iStride, int32_t iAlpha,
|
|
81
|
-
int32_t iBeta, int8_t* iTc);
|
|
82
|
-
typedef void (*PChromaDeblockingEQ4Func) (uint8_t* iSampleCb, uint8_t* iSampleCr, int32_t iStride, int32_t iAlpha,
|
|
83
|
-
int32_t iBeta);
|
|
84
|
-
typedef void (*PDeblockingBSCalc) (SWelsFuncPtrList* pFunc, SMB* pCurMb, uint8_t uiBS[2][4][4], Mb_Type uiCurMbType,
|
|
85
|
-
int32_t iMbStride, int32_t iLeftFlag, int32_t iTopFlag);
|
|
86
|
-
typedef void (*PDeblockingFilterSlice) (SDqLayer* pCurDq, SWelsFuncPtrList* pFunc, SSlice* pSlice);
|
|
87
|
-
|
|
88
|
-
typedef struct tagDeblockingFunc {
|
|
89
|
-
PLumaDeblockingLT4Func pfLumaDeblockingLT4Ver;
|
|
90
|
-
PLumaDeblockingEQ4Func pfLumaDeblockingEQ4Ver;
|
|
91
|
-
PLumaDeblockingLT4Func pfLumaDeblockingLT4Hor;
|
|
92
|
-
PLumaDeblockingEQ4Func pfLumaDeblockingEQ4Hor;
|
|
93
|
-
|
|
94
|
-
PChromaDeblockingLT4Func pfChromaDeblockingLT4Ver;
|
|
95
|
-
PChromaDeblockingEQ4Func pfChromaDeblockingEQ4Ver;
|
|
96
|
-
PChromaDeblockingLT4Func pfChromaDeblockingLT4Hor;
|
|
97
|
-
PChromaDeblockingEQ4Func pfChromaDeblockingEQ4Hor;
|
|
98
|
-
|
|
99
|
-
PDeblockingBSCalc pfDeblockingBSCalc;
|
|
100
|
-
|
|
101
|
-
PDeblockingFilterSlice pfDeblockingFilterSlice;
|
|
102
|
-
} DeblockingFunc;
|
|
103
|
-
|
|
104
|
-
typedef void (*PSetNoneZeroCountZeroFunc) (int8_t* pNonZeroCount);
|
|
105
|
-
|
|
106
|
-
typedef int32_t (*PIntraFineMdFunc) (sWelsEncCtx* pEncCtx, SWelsMD* pWelsMd, SMB* pCurMb, SMbCache* pMbCache);
|
|
107
|
-
typedef void (*PInterFineMdFunc) (sWelsEncCtx* pEncCtx, SWelsMD* pWelsMd, SSlice* slice, SMB* pCurMb, int32_t bestCost);
|
|
108
|
-
typedef bool (*PInterMdFirstIntraModeFunc) (sWelsEncCtx* pEncCtx, SWelsMD* pWelsMd, SMB* pCurMb, SMbCache* pMbCache);
|
|
109
|
-
|
|
110
|
-
typedef void (*PFillInterNeighborCacheFunc) (SMbCache* pMbCache, SMB* pCurMb, int32_t iMbWidth, int8_t* pVaaBgMbFlag);
|
|
111
|
-
typedef void (*PAccumulateSadFunc) (uint32_t* pSumDiff, int32_t* pGomForegroundBlockNum, int32_t* iSad8x8,
|
|
112
|
-
int8_t* pVaaBgMbFlag);//for RC
|
|
113
|
-
typedef bool (*PDynamicSlicingStepBackFunc) (sWelsEncCtx* pEncCtx, SSlice* pSlice, SSliceCtx* pSliceCtx, SMB* pCurMb,
|
|
114
|
-
SDynamicSlicingStack* pDynamicSlicingStack); // 2010.8.17
|
|
115
|
-
|
|
116
|
-
typedef bool (*PInterMdBackgroundDecisionFunc) (sWelsEncCtx* pEncCtx, SWelsMD* pWelsMd, SSlice* slice, SMB* pCurMb,
|
|
117
|
-
SMbCache* pMbCache, bool* pKeepPskip);
|
|
118
|
-
typedef void (*PMdBackgroundInfoUpdateFunc) (SDqLayer* pCurLayer, SMB* pCurMb, const bool bFlag,
|
|
119
|
-
const int32_t kiRefPictureType);
|
|
120
|
-
|
|
121
|
-
typedef bool (*PInterMdScrollingPSkipDecisionFunc) (sWelsEncCtx* pEncCtx, SWelsMD* pWelsMd, SSlice* slice, SMB* pCurMb,
|
|
122
|
-
SMbCache* pMbCache);
|
|
123
|
-
typedef void (*PSetScrollingMv) (SVAAFrameInfo* pVaa, SWelsMD* pMd);
|
|
124
|
-
|
|
125
|
-
typedef void (*PInterMdFunc) (sWelsEncCtx* pEncCtx, SWelsMD* pWelsMd, SSlice* slice, SMB* pCurMb, SMbCache* pMbCache);
|
|
126
|
-
|
|
127
|
-
typedef int32_t (*PSampleSadSatdCostFunc) (uint8_t*, int32_t, uint8_t*, int32_t);
|
|
128
|
-
typedef void (*PSample4SadCostFunc) (uint8_t*, int32_t, uint8_t*, int32_t, int32_t*);
|
|
129
|
-
typedef int32_t (*PIntraPred4x4Combined3Func) (uint8_t*, int32_t, uint8_t*, int32_t, uint8_t*, int32_t*, int32_t,
|
|
130
|
-
int32_t, int32_t);
|
|
131
|
-
typedef int32_t (*PIntraPred16x16Combined3Func) (uint8_t*, int32_t, uint8_t*, int32_t, int32_t*, int32_t, uint8_t*);
|
|
132
|
-
typedef int32_t (*PIntraPred8x8Combined3Func) (uint8_t*, int32_t, uint8_t*, int32_t, int32_t*, int32_t, uint8_t*,
|
|
133
|
-
uint8_t*, uint8_t*);
|
|
134
|
-
|
|
135
|
-
typedef uint32_t (*PSampleSadHor8Func) (uint8_t*, int32_t, uint8_t*, int32_t, uint16_t*, int32_t*);
|
|
136
|
-
typedef void (*PMotionSearchFunc) (SWelsFuncPtrList* pFuncList, SDqLayer* pCurDqLayer, SWelsME* pMe,
|
|
137
|
-
SSlice* pSlice);
|
|
138
|
-
typedef void (*PSearchMethodFunc) (SWelsFuncPtrList* pFuncList, SWelsME* pMe, SSlice* pSlice, const int32_t kiEncStride,
|
|
139
|
-
const int32_t kiRefStride);
|
|
140
|
-
typedef void (*PCalculateSatdFunc) (PSampleSadSatdCostFunc pSatd, SWelsME* pMe, const int32_t kiEncStride,
|
|
141
|
-
const int32_t kiRefStride);
|
|
142
|
-
typedef bool (*PCheckDirectionalMv) (PSampleSadSatdCostFunc pSad, SWelsME* pMe,
|
|
143
|
-
const SMVUnitXY ksMinMv, const SMVUnitXY ksMaxMv, const int32_t kiEncStride, const int32_t kiRefStride,
|
|
144
|
-
int32_t& iBestSadCost);
|
|
145
|
-
typedef void (*PLineFullSearchFunc) (SWelsFuncPtrList* pFuncList, SWelsME* pMe,
|
|
146
|
-
uint16_t* pMvdTable,
|
|
147
|
-
const int32_t kiEncStride, const int32_t kiRefStride,
|
|
148
|
-
const int16_t kiMinMv, const int16_t kiMaxMv,
|
|
149
|
-
const bool bVerticalSearch);
|
|
150
|
-
typedef void (*PInitializeHashforFeatureFunc) (uint32_t* pTimesOfFeatureValue, uint16_t* pBuf, const int32_t kiListSize,
|
|
151
|
-
uint16_t** pLocationOfFeature, uint16_t** pFeatureValuePointerList);
|
|
152
|
-
typedef void (*PFillQpelLocationByFeatureValueFunc) (uint16_t* pFeatureOfBlock, const int32_t kiWidth,
|
|
153
|
-
const int32_t kiHeight,
|
|
154
|
-
uint16_t** pFeatureValuePointerList);
|
|
155
|
-
typedef void (*PCalculateBlockFeatureOfFrame) (uint8_t* pRef, const int32_t kiWidth, const int32_t kiHeight,
|
|
156
|
-
const int32_t kiRefStride,
|
|
157
|
-
uint16_t* pFeatureOfBlock, uint32_t pTimesOfFeatureValue[]);
|
|
158
|
-
typedef int32_t (*PCalculateSingleBlockFeature) (uint8_t* pRef, const int32_t kiRefStride);
|
|
159
|
-
typedef void (*PUpdateFMESwitch) (SDqLayer* pCurLayer);
|
|
160
|
-
|
|
161
|
-
#define MAX_BLOCK_TYPE BLOCK_SIZE_ALL
|
|
162
|
-
typedef struct TagSampleDealingFunc {
|
|
163
|
-
PSampleSadSatdCostFunc pfSampleSad[MAX_BLOCK_TYPE];
|
|
164
|
-
PSampleSadSatdCostFunc pfSampleSatd[MAX_BLOCK_TYPE];
|
|
165
|
-
PSample4SadCostFunc pfSample4Sad[MAX_BLOCK_TYPE];
|
|
166
|
-
PIntraPred4x4Combined3Func pfIntra4x4Combined3Satd;
|
|
167
|
-
PIntraPred16x16Combined3Func pfIntra16x16Combined3Satd;
|
|
168
|
-
PIntraPred16x16Combined3Func pfIntra16x16Combined3Sad;
|
|
169
|
-
PIntraPred8x8Combined3Func pfIntra8x8Combined3Satd;
|
|
170
|
-
PIntraPred8x8Combined3Func pfIntra8x8Combined3Sad;
|
|
171
|
-
|
|
172
|
-
PSampleSadSatdCostFunc* pfMdCost;
|
|
173
|
-
PSampleSadSatdCostFunc* pfMeCost;
|
|
174
|
-
PIntraPred16x16Combined3Func pfIntra16x16Combined3;
|
|
175
|
-
PIntraPred8x8Combined3Func pfIntra8x8Combined3;
|
|
176
|
-
PIntraPred4x4Combined3Func pfIntra4x4Combined3;
|
|
177
|
-
} SSampleDealingFunc;
|
|
178
|
-
typedef void (*PGetIntraPredFunc) (uint8_t* pPrediction, uint8_t* pRef, const int32_t kiStride);
|
|
179
|
-
|
|
180
|
-
typedef int32_t (*PGetVarianceFromIntraVaaFunc) (uint8_t* pSampelY, const int32_t kiStride);
|
|
181
|
-
typedef uint8_t (*PGetMbSignFromInterVaaFunc) (int32_t* pSad8x8);
|
|
182
|
-
typedef void (*PUpdateMbMvFunc) (SMVUnitXY* pMvUnit, const SMVUnitXY ksMv);
|
|
183
|
-
|
|
184
|
-
typedef bool (*PBuildRefListFunc) (sWelsEncCtx* pCtx, const int32_t iPOC, int32_t iBestLtrRefIdx);
|
|
185
|
-
typedef void (*PMarkPicFunc) (sWelsEncCtx* pCtx);
|
|
186
|
-
typedef bool (*PUpdateRefListFunc) (sWelsEncCtx* pCtx);
|
|
187
|
-
typedef void (*PEndofUpdateRefListFunc) (sWelsEncCtx* pCtx);
|
|
188
|
-
typedef void (*PAfterBuildRefListFunc) (sWelsEncCtx* pCtx);
|
|
189
|
-
|
|
190
|
-
typedef int32_t (*PCavlcParamCalFunc) (int16_t* pCoff, uint8_t* pRun, int16_t* pLevel, int32_t* pTotalCoeffs,
|
|
191
|
-
int32_t iEndIdx);
|
|
192
|
-
typedef int32_t (*PWelsSpatialWriteMbSyn) (sWelsEncCtx* pCtx, SSlice* pSlice, SMB* pCurMb);
|
|
193
|
-
typedef void (*PStashMBStatus) (SDynamicSlicingStack* pDss, SSlice* pSlice, int32_t iMbSkipRun);
|
|
194
|
-
typedef int32_t (*PStashPopMBStatus) (SDynamicSlicingStack* pDss, SSlice* pSlice);
|
|
195
|
-
typedef int32_t (*PGetBsPosition)(SSlice *pSlice);
|
|
196
|
-
class IWelsParametersetStrategy;
|
|
197
|
-
|
|
198
|
-
struct TagWelsFuncPointerList {
|
|
199
|
-
SExpandPicFunc sExpandPicFunc;
|
|
200
|
-
PFillInterNeighborCacheFunc pfFillInterNeighborCache;
|
|
201
|
-
|
|
202
|
-
PGetVarianceFromIntraVaaFunc pfGetVarianceFromIntraVaa;
|
|
203
|
-
PGetMbSignFromInterVaaFunc pfGetMbSignFromInterVaa;
|
|
204
|
-
PUpdateMbMvFunc pfUpdateMbMv;
|
|
205
|
-
PInterMdFirstIntraModeFunc pfFirstIntraMode; //svc_encode_slice.c svc_mode_decision.c svc_base_layer_md.c
|
|
206
|
-
PIntraFineMdFunc
|
|
207
|
-
pfIntraFineMd; //svc_encode_slice.c svc_mode_decision.c svc_base_layer_md.c
|
|
208
|
-
PInterFineMdFunc pfInterFineMd; //svc_encode_slice.c svc_base_layer_md.c
|
|
209
|
-
PInterMdFunc pfInterMd;
|
|
210
|
-
|
|
211
|
-
PInterMdBackgroundDecisionFunc pfInterMdBackgroundDecision;
|
|
212
|
-
PMdBackgroundInfoUpdateFunc pfMdBackgroundInfoUpdate;
|
|
213
|
-
|
|
214
|
-
PInterMdScrollingPSkipDecisionFunc pfSCDPSkipDecision;
|
|
215
|
-
PSetScrollingMv pfSetScrollingMv;
|
|
216
|
-
|
|
217
|
-
SMcFunc sMcFuncs;
|
|
218
|
-
SSampleDealingFunc sSampleDealingFuncs;
|
|
219
|
-
PGetIntraPredFunc pfGetLumaI16x16Pred[I16_PRED_DC_A];
|
|
220
|
-
PGetIntraPredFunc pfGetLumaI4x4Pred[I4_PRED_A];
|
|
221
|
-
PGetIntraPredFunc pfGetChromaPred[C_PRED_A];
|
|
222
|
-
|
|
223
|
-
PSampleSadHor8Func pfSampleSadHor8[2]; // 1: for 16x16 square; 0: for 8x8 square
|
|
224
|
-
PMotionSearchFunc
|
|
225
|
-
pfMotionSearch[BLOCK_STATIC_IDC_ALL]; //svc_encode_slice.c svc_mode_decision.c svc_enhance_layer_md.c svc_base_layer_md.c
|
|
226
|
-
PSearchMethodFunc pfSearchMethod[BLOCK_SIZE_ALL];
|
|
227
|
-
PCalculateSatdFunc pfCalculateSatd;
|
|
228
|
-
PCheckDirectionalMv pfCheckDirectionalMv;
|
|
229
|
-
|
|
230
|
-
PInitializeHashforFeatureFunc pfInitializeHashforFeature;
|
|
231
|
-
PFillQpelLocationByFeatureValueFunc pfFillQpelLocationByFeatureValue;
|
|
232
|
-
PCalculateBlockFeatureOfFrame pfCalculateBlockFeatureOfFrame[2];//0 - for 8x8, 1 for 16x16
|
|
233
|
-
PCalculateSingleBlockFeature pfCalculateSingleBlockFeature[2];//0 - for 8x8, 1 for 16x16
|
|
234
|
-
PLineFullSearchFunc pfVerticalFullSearch;
|
|
235
|
-
PLineFullSearchFunc pfHorizontalFullSearch;
|
|
236
|
-
PUpdateFMESwitch pfUpdateFMESwitch;
|
|
237
|
-
|
|
238
|
-
PCopyFunc pfCopy16x16Aligned; //svc_encode_slice.c svc_mode_decision.c svc_base_layer_md.c
|
|
239
|
-
PCopyFunc pfCopy16x16NotAligned; //md.c
|
|
240
|
-
PCopyFunc pfCopy8x8Aligned; //svc_encode_slice.c svc_mode_decision.c svc_base_layer_md.c md.c
|
|
241
|
-
PCopyFunc pfCopy16x8NotAligned; //for MeRefineFracPixel 16x8 based
|
|
242
|
-
PCopyFunc pfCopy8x16Aligned; //for MeRefineFracPixel 8x16 based
|
|
243
|
-
PCopyFunc pfCopy4x4; //not sure if aligned or not, need further tune
|
|
244
|
-
PCopyFunc pfCopy8x4; //not sure if aligned or not, need further tune
|
|
245
|
-
PCopyFunc pfCopy4x8; //not sure if aligned or not, need further tune
|
|
246
|
-
|
|
247
|
-
PDctFunc pfDctT4;
|
|
248
|
-
PDctFunc pfDctFourT4;
|
|
249
|
-
|
|
250
|
-
PCalculateSingleCtrFunc pfCalculateSingleCtr4x4;
|
|
251
|
-
PScanFunc pfScan4x4; //DC/AC
|
|
252
|
-
PScanFunc pfScan4x4Ac;
|
|
253
|
-
|
|
254
|
-
PQuantizationFunc pfQuantization4x4;
|
|
255
|
-
PQuantizationFunc pfQuantizationFour4x4;
|
|
256
|
-
PQuantizationDcFunc pfQuantizationDc4x4;
|
|
257
|
-
PQuantizationMaxFunc pfQuantizationFour4x4Max;
|
|
258
|
-
PQuantizationHadamardFunc pfQuantizationHadamard2x2;
|
|
259
|
-
PQuantizationSkipFunc pfQuantizationHadamard2x2Skip;
|
|
260
|
-
|
|
261
|
-
PTransformHadamard4x4Func pfTransformHadamard4x4Dc;
|
|
262
|
-
|
|
263
|
-
PGetNoneZeroCountFunc pfGetNoneZeroCount;
|
|
264
|
-
|
|
265
|
-
PDeQuantizationFunc pfDequantization4x4;
|
|
266
|
-
PDeQuantizationFunc pfDequantizationFour4x4;
|
|
267
|
-
PDeQuantizationHadamardFunc pfDequantizationIHadamard4x4;
|
|
268
|
-
PIDctFunc pfIDctFourT4;
|
|
269
|
-
PIDctFunc pfIDctT4;
|
|
270
|
-
PIDctFunc pfIDctI16x16Dc;
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
// OPTI: if MT under diff uiSliceMode, need change here
|
|
275
|
-
//PDynamicSlicingStepBackFunc dynslc_funcpointer_stepback;//svc_encode_slice.c
|
|
276
|
-
//DYNSLC_LNGTH_CRTL dynslc_funcpointer_slcsize_ctrl;
|
|
277
|
-
|
|
278
|
-
/* For Deblocking */
|
|
279
|
-
DeblockingFunc pfDeblocking;
|
|
280
|
-
PSetNoneZeroCountZeroFunc pfSetNZCZero;
|
|
281
|
-
|
|
282
|
-
SWelsRcFunc pfRc;
|
|
283
|
-
PAccumulateSadFunc pfAccumulateSadForRc;
|
|
284
|
-
|
|
285
|
-
PSetMemoryZero pfSetMemZeroSize8; // for size is times to 8
|
|
286
|
-
PSetMemoryZero pfSetMemZeroSize64Aligned16; // for size is times of 64, and address is align to 16
|
|
287
|
-
PSetMemoryZero pfSetMemZeroSize64; // for size is times of 64, and don't know address is align to 16 or not
|
|
288
|
-
|
|
289
|
-
PCavlcParamCalFunc pfCavlcParamCal;
|
|
290
|
-
PWelsSpatialWriteMbSyn pfWelsSpatialWriteMbSyn;
|
|
291
|
-
PGetBsPosition pfGetBsPosition;
|
|
292
|
-
PStashMBStatus pfStashMBStatus;
|
|
293
|
-
PStashPopMBStatus pfStashPopMBStatus;
|
|
294
|
-
|
|
295
|
-
IWelsParametersetStrategy* pParametersetStrategy;
|
|
296
|
-
};
|
|
297
|
-
|
|
298
|
-
} //end of namespace WelsEnc {
|
|
299
|
-
|
|
300
|
-
#endif//WELS_ENCODER_FUNCTION_POINTERS_DEFINITION_H_
|