@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,373 +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_defs.h
|
|
34
|
-
#ifndef WELS_COMMON_DEFS_H__
|
|
35
|
-
#define WELS_COMMON_DEFS_H__
|
|
36
|
-
|
|
37
|
-
#include "typedefs.h"
|
|
38
|
-
#include "macros.h"
|
|
39
|
-
#include "codec_app_def.h"
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
namespace WelsCommon {
|
|
43
|
-
/*common use table*/
|
|
44
|
-
|
|
45
|
-
#define CTX_NA 0
|
|
46
|
-
#define WELS_CONTEXT_COUNT 460
|
|
47
|
-
#define LEVEL_NUMBER 17
|
|
48
|
-
typedef struct TagLevelLimits {
|
|
49
|
-
ELevelIdc uiLevelIdc; // level idc
|
|
50
|
-
uint32_t uiMaxMBPS; // Max macroblock processing rate(MB/s)
|
|
51
|
-
uint32_t uiMaxFS; // Max frame sizea(MBs)
|
|
52
|
-
uint32_t uiMaxDPBMbs;// Max decoded picture buffer size(MBs)
|
|
53
|
-
uint32_t uiMaxBR; // Max video bit rate
|
|
54
|
-
uint32_t uiMaxCPB; // Max CPB size
|
|
55
|
-
int16_t iMinVmv; // Vertical MV component range upper bound
|
|
56
|
-
int16_t iMaxVmv; // Vertical MV component range lower bound
|
|
57
|
-
uint16_t uiMinCR; // Min compression ration
|
|
58
|
-
int16_t iMaxMvsPer2Mb; // Max number of motion vectors per two consecutive MBs
|
|
59
|
-
} SLevelLimits;
|
|
60
|
-
|
|
61
|
-
#define CpbBrNalFactor 1200 //baseline,main,and extended profiles.
|
|
62
|
-
extern const SLevelLimits g_ksLevelLimits[LEVEL_NUMBER];
|
|
63
|
-
extern const uint32_t g_kuiLevelMaps[LEVEL_NUMBER];
|
|
64
|
-
extern const uint8_t g_kuiMbCountScan4Idx[24];
|
|
65
|
-
extern const uint8_t g_kuiCache30ScanIdx[16];
|
|
66
|
-
extern const uint8_t g_kuiCache48CountScan4Idx[24];
|
|
67
|
-
|
|
68
|
-
extern const uint8_t g_kuiMatrixV[6][8][8];
|
|
69
|
-
|
|
70
|
-
extern const uint8_t g_kuiDequantScaling4x4Default[2][16];
|
|
71
|
-
extern const uint8_t g_kuiDequantScaling8x8Default[2][64];
|
|
72
|
-
extern const ALIGNED_DECLARE (uint16_t, g_kuiDequantCoeff[52][8], 16);
|
|
73
|
-
extern const ALIGNED_DECLARE (uint16_t, g_kuiDequantCoeff8x8[52][64], 16);
|
|
74
|
-
extern const uint8_t g_kuiChromaQpTable[52];
|
|
75
|
-
|
|
76
|
-
extern const uint8_t g_kuiCabacRangeLps[64][4];
|
|
77
|
-
extern const int8_t g_kiCabacGlobalContextIdx[WELS_CONTEXT_COUNT][4][2];
|
|
78
|
-
extern const uint8_t g_kuiStateTransTable[64][2];
|
|
79
|
-
extern const uint32_t g_kuiGolombUELength[256];
|
|
80
|
-
/*
|
|
81
|
-
* NAL Unit Type (5 Bits)
|
|
82
|
-
*/
|
|
83
|
-
enum EWelsNalUnitType {
|
|
84
|
-
NAL_UNIT_UNSPEC_0 = 0,
|
|
85
|
-
NAL_UNIT_CODED_SLICE = 1,
|
|
86
|
-
NAL_UNIT_CODED_SLICE_DPA = 2,
|
|
87
|
-
NAL_UNIT_CODED_SLICE_DPB = 3,
|
|
88
|
-
NAL_UNIT_CODED_SLICE_DPC = 4,
|
|
89
|
-
NAL_UNIT_CODED_SLICE_IDR = 5,
|
|
90
|
-
NAL_UNIT_SEI = 6,
|
|
91
|
-
NAL_UNIT_SPS = 7,
|
|
92
|
-
NAL_UNIT_PPS = 8,
|
|
93
|
-
NAL_UNIT_AU_DELIMITER = 9,
|
|
94
|
-
NAL_UNIT_END_OF_SEQ = 10,
|
|
95
|
-
NAL_UNIT_END_OF_STR = 11,
|
|
96
|
-
NAL_UNIT_FILLER_DATA = 12,
|
|
97
|
-
NAL_UNIT_SPS_EXT = 13,
|
|
98
|
-
NAL_UNIT_PREFIX = 14,
|
|
99
|
-
NAL_UNIT_SUBSET_SPS = 15,
|
|
100
|
-
NAL_UNIT_DEPTH_PARAM = 16, // NAL_UNIT_RESV_16
|
|
101
|
-
NAL_UNIT_RESV_17 = 17,
|
|
102
|
-
NAL_UNIT_RESV_18 = 18,
|
|
103
|
-
NAL_UNIT_AUX_CODED_SLICE = 19,
|
|
104
|
-
NAL_UNIT_CODED_SLICE_EXT = 20,
|
|
105
|
-
NAL_UNIT_MVC_SLICE_EXT = 21, // NAL_UNIT_RESV_21
|
|
106
|
-
NAL_UNIT_RESV_22 = 22,
|
|
107
|
-
NAL_UNIT_RESV_23 = 23,
|
|
108
|
-
NAL_UNIT_UNSPEC_24 = 24,
|
|
109
|
-
NAL_UNIT_UNSPEC_25 = 25,
|
|
110
|
-
NAL_UNIT_UNSPEC_26 = 26,
|
|
111
|
-
NAL_UNIT_UNSPEC_27 = 27,
|
|
112
|
-
NAL_UNIT_UNSPEC_28 = 28,
|
|
113
|
-
NAL_UNIT_UNSPEC_29 = 29,
|
|
114
|
-
NAL_UNIT_UNSPEC_30 = 30,
|
|
115
|
-
NAL_UNIT_UNSPEC_31 = 31
|
|
116
|
-
};
|
|
117
|
-
|
|
118
|
-
/*
|
|
119
|
-
* NAL Reference IDC (2 Bits)
|
|
120
|
-
*/
|
|
121
|
-
|
|
122
|
-
enum EWelsNalRefIdc {
|
|
123
|
-
NRI_PRI_LOWEST = 0,
|
|
124
|
-
NRI_PRI_LOW = 1,
|
|
125
|
-
NRI_PRI_HIGH = 2,
|
|
126
|
-
NRI_PRI_HIGHEST = 3
|
|
127
|
-
};
|
|
128
|
-
|
|
129
|
-
/*
|
|
130
|
-
* VCL TYPE
|
|
131
|
-
*/
|
|
132
|
-
|
|
133
|
-
enum EVclType {
|
|
134
|
-
NON_VCL = 0,
|
|
135
|
-
VCL = 1,
|
|
136
|
-
NOT_APP = 2
|
|
137
|
-
};
|
|
138
|
-
|
|
139
|
-
/*
|
|
140
|
-
* vcl type map for given NAL unit type and corresponding H264 type (0: AVC; 1: SVC).
|
|
141
|
-
*/
|
|
142
|
-
extern const EVclType g_keTypeMap[32][2];
|
|
143
|
-
|
|
144
|
-
#define IS_VCL_NAL(t, ext_idx) (g_keTypeMap[t][ext_idx] == VCL)
|
|
145
|
-
#define IS_PARAM_SETS_NALS(t) ( (t) == NAL_UNIT_SPS || (t) == NAL_UNIT_PPS || (t) == NAL_UNIT_SUBSET_SPS )
|
|
146
|
-
#define IS_SPS_NAL(t) ( (t) == NAL_UNIT_SPS )
|
|
147
|
-
#define IS_SUBSET_SPS_NAL(t) ( (t) == NAL_UNIT_SUBSET_SPS )
|
|
148
|
-
#define IS_PPS_NAL(t) ( (t) == NAL_UNIT_PPS )
|
|
149
|
-
#define IS_SEI_NAL(t) ( (t) == NAL_UNIT_SEI )
|
|
150
|
-
#define IS_AU_DELIMITER_NAL(t) ( (t) == NAL_UNIT_AU_DELIMITER )
|
|
151
|
-
#define IS_PREFIX_NAL(t) ( (t) == NAL_UNIT_PREFIX )
|
|
152
|
-
#define IS_SUBSET_SPS_USED(t) ( (t) == NAL_UNIT_SUBSET_SPS || (t) == NAL_UNIT_CODED_SLICE_EXT )
|
|
153
|
-
#define IS_VCL_NAL_AVC_BASE(t) ( (t) == NAL_UNIT_CODED_SLICE || (t) == NAL_UNIT_CODED_SLICE_IDR )
|
|
154
|
-
#define IS_NEW_INTRODUCED_SVC_NAL(t) ( (t) == NAL_UNIT_PREFIX || (t) == NAL_UNIT_CODED_SLICE_EXT )
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
/* Base SSlice Types
|
|
158
|
-
* Invalid in case of eSliceType exceeds 9,
|
|
159
|
-
* Need trim when eSliceType > 4 as fixed SliceType(eSliceType-4),
|
|
160
|
-
* meaning mapped version after eSliceType minus 4.
|
|
161
|
-
*/
|
|
162
|
-
|
|
163
|
-
enum EWelsSliceType {
|
|
164
|
-
P_SLICE = 0,
|
|
165
|
-
B_SLICE = 1,
|
|
166
|
-
I_SLICE = 2,
|
|
167
|
-
SP_SLICE = 3,
|
|
168
|
-
SI_SLICE = 4,
|
|
169
|
-
UNKNOWN_SLICE = 5
|
|
170
|
-
};
|
|
171
|
-
|
|
172
|
-
/* SSlice Types in scalable extension */
|
|
173
|
-
enum ESliceTypeExt {
|
|
174
|
-
EP_SLICE = 0, // EP_SLICE: 0, 5
|
|
175
|
-
EB_SLICE = 1, // EB_SLICE: 1, 6
|
|
176
|
-
EI_SLICE = 2 // EI_SLICE: 2, 7
|
|
177
|
-
};
|
|
178
|
-
|
|
179
|
-
/* List Index */
|
|
180
|
-
enum EListIndex {
|
|
181
|
-
LIST_0 = 0,
|
|
182
|
-
LIST_1 = 1,
|
|
183
|
-
LIST_A = 2
|
|
184
|
-
};
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
/* Motion Vector components */
|
|
189
|
-
enum EMvComp {
|
|
190
|
-
MV_X = 0,
|
|
191
|
-
MV_Y = 1,
|
|
192
|
-
MV_A = 2
|
|
193
|
-
};
|
|
194
|
-
|
|
195
|
-
/* Chroma Components */
|
|
196
|
-
|
|
197
|
-
enum EChromaComp {
|
|
198
|
-
CHROMA_CB = 0,
|
|
199
|
-
CHROMA_CR = 1,
|
|
200
|
-
CHROMA_A = 2
|
|
201
|
-
};
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
/*
|
|
206
|
-
* Memory Management Control Operation (MMCO) code
|
|
207
|
-
*/
|
|
208
|
-
enum EMmcoCode {
|
|
209
|
-
MMCO_END = 0,
|
|
210
|
-
MMCO_SHORT2UNUSED = 1,
|
|
211
|
-
MMCO_LONG2UNUSED = 2,
|
|
212
|
-
MMCO_SHORT2LONG = 3,
|
|
213
|
-
MMCO_SET_MAX_LONG = 4,
|
|
214
|
-
MMCO_RESET = 5,
|
|
215
|
-
MMCO_LONG = 6
|
|
216
|
-
};
|
|
217
|
-
|
|
218
|
-
enum EVuiVideoFormat {
|
|
219
|
-
VUI_COMPONENT = 0,
|
|
220
|
-
VUI_PAL = 1,
|
|
221
|
-
VUI_NTSC = 2,
|
|
222
|
-
VUI_SECAM = 3,
|
|
223
|
-
VUI_MAC = 4,
|
|
224
|
-
VUI_UNSPECIFIED = 5,
|
|
225
|
-
VUI_RESERVED1 = 6,
|
|
226
|
-
VUI_RESERVED2 = 7
|
|
227
|
-
};
|
|
228
|
-
|
|
229
|
-
/*
|
|
230
|
-
* Bit-stream auxiliary reading / writing
|
|
231
|
-
*/
|
|
232
|
-
typedef struct TagBitStringAux {
|
|
233
|
-
uint8_t* pStartBuf; // buffer to start position
|
|
234
|
-
uint8_t* pEndBuf; // buffer + length
|
|
235
|
-
int32_t iBits; // count bits of overall bitstreaming input
|
|
236
|
-
|
|
237
|
-
intX_t iIndex; //only for cavlc usage
|
|
238
|
-
uint8_t* pCurBuf; // current reading position
|
|
239
|
-
uint32_t uiCurBits;
|
|
240
|
-
int32_t iLeftBits; // count number of available bits left ([1, 8]),
|
|
241
|
-
// need pointer to next byte start position in case 0 bit left then 8 instead
|
|
242
|
-
} SBitStringAux, *PBitStringAux;
|
|
243
|
-
|
|
244
|
-
/* NAL Unix Header in AVC, refer to Page 56 in JVT X201wcm */
|
|
245
|
-
typedef struct TagNalUnitHeader {
|
|
246
|
-
uint8_t uiForbiddenZeroBit;
|
|
247
|
-
uint8_t uiNalRefIdc;
|
|
248
|
-
EWelsNalUnitType eNalUnitType;
|
|
249
|
-
uint8_t uiReservedOneByte; // only padding usage
|
|
250
|
-
} SNalUnitHeader, *PNalUnitHeader;
|
|
251
|
-
|
|
252
|
-
/* NAL Unit Header in scalable extension syntax, refer to Page 390 in JVT X201wcm */
|
|
253
|
-
typedef struct TagNalUnitHeaderExt {
|
|
254
|
-
SNalUnitHeader sNalUnitHeader;
|
|
255
|
-
|
|
256
|
-
// uint8_t reserved_one_bit;
|
|
257
|
-
bool bIdrFlag;
|
|
258
|
-
uint8_t uiPriorityId;
|
|
259
|
-
int8_t iNoInterLayerPredFlag; // change as int8_t to support 3 values probably in encoder
|
|
260
|
-
uint8_t uiDependencyId;
|
|
261
|
-
|
|
262
|
-
uint8_t uiQualityId;
|
|
263
|
-
uint8_t uiTemporalId;
|
|
264
|
-
bool bUseRefBasePicFlag;
|
|
265
|
-
bool bDiscardableFlag;
|
|
266
|
-
|
|
267
|
-
bool bOutputFlag;
|
|
268
|
-
uint8_t uiReservedThree2Bits;
|
|
269
|
-
// Derived variable(s)
|
|
270
|
-
uint8_t uiLayerDqId;
|
|
271
|
-
bool bNalExtFlag;
|
|
272
|
-
} SNalUnitHeaderExt, *PNalUnitHeaderExt;
|
|
273
|
-
|
|
274
|
-
/* AVC MB types*/
|
|
275
|
-
#define MB_TYPE_INTRA4x4 0x00000001
|
|
276
|
-
#define MB_TYPE_INTRA16x16 0x00000002
|
|
277
|
-
#define MB_TYPE_INTRA8x8 0x00000004
|
|
278
|
-
#define MB_TYPE_16x16 0x00000008
|
|
279
|
-
#define MB_TYPE_16x8 0x00000010
|
|
280
|
-
#define MB_TYPE_8x16 0x00000020
|
|
281
|
-
#define MB_TYPE_8x8 0x00000040
|
|
282
|
-
#define MB_TYPE_8x8_REF0 0x00000080
|
|
283
|
-
#define MB_TYPE_SKIP 0x00000100
|
|
284
|
-
#define MB_TYPE_INTRA_PCM 0x00000200
|
|
285
|
-
#define MB_TYPE_INTRA_BL 0x00000400
|
|
286
|
-
#define MB_TYPE_DIRECT 0x00000800
|
|
287
|
-
#define MB_TYPE_P0L0 0x00001000
|
|
288
|
-
#define MB_TYPE_P1L0 0x00002000
|
|
289
|
-
#define MB_TYPE_P0L1 0x00004000
|
|
290
|
-
#define MB_TYPE_P1L1 0x00008000
|
|
291
|
-
#define MB_TYPE_L0 (MB_TYPE_P0L0 | MB_TYPE_P1L0)
|
|
292
|
-
#define MB_TYPE_L1 (MB_TYPE_P0L1 | MB_TYPE_P1L1)
|
|
293
|
-
|
|
294
|
-
#define SUB_MB_TYPE_8x8 0x00000001
|
|
295
|
-
#define SUB_MB_TYPE_8x4 0x00000002
|
|
296
|
-
#define SUB_MB_TYPE_4x8 0x00000004
|
|
297
|
-
#define SUB_MB_TYPE_4x4 0x00000008
|
|
298
|
-
|
|
299
|
-
#define MB_TYPE_INTRA (MB_TYPE_INTRA4x4 | MB_TYPE_INTRA16x16 | MB_TYPE_INTRA8x8 | MB_TYPE_INTRA_PCM)
|
|
300
|
-
#define MB_TYPE_INTER (MB_TYPE_16x16 | MB_TYPE_16x8 | MB_TYPE_8x16 | MB_TYPE_8x8 | MB_TYPE_8x8_REF0 | MB_TYPE_SKIP | MB_TYPE_DIRECT)
|
|
301
|
-
#define IS_INTRA4x4(type) ( MB_TYPE_INTRA4x4 == (type) )
|
|
302
|
-
#define IS_INTRA8x8(type) ( MB_TYPE_INTRA8x8 == (type) )
|
|
303
|
-
#define IS_INTRANxN(type) ( MB_TYPE_INTRA4x4 == (type) || MB_TYPE_INTRA8x8 == (type) )
|
|
304
|
-
#define IS_INTRA16x16(type) ( MB_TYPE_INTRA16x16 == (type) )
|
|
305
|
-
#define IS_INTRA(type) ( (type)&MB_TYPE_INTRA )
|
|
306
|
-
#define IS_INTER(type) ( (type)&MB_TYPE_INTER )
|
|
307
|
-
#define IS_INTER_16x16(type) ( (type)&MB_TYPE_16x16 )
|
|
308
|
-
#define IS_INTER_16x8(type) ( (type)&MB_TYPE_16x8 )
|
|
309
|
-
#define IS_INTER_8x16(type) ( (type)&MB_TYPE_8x16 )
|
|
310
|
-
#define IS_TYPE_L0(type) ( (type)&MB_TYPE_L0 )
|
|
311
|
-
#define IS_TYPE_L1(type) ( (type)&MB_TYPE_L1 )
|
|
312
|
-
#define IS_DIR(a, part, list) ((a) & (MB_TYPE_P0L0<<((part)+2*(list))))
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
#define IS_SKIP(type) ( ((type)&MB_TYPE_SKIP) != 0 )
|
|
316
|
-
#define IS_DIRECT(type) ( ((type)&MB_TYPE_DIRECT) != 0 )
|
|
317
|
-
#define IS_SVC_INTER(type) IS_INTER(type)
|
|
318
|
-
#define IS_I_BL(type) ( (type) == MB_TYPE_INTRA_BL )
|
|
319
|
-
#define IS_SVC_INTRA(type) ( IS_I_BL(type) || IS_INTRA(type) )
|
|
320
|
-
#define IS_Inter_8x8(type) ( ((type)&MB_TYPE_8x8) != 0)
|
|
321
|
-
#define IS_SUB_8x8(sub_type) (((sub_type)&SUB_MB_TYPE_8x8) != 0)
|
|
322
|
-
#define IS_SUB_8x4(sub_type) (((sub_type)&SUB_MB_TYPE_8x4) != 0)
|
|
323
|
-
#define IS_SUB_4x8(sub_type) (((sub_type)&SUB_MB_TYPE_4x8) != 0)
|
|
324
|
-
#define IS_SUB_4x4(sub_type) (((sub_type)&SUB_MB_TYPE_4x4) != 0)
|
|
325
|
-
|
|
326
|
-
#define REF_NOT_AVAIL -2
|
|
327
|
-
#define REF_NOT_IN_LIST -1 //intra
|
|
328
|
-
|
|
329
|
-
/////////intra16x16 Luma
|
|
330
|
-
#define I16_PRED_INVALID -1
|
|
331
|
-
#define I16_PRED_V 0
|
|
332
|
-
#define I16_PRED_H 1
|
|
333
|
-
#define I16_PRED_DC 2
|
|
334
|
-
#define I16_PRED_P 3
|
|
335
|
-
|
|
336
|
-
#define I16_PRED_DC_L 4
|
|
337
|
-
#define I16_PRED_DC_T 5
|
|
338
|
-
#define I16_PRED_DC_128 6
|
|
339
|
-
#define I16_PRED_DC_A 7
|
|
340
|
-
//////////intra4x4 Luma
|
|
341
|
-
// Here, I8x8 also use these definitions
|
|
342
|
-
#define I4_PRED_INVALID 0
|
|
343
|
-
#define I4_PRED_V 0
|
|
344
|
-
#define I4_PRED_H 1
|
|
345
|
-
#define I4_PRED_DC 2
|
|
346
|
-
#define I4_PRED_DDL 3 //diagonal_down_left
|
|
347
|
-
#define I4_PRED_DDR 4 //diagonal_down_right
|
|
348
|
-
#define I4_PRED_VR 5 //vertical_right
|
|
349
|
-
#define I4_PRED_HD 6 //horizon_down
|
|
350
|
-
#define I4_PRED_VL 7 //vertical_left
|
|
351
|
-
#define I4_PRED_HU 8 //horizon_up
|
|
352
|
-
|
|
353
|
-
#define I4_PRED_DC_L 9
|
|
354
|
-
#define I4_PRED_DC_T 10
|
|
355
|
-
#define I4_PRED_DC_128 11
|
|
356
|
-
|
|
357
|
-
#define I4_PRED_DDL_TOP 12 //right-top replacing by padding rightmost pixel of top
|
|
358
|
-
#define I4_PRED_VL_TOP 13 //right-top replacing by padding rightmost pixel of top
|
|
359
|
-
#define I4_PRED_A 14
|
|
360
|
-
|
|
361
|
-
//////////intra Chroma
|
|
362
|
-
#define C_PRED_INVALID -1
|
|
363
|
-
#define C_PRED_DC 0
|
|
364
|
-
#define C_PRED_H 1
|
|
365
|
-
#define C_PRED_V 2
|
|
366
|
-
#define C_PRED_P 3
|
|
367
|
-
|
|
368
|
-
#define C_PRED_DC_L 4
|
|
369
|
-
#define C_PRED_DC_T 5
|
|
370
|
-
#define C_PRED_DC_128 6
|
|
371
|
-
#define C_PRED_A 7
|
|
372
|
-
}
|
|
373
|
-
#endif//WELS_COMMON_DEFS_H__
|
|
@@ -1,63 +0,0 @@
|
|
|
1
|
-
/*!
|
|
2
|
-
* \copy
|
|
3
|
-
* Copyright (c) 2013, Cisco Systems
|
|
4
|
-
* All rights reserved.
|
|
5
|
-
*
|
|
6
|
-
* Redistribution and use in source and binary forms, with or without
|
|
7
|
-
* modification, are permitted provided that the following conditions
|
|
8
|
-
* are met:
|
|
9
|
-
*
|
|
10
|
-
* * Redistributions of source code must retain the above copyright
|
|
11
|
-
* notice, this list of conditions and the following disclaimer.
|
|
12
|
-
*
|
|
13
|
-
* * Redistributions in binary form must reproduce the above copyright
|
|
14
|
-
* notice, this list of conditions and the following disclaimer in
|
|
15
|
-
* the documentation and/or other materials provided with the
|
|
16
|
-
* distribution.
|
|
17
|
-
*
|
|
18
|
-
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
|
19
|
-
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
|
20
|
-
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
|
21
|
-
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
|
22
|
-
* COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
|
23
|
-
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
|
24
|
-
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
|
25
|
-
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
|
26
|
-
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
|
27
|
-
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
|
28
|
-
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
|
29
|
-
* POSSIBILITY OF SUCH DAMAGE.
|
|
30
|
-
*
|
|
31
|
-
*/
|
|
32
|
-
|
|
33
|
-
#ifndef WELS_CONST_COMMON_H__
|
|
34
|
-
#define WELS_CONST_COMMON_H__
|
|
35
|
-
|
|
36
|
-
// Miscellaneous sizing infos
|
|
37
|
-
#ifndef MAX_FNAME_LEN
|
|
38
|
-
#define MAX_FNAME_LEN 256 // maximal length of file name in char size
|
|
39
|
-
#endif//MAX_FNAME_LEN
|
|
40
|
-
|
|
41
|
-
#ifndef WELS_LOG_BUF_SIZE
|
|
42
|
-
#define WELS_LOG_BUF_SIZE 4096
|
|
43
|
-
#endif//WELS_LOG_BUF_SIZE
|
|
44
|
-
|
|
45
|
-
#ifndef MAX_TRACE_LOG_SIZE
|
|
46
|
-
#define MAX_TRACE_LOG_SIZE (50 * (1<<20)) // max trace log size: 50 MB, overwrite occur if log file size exceeds this size
|
|
47
|
-
#endif//MAX_TRACE_LOG_SIZE
|
|
48
|
-
|
|
49
|
-
/* MB width in pixels for specified colorspace I420 usually used in codec */
|
|
50
|
-
#define MB_WIDTH_LUMA 16
|
|
51
|
-
#define MB_WIDTH_CHROMA (MB_WIDTH_LUMA>>1)
|
|
52
|
-
/* MB height in pixels for specified colorspace I420 usually used in codec */
|
|
53
|
-
#define MB_HEIGHT_LUMA 16
|
|
54
|
-
#define MB_HEIGHT_CHROMA (MB_HEIGHT_LUMA>>1)
|
|
55
|
-
#define MB_COEFF_LIST_SIZE (256+((MB_WIDTH_CHROMA*MB_HEIGHT_CHROMA)<<1))
|
|
56
|
-
#define MB_PARTITION_SIZE 4 // Macroblock partition size in 8x8 sub-blocks
|
|
57
|
-
#define MB_BLOCK4x4_NUM 16
|
|
58
|
-
#define MB_BLOCK8x8_NUM 4
|
|
59
|
-
#define MAX_SPS_COUNT 32 // Count number of SPS
|
|
60
|
-
#define BASE_QUALITY_ID 0
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
#endif//WELS_CONST_COMMON_H__
|
|
@@ -1,194 +0,0 @@
|
|
|
1
|
-
/*!
|
|
2
|
-
* \copy
|
|
3
|
-
* Copyright (c) 2009-2018, 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 copy_mb_lsx.c
|
|
33
|
-
*
|
|
34
|
-
* \brief Loongson optimization
|
|
35
|
-
*
|
|
36
|
-
* \date 12/18/2021 Created
|
|
37
|
-
*
|
|
38
|
-
*************************************************************************************
|
|
39
|
-
*/
|
|
40
|
-
|
|
41
|
-
#include <stdint.h>
|
|
42
|
-
#include "loongson_intrinsics.h"
|
|
43
|
-
|
|
44
|
-
void WelsCopy8x8_lsx (uint8_t* pDst, int32_t iStrideD,
|
|
45
|
-
uint8_t* pSrc, int32_t iStrideS) {
|
|
46
|
-
|
|
47
|
-
int32_t iStride0 = 0;
|
|
48
|
-
int32_t iStride1 = iStrideS << 1;
|
|
49
|
-
int32_t iStride2 = iStride1 << 1;
|
|
50
|
-
|
|
51
|
-
__m128i src0, src1, src2, src3, src4 ,src5, src6, src7;
|
|
52
|
-
|
|
53
|
-
DUP4_ARG2(__lsx_vldx,
|
|
54
|
-
pSrc, iStride0,
|
|
55
|
-
pSrc, iStrideS,
|
|
56
|
-
pSrc, iStride1,
|
|
57
|
-
pSrc, iStride1 + iStrideS,
|
|
58
|
-
src0, src1, src2, src3);
|
|
59
|
-
pSrc += iStride2;
|
|
60
|
-
DUP4_ARG2(__lsx_vldx,
|
|
61
|
-
pSrc, iStride0,
|
|
62
|
-
pSrc, iStrideS,
|
|
63
|
-
pSrc, iStride1,
|
|
64
|
-
pSrc, iStride1 + iStrideS,
|
|
65
|
-
src4, src5, src6, src7);
|
|
66
|
-
|
|
67
|
-
iStride1 = iStrideD << 1;
|
|
68
|
-
|
|
69
|
-
__lsx_vstelm_d(src0, pDst, 0, 0);
|
|
70
|
-
__lsx_vstelm_d(src1, pDst + iStrideD, 0, 0);
|
|
71
|
-
pDst += iStride1;
|
|
72
|
-
__lsx_vstelm_d(src2, pDst, 0, 0);
|
|
73
|
-
__lsx_vstelm_d(src3, pDst + iStrideD, 0, 0);
|
|
74
|
-
pDst += iStride1;
|
|
75
|
-
__lsx_vstelm_d(src4, pDst, 0, 0);
|
|
76
|
-
__lsx_vstelm_d(src5, pDst + iStrideD, 0, 0);
|
|
77
|
-
pDst += iStride1;
|
|
78
|
-
__lsx_vstelm_d(src6, pDst, 0, 0);
|
|
79
|
-
__lsx_vstelm_d(src7, pDst + iStrideD, 0, 0);
|
|
80
|
-
}
|
|
81
|
-
|
|
82
|
-
void WelsCopy16x16_lsx (uint8_t* pDst, int32_t iStrideD,
|
|
83
|
-
uint8_t* pSrc, int32_t iStrideS) {
|
|
84
|
-
int32_t iStride0 = 0;
|
|
85
|
-
int32_t iStride1 = iStrideS;
|
|
86
|
-
int32_t iStride2 = iStrideS << 1;
|
|
87
|
-
int32_t iStride3 = iStride2 + iStrideS;
|
|
88
|
-
int32_t iStride4 = iStrideS << 2;
|
|
89
|
-
|
|
90
|
-
__m128i src0, src1, src2, src3, src4, src5, src6, src7;
|
|
91
|
-
__m128i src8, src9, src10, src11, src12, src13, src14, src15;
|
|
92
|
-
|
|
93
|
-
DUP4_ARG2(__lsx_vldx,
|
|
94
|
-
pSrc, iStride0, pSrc, iStride1,
|
|
95
|
-
pSrc, iStride2, pSrc, iStride3,
|
|
96
|
-
src0, src1, src2, src3);
|
|
97
|
-
pSrc += iStride4;
|
|
98
|
-
DUP4_ARG2(__lsx_vldx,
|
|
99
|
-
pSrc, iStride0, pSrc, iStride1,
|
|
100
|
-
pSrc, iStride2, pSrc, iStride3,
|
|
101
|
-
src4, src5, src6, src7);
|
|
102
|
-
pSrc += iStride4;
|
|
103
|
-
DUP4_ARG2(__lsx_vldx,
|
|
104
|
-
pSrc, iStride0, pSrc, iStride1,
|
|
105
|
-
pSrc, iStride2, pSrc, iStride3,
|
|
106
|
-
src8, src9, src10, src11);
|
|
107
|
-
pSrc += iStride4;
|
|
108
|
-
DUP4_ARG2(__lsx_vldx,
|
|
109
|
-
pSrc, iStride0, pSrc, iStride1,
|
|
110
|
-
pSrc, iStride2, pSrc, iStride3,
|
|
111
|
-
src12, src13, src14, src15);
|
|
112
|
-
|
|
113
|
-
iStride1 = iStrideD;
|
|
114
|
-
iStride2 = iStrideD << 1;
|
|
115
|
-
iStride3 = iStride2 + iStrideD;
|
|
116
|
-
iStride4 = iStrideD << 2;
|
|
117
|
-
|
|
118
|
-
__lsx_vstx(src0, pDst, iStride0);
|
|
119
|
-
__lsx_vstx(src1, pDst, iStride1);
|
|
120
|
-
__lsx_vstx(src2, pDst, iStride2);
|
|
121
|
-
__lsx_vstx(src3, pDst, iStride3);
|
|
122
|
-
pDst += iStride4;
|
|
123
|
-
__lsx_vstx(src4, pDst, iStride0);
|
|
124
|
-
__lsx_vstx(src5, pDst, iStride1);
|
|
125
|
-
__lsx_vstx(src6, pDst, iStride2);
|
|
126
|
-
__lsx_vstx(src7, pDst, iStride3);
|
|
127
|
-
pDst += iStride4;
|
|
128
|
-
__lsx_vstx(src8, pDst, iStride0);
|
|
129
|
-
__lsx_vstx(src9, pDst, iStride1);
|
|
130
|
-
__lsx_vstx(src10, pDst, iStride2);
|
|
131
|
-
__lsx_vstx(src11, pDst, iStride3);
|
|
132
|
-
pDst += iStride4;
|
|
133
|
-
__lsx_vstx(src12, pDst, iStride0);
|
|
134
|
-
__lsx_vstx(src13, pDst, iStride1);
|
|
135
|
-
__lsx_vstx(src14, pDst, iStride2);
|
|
136
|
-
__lsx_vstx(src15, pDst, iStride3);
|
|
137
|
-
}
|
|
138
|
-
|
|
139
|
-
void WelsCopy16x16NotAligned_lsx (uint8_t* pDst, int32_t iStrideD,
|
|
140
|
-
uint8_t* pSrc, int32_t iStrideS) {
|
|
141
|
-
int32_t iStride0 = 0;
|
|
142
|
-
int32_t iStride1 = iStrideS;
|
|
143
|
-
int32_t iStride2 = iStrideS << 1;
|
|
144
|
-
int32_t iStride3 = iStride2 + iStrideS;
|
|
145
|
-
int32_t iStride4 = iStrideS << 2;
|
|
146
|
-
|
|
147
|
-
v16u8_b src0, src1, src2, src3, src4, src5, src6, src7;
|
|
148
|
-
v16u8_b src8, src9, src10, src11, src12, src13, src14, src15;
|
|
149
|
-
|
|
150
|
-
DUP4_ARG2((v16u8_b)__lsx_vldx,
|
|
151
|
-
pSrc, iStride0, pSrc, iStride1,
|
|
152
|
-
pSrc, iStride2, pSrc, iStride3,
|
|
153
|
-
src0, src1, src2, src3);
|
|
154
|
-
pSrc += iStride4;
|
|
155
|
-
DUP4_ARG2((v16u8_b)__lsx_vldx,
|
|
156
|
-
pSrc, iStride0, pSrc, iStride1,
|
|
157
|
-
pSrc, iStride2, pSrc, iStride3,
|
|
158
|
-
src4, src5, src6, src7);
|
|
159
|
-
pSrc += iStride4;
|
|
160
|
-
DUP4_ARG2((v16u8_b)__lsx_vldx,
|
|
161
|
-
pSrc, iStride0, pSrc, iStride1,
|
|
162
|
-
pSrc, iStride2, pSrc, iStride3,
|
|
163
|
-
src8, src9, src10, src11);
|
|
164
|
-
pSrc += iStride4;
|
|
165
|
-
DUP4_ARG2((v16u8_b)__lsx_vldx,
|
|
166
|
-
pSrc, iStride0, pSrc, iStride1,
|
|
167
|
-
pSrc, iStride2, pSrc, iStride3,
|
|
168
|
-
src12, src13, src14, src15);
|
|
169
|
-
|
|
170
|
-
iStride1 = iStrideD;
|
|
171
|
-
iStride2 = iStrideD << 1;
|
|
172
|
-
iStride3 = iStride2 + iStrideD;
|
|
173
|
-
iStride4 = iStrideD << 2;
|
|
174
|
-
|
|
175
|
-
__lsx_vstx((__m128i)src0, pDst, iStride0);
|
|
176
|
-
__lsx_vstx((__m128i)src1, pDst, iStride1);
|
|
177
|
-
__lsx_vstx((__m128i)src2, pDst, iStride2);
|
|
178
|
-
__lsx_vstx((__m128i)src3, pDst, iStride3);
|
|
179
|
-
pDst += iStride4;
|
|
180
|
-
__lsx_vstx((__m128i)src4, pDst, iStride0);
|
|
181
|
-
__lsx_vstx((__m128i)src5, pDst, iStride1);
|
|
182
|
-
__lsx_vstx((__m128i)src6, pDst, iStride2);
|
|
183
|
-
__lsx_vstx((__m128i)src7, pDst, iStride3);
|
|
184
|
-
pDst += iStride4;
|
|
185
|
-
__lsx_vstx((__m128i)src8, pDst, iStride0);
|
|
186
|
-
__lsx_vstx((__m128i)src9, pDst, iStride1);
|
|
187
|
-
__lsx_vstx((__m128i)src10, pDst, iStride2);
|
|
188
|
-
__lsx_vstx((__m128i)src11, pDst, iStride3);
|
|
189
|
-
pDst += iStride4;
|
|
190
|
-
__lsx_vstx((__m128i)src12, pDst, iStride0);
|
|
191
|
-
__lsx_vstx((__m128i)src13, pDst, iStride1);
|
|
192
|
-
__lsx_vstx((__m128i)src14, pDst, iStride2);
|
|
193
|
-
__lsx_vstx((__m128i)src15, pDst, iStride3);
|
|
194
|
-
}
|