@scrypted/libav 1.0.181 → 1.0.182
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,141 +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
|
-
//mb_cache.h
|
|
34
|
-
#ifndef WELS_MACROBLOCK_CACHE_H__
|
|
35
|
-
#define WELS_MACROBLOCK_CACHE_H__
|
|
36
|
-
|
|
37
|
-
#include "typedefs.h"
|
|
38
|
-
#include "wels_const.h"
|
|
39
|
-
#include "macros.h"
|
|
40
|
-
|
|
41
|
-
namespace WelsEnc {
|
|
42
|
-
|
|
43
|
-
/*
|
|
44
|
-
* MB Cache information, such one cache should be defined within a slice
|
|
45
|
-
*/
|
|
46
|
-
/*
|
|
47
|
-
* Cache for Luma Cache for Chroma(Cb, Cr)
|
|
48
|
-
*
|
|
49
|
-
* TL T T T T TL T T
|
|
50
|
-
* L - - - - L - -
|
|
51
|
-
* L - - - - L - - TR
|
|
52
|
-
* L - - - -
|
|
53
|
-
* L - - - - TR
|
|
54
|
-
*
|
|
55
|
-
*/
|
|
56
|
-
|
|
57
|
-
////////////////////////mapping scan index////////////////////////
|
|
58
|
-
|
|
59
|
-
extern const uint8_t g_kuiSmb4AddrIn256[16];
|
|
60
|
-
extern const uint8_t g_kuiCache12_8x8RefIdx[4];
|
|
61
|
-
|
|
62
|
-
typedef struct TagDCTCoeff {
|
|
63
|
-
//ALIGNED_DECLARE( int16_t, residual_ac[16], 16 ); //I_16x16
|
|
64
|
-
int16_t iLumaBlock[16][16]; //based on block4x4 luma DC/AC
|
|
65
|
-
//ALIGNED_DECLARE( int16_t, iLumaI16x16Dc[16], 16 ); //I_16x16 DC
|
|
66
|
-
int16_t iLumaI16x16Dc[16];
|
|
67
|
-
//ALIGNED_DECLARE( int16_t, iChromaDc[2][4], 16 ); //chroma DC
|
|
68
|
-
int16_t iChromaBlock[8][16]; //based on block4x4 chroma DC/AC
|
|
69
|
-
int16_t iChromaDc[2][4];
|
|
70
|
-
} SDCTCoeff ;
|
|
71
|
-
|
|
72
|
-
typedef struct TagMbCache {
|
|
73
|
-
//the followed pData now is promised aligned to 16 bytes
|
|
74
|
-
ALIGNED_DECLARE (SMVComponentUnit, sMvComponents, 16);
|
|
75
|
-
|
|
76
|
-
ALIGNED_DECLARE (int8_t, iNonZeroCoeffCount[48], 16); // Cache line size
|
|
77
|
-
// int8_t iNonZeroCoeffCount[6 * 8]; // Right luma, Chroma(Left Top Cb, Left btm Cr); must follow by iIntraPredMode!
|
|
78
|
-
ALIGNED_DECLARE (int8_t, iIntraPredMode[48], 16);
|
|
79
|
-
// must follow with iNonZeroCoeffCount!
|
|
80
|
-
|
|
81
|
-
int32_t iSadCost[4]; //avail 1; unavail 0
|
|
82
|
-
SMVUnitXY sMbMvp[MB_BLOCK4x4_NUM];// for write bs
|
|
83
|
-
|
|
84
|
-
//for residual decoding (recovery) at the side of Encoder
|
|
85
|
-
int16_t* pCoeffLevel; // tmep
|
|
86
|
-
//malloc memory for prediction
|
|
87
|
-
uint8_t* pSkipMb;
|
|
88
|
-
|
|
89
|
-
//ALIGNED_DECLARE(uint8_t, pMemPredMb[2][256], 16);//One: Best I_16x16 Luma and refine frac_pixel pBuffer; another: PingPong I_8x8&&Inter Cb + Cr
|
|
90
|
-
uint8_t* pMemPredMb;
|
|
91
|
-
uint8_t* pMemPredLuma;// inter && intra share same pointer;
|
|
92
|
-
//ALIGNED_DECLARE(uint8_t, pMemPredChroma[2][64*2], 16); //another PingPong pBuffer: Best Cb + Cr;
|
|
93
|
-
uint8_t* pMemPredChroma;// inter && intra share same pointer;
|
|
94
|
-
uint8_t* pBestPredIntraChroma; //Cb:0~63; Cr:64~127
|
|
95
|
-
|
|
96
|
-
//ALIGNED_DECLARE(uint8_t, pMemPredBlk4[2][16], 16); //I_4x4
|
|
97
|
-
uint8_t* pMemPredBlk4;
|
|
98
|
-
|
|
99
|
-
uint8_t* pBestPredI4x4Blk4;//I_4x4
|
|
100
|
-
|
|
101
|
-
//ALIGNED_DECLARE(uint8_t, pBufferInterPredMe[4][400], 16);//inter type pBuffer for ME h & v & hv
|
|
102
|
-
uint8_t* pBufferInterPredMe; // [4][400] is enough because only h&v or v&hv or h&hv. but if both h&v&hv is needed when 8 quart pixel, future we have to use [5][400].
|
|
103
|
-
|
|
104
|
-
//no scan4[] order, just as memory order to store
|
|
105
|
-
//ALIGNED_DECLARE(bool, pPrevIntra4x4PredModeFlag[16], 16);//if 1, means no rem_intra4x4_pred_mode; if 0, means rem_intra4x4_pred_mode != 0
|
|
106
|
-
bool* pPrevIntra4x4PredModeFlag;
|
|
107
|
-
//ALIGNED_DECLARE(int8_t, pRemIntra4x4PredModeFlag[16], 16);//-1 as default; if pPrevIntra4x4PredModeFlag==0,
|
|
108
|
-
//pRemIntra4x4PredModeFlag or added by 1 is the best pred_mode
|
|
109
|
-
int8_t* pRemIntra4x4PredModeFlag;
|
|
110
|
-
|
|
111
|
-
int32_t iSadCostSkip[4]; //avail 1; unavail 0
|
|
112
|
-
bool bMbTypeSkip[4]; //1: skip; 0: non-skip
|
|
113
|
-
int32_t* pEncSad;
|
|
114
|
-
|
|
115
|
-
//for residual encoding at the side of Encoder
|
|
116
|
-
SDCTCoeff* pDct;
|
|
117
|
-
|
|
118
|
-
uint8_t uiNeighborIntra; // LEFT_MB_POS:0x01, TOP_MB_POS:0x02, TOPLEFT_MB_POS = 0x04 ,TOPRIGHT_MB_POS = 0x08;
|
|
119
|
-
uint8_t uiLumaI16x16Mode;
|
|
120
|
-
uint8_t uiChmaI8x8Mode;
|
|
121
|
-
|
|
122
|
-
bool bCollocatedPredFlag;//denote if current MB is collocated predicted (MV==0).
|
|
123
|
-
uint32_t uiRefMbType;
|
|
124
|
-
|
|
125
|
-
struct {
|
|
126
|
-
/* pointer of current mb location in original frame */
|
|
127
|
-
uint8_t* pEncMb[3];
|
|
128
|
-
/* pointer of current mb location in recovery frame */
|
|
129
|
-
uint8_t* pDecMb[3];
|
|
130
|
-
/* pointer of co-located mb location in reference frame */
|
|
131
|
-
uint8_t* pRefMb[3];
|
|
132
|
-
//for SVC
|
|
133
|
-
uint8_t* pCsMb[3];//locating current mb's CS in whole frame
|
|
134
|
-
// int16_t *p_rs[3];//locating current mb's RS in whole frame
|
|
135
|
-
|
|
136
|
-
} SPicData;
|
|
137
|
-
} SMbCache;
|
|
138
|
-
|
|
139
|
-
}//end of namespace
|
|
140
|
-
|
|
141
|
-
#endif//WELS_MACROBLOCK_CACHE_H__
|
|
@@ -1,181 +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 md.h
|
|
33
|
-
*
|
|
34
|
-
* \brief mode decision
|
|
35
|
-
*
|
|
36
|
-
* \date 2009.5.14 Created
|
|
37
|
-
*
|
|
38
|
-
*************************************************************************************
|
|
39
|
-
*/
|
|
40
|
-
#ifndef WELS_MACROBLOCK_MODE_DECISION_H__
|
|
41
|
-
#define WELS_MACROBLOCK_MODE_DECISION_H__
|
|
42
|
-
|
|
43
|
-
#include "svc_motion_estimate.h"
|
|
44
|
-
#include "svc_enc_macroblock.h"
|
|
45
|
-
#include "encode_mb_aux.h"
|
|
46
|
-
#include "wels_func_ptr_def.h"
|
|
47
|
-
|
|
48
|
-
namespace WelsEnc {
|
|
49
|
-
#define ME_REFINE_BUF_STRIDE 32
|
|
50
|
-
#define ME_REFINE_BUF_WIDTH_BLK4 8
|
|
51
|
-
#define ME_REFINE_BUF_WIDTH_BLK8 16
|
|
52
|
-
#define ME_REFINE_BUF_STRIDE_BLK4 160
|
|
53
|
-
#define ME_REFINE_BUF_STRIDE_BLK8 320
|
|
54
|
-
|
|
55
|
-
#define REFINE_ME_NO_BEST_HALF_PIXEL 0 //( 0, 0)
|
|
56
|
-
#define REFINE_ME_HALF_PIXEL_LEFT 3 //(-2, 0)
|
|
57
|
-
#define REFINE_ME_HALF_PIXEL_RIGHT 4 //( 2, 0)
|
|
58
|
-
#define REFINE_ME_HALF_PIXEL_TOP 1 //( 0, -2)
|
|
59
|
-
#define REFINE_ME_HALF_PIXEL_BOTTOM 2 //( 0, 2)
|
|
60
|
-
|
|
61
|
-
#define ME_NO_BEST_QUAR_PIXEL 1 //( 0, 0) or best half pixel
|
|
62
|
-
#define ME_QUAR_PIXEL_LEFT 2 //(-1, 0)
|
|
63
|
-
#define ME_QUAR_PIXEL_RIGHT 3 //( 1, 0)
|
|
64
|
-
#define ME_QUAR_PIXEL_TOP 4 //( 0, -1)
|
|
65
|
-
#define ME_QUAR_PIXEL_BOTTOM 5 //( 0, 1)
|
|
66
|
-
|
|
67
|
-
#define NO_BEST_FRAC_PIX 1 // REFINE_ME_NO_BEST_HALF_PIXEL + ME_NO_BEST_QUAR_PIXEL
|
|
68
|
-
|
|
69
|
-
//for vaa constants
|
|
70
|
-
#define MBVAASIGN_FLAT 15
|
|
71
|
-
#define MBVAASIGN_HOR1 3
|
|
72
|
-
#define MBVAASIGN_HOR2 12
|
|
73
|
-
#define MBVAASIGN_VER1 5
|
|
74
|
-
#define MBVAASIGN_VER2 10
|
|
75
|
-
#define MBVAASIGN_CMPX1 6
|
|
76
|
-
#define MBVAASIGN_CMPX2 9
|
|
77
|
-
|
|
78
|
-
extern const int32_t g_kiQpCostTable[52];
|
|
79
|
-
extern const int8_t g_kiMapModeI16x16[7];
|
|
80
|
-
//extern const int8_t g_kiMapModeI4x4[14];
|
|
81
|
-
extern const int8_t g_kiMapModeIntraChroma[7];
|
|
82
|
-
|
|
83
|
-
/////////////////////////////
|
|
84
|
-
|
|
85
|
-
// if we want keep total sizeof(SWelsMD) <= 256, we maybe need to seperate three member of SWelsME.
|
|
86
|
-
typedef struct TagWelsMD {
|
|
87
|
-
int32_t iLambda;
|
|
88
|
-
uint16_t* pMvdCost;
|
|
89
|
-
|
|
90
|
-
int32_t iCostLuma;
|
|
91
|
-
int32_t iCostChroma;//satd+lambda(best_pred_mode) //i_sad_chroma;
|
|
92
|
-
int32_t iSadPredMb;
|
|
93
|
-
|
|
94
|
-
uint8_t uiRef; //uiRefIndex appointed by Encoder, used for MC
|
|
95
|
-
bool bMdUsingSad;
|
|
96
|
-
uint16_t uiReserved;
|
|
97
|
-
|
|
98
|
-
int32_t iCostSkipMb;
|
|
99
|
-
int32_t iSadPredSkip;
|
|
100
|
-
|
|
101
|
-
int32_t iMbPixX; // pixel position of MB in horizontal axis
|
|
102
|
-
int32_t iMbPixY; // pixel position of MB in vertical axis
|
|
103
|
-
int32_t iBlock8x8StaticIdc[4];
|
|
104
|
-
|
|
105
|
-
//NO B frame in our Wels, we can ignore list1
|
|
106
|
-
|
|
107
|
-
struct {
|
|
108
|
-
SWelsME sMe16x16; //adjust each SWelsME for 8 D-word!
|
|
109
|
-
SWelsME sMe8x8[4];
|
|
110
|
-
SWelsME sMe16x8[2];
|
|
111
|
-
SWelsME sMe8x16[2];
|
|
112
|
-
SWelsME sMe4x4[4][4];
|
|
113
|
-
SWelsME sMe8x4[4][2];
|
|
114
|
-
SWelsME sMe4x8[4][2];
|
|
115
|
-
// SMVUnitXY i_mvbs[MB_BLOCK8x8_NUM]; //scaled MVB
|
|
116
|
-
} sMe;
|
|
117
|
-
|
|
118
|
-
} SWelsMD;
|
|
119
|
-
|
|
120
|
-
typedef struct TagMeRefinePointer {
|
|
121
|
-
uint8_t* pHalfPixH;
|
|
122
|
-
uint8_t* pHalfPixV;
|
|
123
|
-
uint8_t* pHalfPixHV;
|
|
124
|
-
|
|
125
|
-
uint8_t* pQuarPixBest;
|
|
126
|
-
uint8_t* pQuarPixTmp;
|
|
127
|
-
|
|
128
|
-
PCopyFunc pfCopyBlockByMode;
|
|
129
|
-
} SMeRefinePointer;
|
|
130
|
-
|
|
131
|
-
void FillNeighborCacheIntra (SMbCache* pMbCache, SMB* pCurMb, int32_t iMbWidth/*, bool constrained_intra_pred_flag*/);
|
|
132
|
-
void FillNeighborCacheInterWithoutBGD (SMbCache* pMbCache, SMB* pCurMb, int32_t iMbWidth,
|
|
133
|
-
int8_t* pVaaBgMbFlag); //BGD spatial func
|
|
134
|
-
void FillNeighborCacheInterWithBGD (SMbCache* pMbCache, SMB* pCurMb, int32_t iMbWidth, int8_t* pVaaBgMbFlag);
|
|
135
|
-
void InitFillNeighborCacheInterFunc (SWelsFuncPtrList* pFuncList, const int32_t kiFlag);
|
|
136
|
-
|
|
137
|
-
void MvdCostInit (uint16_t* pMvdCostInter, const int32_t kiMvdSz);
|
|
138
|
-
|
|
139
|
-
void PredictSad (int8_t* pRefIndexCache, int32_t* pSadCostCache, int32_t uiRef, int32_t* pSadPred);
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
void PredictSadSkip (int8_t* pRefIndexCache, bool* pMbSkipCache, int32_t* pSadCostCache, int32_t uiRef,
|
|
143
|
-
int32_t* iSadPredSkip);
|
|
144
|
-
|
|
145
|
-
// for pfGetVarianceFromIntraVaa function ptr adaptive by CPU features, 6/7/2010
|
|
146
|
-
void InitIntraAnalysisVaaInfo (SWelsFuncPtrList* pFuncList, const uint32_t kuiCpuFlag);
|
|
147
|
-
bool MdIntraAnalysisVaaInfo (sWelsEncCtx* pEncCtx, uint8_t* pEncMb);
|
|
148
|
-
|
|
149
|
-
uint8_t MdInterAnalysisVaaInfo_c (int32_t* pSad8x8);
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
void InitMeRefinePointer (SMeRefinePointer* pMeRefine, SMbCache* pMbCache, int32_t iStride);
|
|
153
|
-
void MeRefineFracPixel (sWelsEncCtx* pEncCtx, uint8_t* pMemPredInterMb, SWelsME* pMe,
|
|
154
|
-
SMeRefinePointer* pMeRefine, int32_t iWidth, int32_t iHeight);
|
|
155
|
-
|
|
156
|
-
void InitBlkStrideWithRef (int32_t* pBlkStride, const int32_t kiStrideRef);
|
|
157
|
-
|
|
158
|
-
void UpdateMbMv_c (SMVUnitXY* pMvBuffer, const SMVUnitXY ksMv);
|
|
159
|
-
|
|
160
|
-
#if defined(__cplusplus)
|
|
161
|
-
extern "C" {
|
|
162
|
-
#endif//__cplusplus
|
|
163
|
-
|
|
164
|
-
#if defined(X86_ASM)
|
|
165
|
-
|
|
166
|
-
// for pfGetVarianceFromIntraVaa SIMD optimization, 6/7/2010
|
|
167
|
-
int32_t AnalysisVaaInfoIntra_sse2 (uint8_t* pDataY, const int32_t kiLineSize);
|
|
168
|
-
int32_t AnalysisVaaInfoIntra_ssse3 (uint8_t* pDataY, const int32_t kiLineSize);
|
|
169
|
-
uint8_t MdInterAnalysisVaaInfo_sse2 (int32_t* pSad8x8);
|
|
170
|
-
uint8_t MdInterAnalysisVaaInfo_sse41 (int32_t* pSad8x8);
|
|
171
|
-
void UpdateMbMv_sse2 (SMVUnitXY* pMvBuffer, const SMVUnitXY ksMv);
|
|
172
|
-
|
|
173
|
-
#endif//X86_ASM
|
|
174
|
-
|
|
175
|
-
#if defined(__cplusplus)
|
|
176
|
-
}
|
|
177
|
-
#endif//__cplusplus
|
|
178
|
-
|
|
179
|
-
}
|
|
180
|
-
#endif//WELS_MACROBLOCK_MODE_DECISION_H__
|
|
181
|
-
|
|
@@ -1,91 +0,0 @@
|
|
|
1
|
-
/*!
|
|
2
|
-
* \copy
|
|
3
|
-
* Copyright (c) 2010-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 mt_defs.h
|
|
33
|
-
*
|
|
34
|
-
* \brief Main macros for multiple threading implementation
|
|
35
|
-
*
|
|
36
|
-
* \date 2/26/2010 Created
|
|
37
|
-
*
|
|
38
|
-
*************************************************************************************
|
|
39
|
-
*/
|
|
40
|
-
#if !defined(MULTIPLE_THREADING_DEFINES_H__)
|
|
41
|
-
#define MULTIPLE_THREADING_DEFINES_H__
|
|
42
|
-
|
|
43
|
-
#include "typedefs.h"
|
|
44
|
-
#include "codec_app_def.h"
|
|
45
|
-
#include "wels_const.h"
|
|
46
|
-
#include "WelsThreadLib.h"
|
|
47
|
-
#include "slice.h"
|
|
48
|
-
|
|
49
|
-
using namespace WelsEnc;
|
|
50
|
-
/*
|
|
51
|
-
* MT_DEBUG: output trace MT related into log file
|
|
52
|
-
*/
|
|
53
|
-
//#define MT_DEBUG
|
|
54
|
-
//#define ENABLE_TRACE_MT
|
|
55
|
-
|
|
56
|
-
#define THRESHOLD_RMSE_CORE8 0.0320f // v1.1: 0.0320f; v1.0: 0.02f
|
|
57
|
-
#define THRESHOLD_RMSE_CORE4 0.0215f // v1.1: 0.0215f; v1.0: 0.03f
|
|
58
|
-
#define THRESHOLD_RMSE_CORE2 0.0200f // v1.1: 0.0200f; v1.0: 0.04f
|
|
59
|
-
|
|
60
|
-
typedef struct TagSliceThreadPrivateData {
|
|
61
|
-
void* pWelsPEncCtx;
|
|
62
|
-
SFrameBSInfo* pFrameBsInfo;
|
|
63
|
-
int32_t iSliceIndex; // slice index, zero based
|
|
64
|
-
int32_t iThreadIndex; // thread index, zero based
|
|
65
|
-
|
|
66
|
-
} SSliceThreadPrivateData;
|
|
67
|
-
|
|
68
|
-
typedef struct TagSliceThreading {
|
|
69
|
-
SSliceThreadPrivateData* pThreadPEncCtx;// thread context, [iThreadIdx]
|
|
70
|
-
char eventNamespace[100];
|
|
71
|
-
WELS_THREAD_HANDLE pThreadHandles[MAX_THREADS_NUM];// thread handles, [iThreadIdx]
|
|
72
|
-
WELS_EVENT pSliceCodedEvent[MAX_THREADS_NUM];// events for slice coded state, [iThreadIdx]
|
|
73
|
-
WELS_EVENT pSliceCodedMasterEvent; // events for signalling that some event in pSliceCodedEvent has been signalled
|
|
74
|
-
WELS_EVENT pReadySliceCodingEvent[MAX_THREADS_NUM]; // events for slice coding ready, [iThreadIdx]
|
|
75
|
-
WELS_EVENT pUpdateMbListEvent[MAX_THREADS_NUM]; // signal to update mb list neighbor for various slices
|
|
76
|
-
WELS_EVENT pFinUpdateMbListEvent[MAX_THREADS_NUM]; // signal to indicate finish updating mb list
|
|
77
|
-
|
|
78
|
-
WELS_MUTEX mutexSliceNumUpdate; // for dynamic slicing mode MT
|
|
79
|
-
|
|
80
|
-
#ifdef MT_DEBUG
|
|
81
|
-
FILE* pFSliceDiff; // file handle for debug
|
|
82
|
-
#endif//MT_DEBUG
|
|
83
|
-
|
|
84
|
-
uint8_t* pThreadBsBuffer[MAX_THREADS_NUM]; //actual memory for slice buffer
|
|
85
|
-
bool bThreadBsBufferUsage[MAX_THREADS_NUM];
|
|
86
|
-
WELS_MUTEX mutexThreadBsBufferUsage;
|
|
87
|
-
WELS_MUTEX mutexEvent;
|
|
88
|
-
WELS_MUTEX mutexThreadSlcBuffReallocate;
|
|
89
|
-
} SSliceThreading;
|
|
90
|
-
|
|
91
|
-
#endif//MULTIPLE_THREADING_DEFINES_H__
|
|
@@ -1,191 +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 mv_pred.h
|
|
33
|
-
*
|
|
34
|
-
* \brief Get MV predictor and update motion vector of mb cache
|
|
35
|
-
*
|
|
36
|
-
* \date 05/22/2009 Created
|
|
37
|
-
*
|
|
38
|
-
*************************************************************************************
|
|
39
|
-
*/
|
|
40
|
-
|
|
41
|
-
#ifndef WELS_MV_PRED_H__
|
|
42
|
-
#define WELS_MV_PRED_H__
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
#include "svc_enc_macroblock.h"
|
|
46
|
-
#include "mb_cache.h"
|
|
47
|
-
|
|
48
|
-
namespace WelsEnc {
|
|
49
|
-
/*!
|
|
50
|
-
* \brief update pMv and uiRefIndex cache for current MB, only for P_16x16 (SKIP inclusive)
|
|
51
|
-
* \param
|
|
52
|
-
* \param
|
|
53
|
-
*/
|
|
54
|
-
|
|
55
|
-
/*!
|
|
56
|
-
* \brief update pMv and uiRefIndex cache for current MB and pMbCache, only for P_16x16 (SKIP inclusive)
|
|
57
|
-
* \param
|
|
58
|
-
* \param
|
|
59
|
-
*/
|
|
60
|
-
void UpdateP16x16MotionInfo (SMbCache* pMbCache, SMB* pCurMb, const int8_t kiRef, SMVUnitXY* pMv); //for encoder
|
|
61
|
-
|
|
62
|
-
/*!
|
|
63
|
-
* \brief update pMv and uiRefIndex cache for current MB and pMbCache, only for P_16x8
|
|
64
|
-
* \param
|
|
65
|
-
* \param
|
|
66
|
-
*/
|
|
67
|
-
void UpdateP16x8MotionInfo (SMbCache* pMbCache, SMB* pCurMb, const int32_t kiPartIdx, const int8_t kiRef,
|
|
68
|
-
SMVUnitXY* pMv);
|
|
69
|
-
|
|
70
|
-
/*!
|
|
71
|
-
* \brief update pMv and uiRefIndex cache for current MB and pMbCache, only for P_8x16
|
|
72
|
-
* \param
|
|
73
|
-
* \param
|
|
74
|
-
*/
|
|
75
|
-
void update_P8x16_motion_info (SMbCache* pMbCache, SMB* pCurMb, const int32_t kiPartIdx, const int8_t kiRef,
|
|
76
|
-
SMVUnitXY* pMv);
|
|
77
|
-
|
|
78
|
-
/*!
|
|
79
|
-
* \brief update pMv and uiRefIndex cache for current MB and pMbCache, only for P_8x8
|
|
80
|
-
* \param
|
|
81
|
-
* \param
|
|
82
|
-
*/
|
|
83
|
-
void UpdateP8x8MotionInfo (SMbCache* pMbCache, SMB* pCurMb, const int32_t kiPartIdx, const int8_t kiRef,
|
|
84
|
-
SMVUnitXY* pMv);
|
|
85
|
-
|
|
86
|
-
/*!
|
|
87
|
-
* \brief update pMv and uiRefIndex cache for current MB and pMbCache, only for P_4x4
|
|
88
|
-
* \param
|
|
89
|
-
* \param
|
|
90
|
-
*/
|
|
91
|
-
void UpdateP4x4MotionInfo (SMbCache* pMbCache, SMB* pCurMb, const int32_t kiPartIdx, const int8_t kiRef,
|
|
92
|
-
SMVUnitXY* pMv);
|
|
93
|
-
|
|
94
|
-
/*!
|
|
95
|
-
* \brief update pMv and uiRefIndex cache for current MB and pMbCache, only for P_8x4
|
|
96
|
-
* \param
|
|
97
|
-
* \param
|
|
98
|
-
*/
|
|
99
|
-
void UpdateP8x4MotionInfo (SMbCache* pMbCache, SMB* pCurMb, const int32_t kiPartIdx, const int8_t kiRef,
|
|
100
|
-
SMVUnitXY* pMv);
|
|
101
|
-
|
|
102
|
-
/*!
|
|
103
|
-
* \brief update pMv and uiRefIndex cache for current MB and pMbCache, only for P_4x8
|
|
104
|
-
* \param
|
|
105
|
-
* \param
|
|
106
|
-
*/
|
|
107
|
-
void UpdateP4x8MotionInfo (SMbCache* pMbCache, SMB* pCurMb, const int32_t kiPartIdx, const int8_t kiRef,
|
|
108
|
-
SMVUnitXY* pMv);
|
|
109
|
-
|
|
110
|
-
/*!
|
|
111
|
-
* \brief get the motion predictor for 4*4 or 8*8 or 16*16 block
|
|
112
|
-
* \param
|
|
113
|
-
* \param output mvp_x and mvp_y
|
|
114
|
-
*/
|
|
115
|
-
void PredMv (const SMVComponentUnit* kpMvComp, int8_t iPartIdx, int8_t iPartW, int32_t iRef, SMVUnitXY* sMvp);
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
/*!
|
|
119
|
-
* \brief get the motion predictor for SKIP MB
|
|
120
|
-
* \param
|
|
121
|
-
* \param output mvp_x and mvp_y
|
|
122
|
-
*/
|
|
123
|
-
void PredSkipMv (SMbCache* pMbCache, SMVUnitXY* sMvp);
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
/*!
|
|
127
|
-
* \brief get the motion predictor for inter16x8 MB
|
|
128
|
-
* \param
|
|
129
|
-
* \param output mvp_x and mvp_y
|
|
130
|
-
*/
|
|
131
|
-
void PredInter16x8Mv (SMbCache* pMbCache, int32_t iPartIdx, int8_t iRef, SMVUnitXY* sMvp);
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
/*!
|
|
135
|
-
* \brief get the motion predictor for inter8x16 MB
|
|
136
|
-
* \param
|
|
137
|
-
* \param output mvp_x and mvp_y
|
|
138
|
-
*/
|
|
139
|
-
void PredInter8x16Mv (SMbCache* pMbCache, int32_t iPartIdx, int8_t iRef, SMVUnitXY* sMvp);
|
|
140
|
-
|
|
141
|
-
//=========================update motion info(MV and ref_idx) into Mb_cache==========================
|
|
142
|
-
/*!
|
|
143
|
-
* \brief only update pMv cache for current MB, only for P_16x16
|
|
144
|
-
* \param
|
|
145
|
-
* \param
|
|
146
|
-
*/
|
|
147
|
-
//void update_p16x16_motion2cache(SMbCache* pMbCache, int8_t pRef, SMVUnitXY* pMv);
|
|
148
|
-
|
|
149
|
-
/*!
|
|
150
|
-
* \brief only update pMv cache for current MB, only for P_16x8
|
|
151
|
-
* \param
|
|
152
|
-
* \param
|
|
153
|
-
*/
|
|
154
|
-
void UpdateP16x8Motion2Cache (SMbCache* pMbCache, int32_t iPartIdx, int8_t iRef, SMVUnitXY* pMv);
|
|
155
|
-
|
|
156
|
-
/*!
|
|
157
|
-
* \brief only update pMv cache for current MB, only for P_8x16
|
|
158
|
-
* \param
|
|
159
|
-
* \param
|
|
160
|
-
*/
|
|
161
|
-
void UpdateP8x16Motion2Cache (SMbCache* pMbCache, int32_t iPartIdx, int8_t iRef, SMVUnitXY* pMv);
|
|
162
|
-
|
|
163
|
-
/*!
|
|
164
|
-
* \brief only update pMv cache for current MB, only for P_8x8
|
|
165
|
-
* \param
|
|
166
|
-
* \param
|
|
167
|
-
*/
|
|
168
|
-
void UpdateP8x8Motion2Cache (SMbCache* pMbCache, int32_t iPartIdx, int8_t iRef, SMVUnitXY* pMv);
|
|
169
|
-
|
|
170
|
-
/*!
|
|
171
|
-
* \brief only update pMv cache for current MB, only for P_4x4
|
|
172
|
-
* \param
|
|
173
|
-
* \param
|
|
174
|
-
*/
|
|
175
|
-
void UpdateP4x4Motion2Cache (SMbCache* pMbCache, int32_t iPartIdx, int8_t iRef, SMVUnitXY* pMv);
|
|
176
|
-
|
|
177
|
-
/*!
|
|
178
|
-
* \brief only update pMv cache for current MB, only for P_8x4
|
|
179
|
-
* \param
|
|
180
|
-
* \param
|
|
181
|
-
*/
|
|
182
|
-
void UpdateP8x4Motion2Cache (SMbCache* pMbCache, int32_t iPartIdx, int8_t iRef, SMVUnitXY* pMv);
|
|
183
|
-
|
|
184
|
-
/*!
|
|
185
|
-
* \brief only update pMv cache for current MB, only for P_4x8
|
|
186
|
-
* \param
|
|
187
|
-
* \param
|
|
188
|
-
*/
|
|
189
|
-
void UpdateP4x8Motion2Cache (SMbCache* pMbCache, int32_t iPartIdx, int8_t iRef, SMVUnitXY* pMv);
|
|
190
|
-
}
|
|
191
|
-
#endif//WELS_MV_PRED_H__
|