@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,130 +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 ___LD_ST_MACROS___
|
|
34
|
-
#define ___LD_ST_MACROS___
|
|
35
|
-
|
|
36
|
-
#include <string.h>
|
|
37
|
-
#include "typedefs.h"
|
|
38
|
-
|
|
39
|
-
#ifdef __GNUC__
|
|
40
|
-
|
|
41
|
-
struct tagUnaligned_64 {
|
|
42
|
-
uint64_t l;
|
|
43
|
-
} __attribute__ ((packed)) __attribute__ ((may_alias));
|
|
44
|
-
struct tagUnaligned_32 {
|
|
45
|
-
uint32_t l;
|
|
46
|
-
} __attribute__ ((packed)) __attribute__ ((may_alias));
|
|
47
|
-
struct tagUnaligned_16 {
|
|
48
|
-
uint16_t l;
|
|
49
|
-
} __attribute__ ((packed)) __attribute__ ((may_alias));
|
|
50
|
-
|
|
51
|
-
#define LD16(a) (((struct tagUnaligned_16 *) (a))->l)
|
|
52
|
-
#define LD32(a) (((struct tagUnaligned_32 *) (a))->l)
|
|
53
|
-
#define LD64(a) (((struct tagUnaligned_64 *) (a))->l)
|
|
54
|
-
|
|
55
|
-
#define STRUCTA(size, align) struct tagUnaligned_##size##_##align {\
|
|
56
|
-
uint##size##_t l; \
|
|
57
|
-
} __attribute__ ((aligned(align))) __attribute__ ((may_alias))
|
|
58
|
-
STRUCTA (16, 2);
|
|
59
|
-
STRUCTA (32, 2);
|
|
60
|
-
STRUCTA (32, 4);
|
|
61
|
-
STRUCTA (64, 2);
|
|
62
|
-
STRUCTA (64, 4);
|
|
63
|
-
STRUCTA (64, 8);
|
|
64
|
-
//#define _USE_STRUCT_INT_CVT
|
|
65
|
-
//#ifdef _USE_STRUCT_INT_CVT
|
|
66
|
-
#define ST16(a, b) (((struct tagUnaligned_16 *) (a))->l) = (b)
|
|
67
|
-
#define ST32(a, b) (((struct tagUnaligned_32 *) (a))->l) = (b)
|
|
68
|
-
#define ST64(a, b) (((struct tagUnaligned_64 *) (a))->l) = (b)
|
|
69
|
-
|
|
70
|
-
#define LDA(a, size, align) (((struct tagUnaligned_##size##_##align *) (a))->l)
|
|
71
|
-
#define STA(a, b, size, align) (((struct tagUnaligned_##size##_##align *) (a))->l) = (b)
|
|
72
|
-
#define LD16A2(a) LDA(a, 16, 2)
|
|
73
|
-
#define LD32A2(a) LDA(a, 32, 2)
|
|
74
|
-
#define LD32A4(a) LDA(a, 32, 4)
|
|
75
|
-
#define LD64A2(a) LDA(a, 64, 2)
|
|
76
|
-
#define LD64A4(a) LDA(a, 64, 4)
|
|
77
|
-
#define LD64A8(a) LDA(a, 64, 8)
|
|
78
|
-
#define ST16A2(a, b) STA(a, b, 16, 2)
|
|
79
|
-
#define ST32A2(a, b) STA(a, b, 32, 2)
|
|
80
|
-
#define ST32A4(a, b) STA(a, b, 32, 4)
|
|
81
|
-
#define ST64A2(a, b) STA(a, b, 64, 2)
|
|
82
|
-
#define ST64A4(a, b) STA(a, b, 64, 4)
|
|
83
|
-
#define ST64A8(a, b) STA(a, b, 64, 8)
|
|
84
|
-
//#else
|
|
85
|
-
//inline void __ST16(void *dst, uint16_t v) { memcpy(dst, &v, 2); }
|
|
86
|
-
//inline void __ST32(void *dst, uint32_t v) { memcpy(dst, &v, 4); }
|
|
87
|
-
//inline void __ST64(void *dst, uint64_t v) { memcpy(dst, &v, 8); }
|
|
88
|
-
//#endif
|
|
89
|
-
|
|
90
|
-
#else
|
|
91
|
-
|
|
92
|
-
//#define INTD16(a) (*((int16_t*)(a)))
|
|
93
|
-
//#define INTD32(a) (*((int32_t*)(a)))
|
|
94
|
-
//#define INTD64(a) (*((int64_t*)(a)))
|
|
95
|
-
|
|
96
|
-
#define LD16(a) (*((uint16_t*)(a)))
|
|
97
|
-
#define LD32(a) (*((uint32_t*)(a)))
|
|
98
|
-
#define LD64(a) (*((uint64_t*)(a)))
|
|
99
|
-
|
|
100
|
-
#define ST16(a, b) *((uint16_t*)(a)) = (b)
|
|
101
|
-
#define ST32(a, b) *((uint32_t*)(a)) = (b)
|
|
102
|
-
#define ST64(a, b) *((uint64_t*)(a)) = (b)
|
|
103
|
-
#define LD16A2 LD16
|
|
104
|
-
#define LD32A2 LD32
|
|
105
|
-
#define LD32A4 LD32
|
|
106
|
-
#define LD64A2 LD64
|
|
107
|
-
#define LD64A4 LD64
|
|
108
|
-
#define LD64A8 LD64
|
|
109
|
-
#define ST16A2 ST16
|
|
110
|
-
#define ST32A2 ST32
|
|
111
|
-
#define ST32A4 ST32
|
|
112
|
-
#define ST64A2 ST64
|
|
113
|
-
#define ST64A4 ST64
|
|
114
|
-
#define ST64A8 ST64
|
|
115
|
-
|
|
116
|
-
#endif /* !__GNUC__ */
|
|
117
|
-
|
|
118
|
-
#ifndef INTD16
|
|
119
|
-
#define INTD16 LD16
|
|
120
|
-
#endif//INTD16
|
|
121
|
-
|
|
122
|
-
#ifndef INTD32
|
|
123
|
-
#define INTD32 LD32
|
|
124
|
-
#endif//INTD32
|
|
125
|
-
|
|
126
|
-
#ifndef INTD64
|
|
127
|
-
#define INTD64 LD64
|
|
128
|
-
#endif//INTD64
|
|
129
|
-
|
|
130
|
-
#endif//___LD_ST_MACROS___
|
|
@@ -1,329 +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 macros.h
|
|
33
|
-
*
|
|
34
|
-
* \brief MACRO based tool utilization
|
|
35
|
-
*
|
|
36
|
-
* \date 3/13/2009 Created
|
|
37
|
-
*
|
|
38
|
-
*************************************************************************************
|
|
39
|
-
*/
|
|
40
|
-
#ifndef WELS_MACRO_UTILIZATIONS_H__
|
|
41
|
-
#define WELS_MACRO_UTILIZATIONS_H__
|
|
42
|
-
|
|
43
|
-
#include <math.h>
|
|
44
|
-
#include <assert.h>
|
|
45
|
-
#include <string.h>
|
|
46
|
-
#include "typedefs.h"
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
/*
|
|
50
|
-
* ENFORCE_STACK_ALIGN_1D: force 1 dimension local data aligned in stack
|
|
51
|
-
* _tp: type
|
|
52
|
-
* _nm: var name
|
|
53
|
-
* _sz: size
|
|
54
|
-
* _al: align bytes
|
|
55
|
-
* auxiliary var: _nm ## _tEmP
|
|
56
|
-
*/
|
|
57
|
-
#define ENFORCE_STACK_ALIGN_1D(_tp, _nm, _sz, _al) \
|
|
58
|
-
_tp _nm ## _tEmP[(_sz)+(_al)-1]; \
|
|
59
|
-
_tp *_nm = _nm ## _tEmP + ((_al)-1) - (((uintptr_t)(_nm ## _tEmP + ((_al)-1)) & ((_al)-1))/sizeof(_tp));
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
#define ENFORCE_STACK_ALIGN_2D(_tp, _nm, _cx, _cy, _al) \
|
|
63
|
-
assert( ((_al) && !((_al) & ((_al) - 1))) && ((_al) >= sizeof(_tp)) ); /*_al should be power-of-2 and >= sizeof(_tp)*/\
|
|
64
|
-
_tp _nm ## _tEmP[(_cx)*(_cy)+(_al)/sizeof(_tp)-1]; \
|
|
65
|
-
_tp *_nm ## _tEmP_al = _nm ## _tEmP + ((_al)/sizeof(_tp)-1); \
|
|
66
|
-
_nm ## _tEmP_al -= (((uintptr_t)_nm ## _tEmP_al & ((_al)-1))/sizeof(_tp)); \
|
|
67
|
-
_tp (*_nm)[(_cy)] = (_tp (*)[(_cy)])_nm ## _tEmP_al;
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
#if defined(_MSC_VER)
|
|
71
|
-
|
|
72
|
-
#if(_MSC_VER < 1700)
|
|
73
|
-
#define inline __inline
|
|
74
|
-
#endif
|
|
75
|
-
|
|
76
|
-
#define ALIGNED_DECLARE( type, var, n ) __declspec(align(n)) type var
|
|
77
|
-
|
|
78
|
-
#elif defined(__GNUC__)
|
|
79
|
-
|
|
80
|
-
#define ALIGNED_DECLARE( type, var, n ) type var __attribute__((aligned(n)))
|
|
81
|
-
#endif//_MSC_VER
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
#ifndef WELS_ALIGN
|
|
85
|
-
#define WELS_ALIGN(x, n) (((x)+(n)-1)&~((n)-1))
|
|
86
|
-
#endif//WELS_ALIGN
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
#if 1 // Alternative implementation of WELS_MAX and WELS_MIN
|
|
90
|
-
#ifndef WELS_MAX
|
|
91
|
-
#define WELS_MAX(x, y) ((x) > (y) ? (x) : (y))
|
|
92
|
-
#endif//WELS_MAX
|
|
93
|
-
|
|
94
|
-
#ifndef WELS_MIN
|
|
95
|
-
#define WELS_MIN(x, y) ((x) < (y) ? (x) : (y))
|
|
96
|
-
#endif//WELS_MIN
|
|
97
|
-
#ifndef WELS_MIN_POSITIVE
|
|
98
|
-
#define WELS_MIN_POSITIVE(x, y) (x >= 0 && y >= 0) ? WELS_MIN(x, y) : WELS_MAX(x, y);
|
|
99
|
-
#endif//WELS_MIN_POSITIVE
|
|
100
|
-
#else // Alternative implementation of WELS_MAX and WELS_MIN
|
|
101
|
-
#ifndef WELS_MAX
|
|
102
|
-
#define WELS_MAX(x, y) ((x) - (((x)-(y))&(((x)-(y))>>31)))
|
|
103
|
-
#endif//WELS_MAX
|
|
104
|
-
|
|
105
|
-
#ifndef WELS_MIN
|
|
106
|
-
#define WELS_MIN(x, y) ((y) + (((x)-(y))&(((x)-(y))>>31)))
|
|
107
|
-
#endif//WELS_MIN
|
|
108
|
-
#endif // Alternative implementation of WELS_MAX and WELS_MIN
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
#ifndef WELS_CEIL
|
|
112
|
-
#define WELS_CEIL(x) ceil(x) // FIXME: low complexity instead of math library used
|
|
113
|
-
#endif//WELS_CEIL
|
|
114
|
-
|
|
115
|
-
#ifndef WELS_FLOOR
|
|
116
|
-
#define WELS_FLOOR(x) floor(x) // FIXME: low complexity instead of math library used
|
|
117
|
-
#endif//WELS_FLOOR
|
|
118
|
-
|
|
119
|
-
#ifndef WELS_ROUND
|
|
120
|
-
#define WELS_ROUND(x) ((int32_t)(0.5+(x)))
|
|
121
|
-
#endif//WELS_ROUND
|
|
122
|
-
|
|
123
|
-
#ifndef WELS_ROUND64
|
|
124
|
-
#define WELS_ROUND64(x) ((int64_t)(0.5+(x)))
|
|
125
|
-
#endif//WELS_ROUND
|
|
126
|
-
|
|
127
|
-
#ifndef WELS_DIV_ROUND
|
|
128
|
-
#define WELS_DIV_ROUND(x,y) ((int32_t)((y)==0?((x)/((y)+1)):(((y)/2+(x))/(y))))
|
|
129
|
-
#endif//WELS_DIV_ROUND
|
|
130
|
-
|
|
131
|
-
#ifndef WELS_DIV_ROUND64
|
|
132
|
-
#define WELS_DIV_ROUND64(x,y) ((int64_t)((y)==0?((x)/((y)+1)):(((y)/2+(x))/(y))))
|
|
133
|
-
#endif//WELS_DIV_ROUND64
|
|
134
|
-
|
|
135
|
-
#define WELS_NON_ZERO_COUNT_AVERAGE(nC,nA,nB) { \
|
|
136
|
-
nC = nA + nB + 1; \
|
|
137
|
-
nC >>= (uint8_t)( nA != -1 && nB != -1); \
|
|
138
|
-
nC += (uint8_t)(nA == -1 && nB == -1); \
|
|
139
|
-
}
|
|
140
|
-
|
|
141
|
-
static inline int32_t CeilLog2 (int32_t i) {
|
|
142
|
-
int32_t s = 0;
|
|
143
|
-
i--;
|
|
144
|
-
while (i > 0) {
|
|
145
|
-
s++;
|
|
146
|
-
i >>= 1;
|
|
147
|
-
}
|
|
148
|
-
return s;
|
|
149
|
-
}
|
|
150
|
-
/*
|
|
151
|
-
the second path will degrades the performance
|
|
152
|
-
*/
|
|
153
|
-
#if 1
|
|
154
|
-
static inline int32_t WelsMedian (int32_t iX, int32_t iY, int32_t iZ) {
|
|
155
|
-
int32_t iMin = iX, iMax = iX;
|
|
156
|
-
|
|
157
|
-
if (iY < iMin)
|
|
158
|
-
iMin = iY;
|
|
159
|
-
else
|
|
160
|
-
iMax = iY;
|
|
161
|
-
|
|
162
|
-
if (iZ < iMin)
|
|
163
|
-
iMin = iZ;
|
|
164
|
-
else if (iZ > iMax)
|
|
165
|
-
iMax = iZ;
|
|
166
|
-
|
|
167
|
-
return (iX + iY + iZ) - (iMin + iMax);
|
|
168
|
-
}
|
|
169
|
-
#else
|
|
170
|
-
static inline int32_t WelsMedian (int32_t iX, int32_t iY, int32_t iZ) {
|
|
171
|
-
int32_t iTmp = (iX - iY) & ((iX - iY) >> 31);
|
|
172
|
-
iX -= iTmp;
|
|
173
|
-
iY += iTmp;
|
|
174
|
-
iY -= (iY - iZ) & ((iY - iZ) >> 31);
|
|
175
|
-
iY += (iX - iY) & ((iX - iY) >> 31);
|
|
176
|
-
return iY;
|
|
177
|
-
}
|
|
178
|
-
|
|
179
|
-
#endif
|
|
180
|
-
|
|
181
|
-
#ifndef NEG_NUM
|
|
182
|
-
//#define NEG_NUM( num ) (-num)
|
|
183
|
-
#define NEG_NUM(iX) (1+(~(iX)))
|
|
184
|
-
#endif// NEG_NUM
|
|
185
|
-
|
|
186
|
-
static inline uint8_t WelsClip1 (int32_t iX) {
|
|
187
|
-
uint8_t uiTmp = (uint8_t) (((iX) & ~255) ? (- (iX) >> 31) : (iX));
|
|
188
|
-
return uiTmp;
|
|
189
|
-
}
|
|
190
|
-
|
|
191
|
-
#ifndef WELS_SIGN
|
|
192
|
-
#define WELS_SIGN(iX) ((int32_t)(iX) >> 31)
|
|
193
|
-
#endif //WELS_SIGN
|
|
194
|
-
#ifndef WELS_ABS
|
|
195
|
-
#if 1
|
|
196
|
-
#define WELS_ABS(iX) ((iX)>0 ? (iX) : -(iX))
|
|
197
|
-
#else
|
|
198
|
-
#define WELS_ABS(iX) ((WELS_SIGN(iX) ^ (int32_t)(iX)) - WELS_SIGN(iX))
|
|
199
|
-
#endif
|
|
200
|
-
#endif //WELS_ABS
|
|
201
|
-
|
|
202
|
-
// WELS_CLIP3
|
|
203
|
-
#ifndef WELS_CLIP3
|
|
204
|
-
#define WELS_CLIP3(iX, iY, iZ) ((iX) < (iY) ? (iY) : ((iX) > (iZ) ? (iZ) : (iX)))
|
|
205
|
-
#endif //WELS_CLIP3
|
|
206
|
-
|
|
207
|
-
template<typename T> T WelsClip3(T iX, T iY, T iZ) {
|
|
208
|
-
if (iX < iY)
|
|
209
|
-
return iY;
|
|
210
|
-
if (iX > iZ)
|
|
211
|
-
return iZ;
|
|
212
|
-
return iX;
|
|
213
|
-
}
|
|
214
|
-
|
|
215
|
-
#define DISALLOW_COPY_AND_ASSIGN(cclass) \
|
|
216
|
-
private: \
|
|
217
|
-
cclass(const cclass &); \
|
|
218
|
-
cclass& operator=(const cclass &);
|
|
219
|
-
|
|
220
|
-
/*
|
|
221
|
-
* Description: to check variable validation and return the specified result
|
|
222
|
-
* iResult: value to be checked
|
|
223
|
-
* iExpected: the expected value
|
|
224
|
-
*/
|
|
225
|
-
#ifndef WELS_VERIFY_RETURN_IFNEQ
|
|
226
|
-
#define WELS_VERIFY_RETURN_IFNEQ(iResult, iExpected) \
|
|
227
|
-
if (iResult != iExpected) { \
|
|
228
|
-
return iResult; \
|
|
229
|
-
}
|
|
230
|
-
#endif//#if WELS_VERIFY_RETURN_IF
|
|
231
|
-
|
|
232
|
-
/*
|
|
233
|
-
* Description: to check variable validation and return the specified result
|
|
234
|
-
* iResult: value to be return
|
|
235
|
-
* bCaseIf: negative condition to be verified
|
|
236
|
-
*/
|
|
237
|
-
#ifndef WELS_VERIFY_RETURN_IF
|
|
238
|
-
#define WELS_VERIFY_RETURN_IF(iResult, bCaseIf) \
|
|
239
|
-
if (bCaseIf) { \
|
|
240
|
-
return iResult; \
|
|
241
|
-
}
|
|
242
|
-
#endif//#if WELS_VERIFY_RETURN_IF
|
|
243
|
-
|
|
244
|
-
/*
|
|
245
|
-
* Description: to check variable validation and return the specified result
|
|
246
|
-
* with correspoinding process advance.
|
|
247
|
-
* result: value to be return
|
|
248
|
-
* case_if: negative condition to be verified
|
|
249
|
-
* proc: process need perform
|
|
250
|
-
*/
|
|
251
|
-
#ifndef WELS_VERIFY_RETURN_PROC_IF
|
|
252
|
-
#define WELS_VERIFY_RETURN_PROC_IF(iResult, bCaseIf, fProc) \
|
|
253
|
-
if (bCaseIf) { \
|
|
254
|
-
fProc; \
|
|
255
|
-
return iResult; \
|
|
256
|
-
}
|
|
257
|
-
#endif//#if WELS_VERIFY_RETURN_PROC_IF
|
|
258
|
-
|
|
259
|
-
static inline int32_t WELS_LOG2 (uint32_t v) {
|
|
260
|
-
int32_t r = 0;
|
|
261
|
-
while (v >>= 1) {
|
|
262
|
-
++r;
|
|
263
|
-
}
|
|
264
|
-
return r;
|
|
265
|
-
|
|
266
|
-
}
|
|
267
|
-
|
|
268
|
-
#define CLIP3_QP_0_51(q) WELS_CLIP3(q, 0, 51) // ((q) < (0) ? (0) : ((q) > (51) ? (51) : (q)))
|
|
269
|
-
#define CALC_BI_STRIDE(width,bitcount) ((((width * bitcount) + 31) & ~31) >> 3)
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
#ifndef BUTTERFLY1x2
|
|
275
|
-
#define BUTTERFLY1x2(b) (((b)<<8) | (b))
|
|
276
|
-
#endif//BUTTERFLY1x2
|
|
277
|
-
|
|
278
|
-
#ifndef BUTTERFLY2x4
|
|
279
|
-
#define BUTTERFLY2x4(wd) (((uint32_t)(wd)<<16) |(wd))
|
|
280
|
-
#endif//BUTTERFLY2x4
|
|
281
|
-
|
|
282
|
-
#ifndef BUTTERFLY4x8
|
|
283
|
-
#define BUTTERFLY4x8(dw) (((uint64_t)(dw)<<32) | (dw))
|
|
284
|
-
#endif//BUTTERFLY4x8
|
|
285
|
-
|
|
286
|
-
static inline bool WELS_POWER2_IF (uint32_t v) {
|
|
287
|
-
return (v && ! (v & (v - 1)));
|
|
288
|
-
}
|
|
289
|
-
|
|
290
|
-
#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ > 4)
|
|
291
|
-
#define WELS_GCC_UNUSED __attribute__((__unused__))
|
|
292
|
-
#else
|
|
293
|
-
#define WELS_GCC_UNUSED
|
|
294
|
-
#endif
|
|
295
|
-
|
|
296
|
-
inline bool CheckInRangeCloseOpen (const int16_t kiCurrent, const int16_t kiMin, const int16_t kiMax) {
|
|
297
|
-
return ((kiCurrent >= kiMin) && (kiCurrent < kiMax));
|
|
298
|
-
}
|
|
299
|
-
|
|
300
|
-
static inline void WelsSetMemUint32_c (uint32_t* pDst, uint32_t iValue, int32_t iSizeOfData) {
|
|
301
|
-
for (int i = 0; i < iSizeOfData; i++) {
|
|
302
|
-
pDst[i] = iValue;
|
|
303
|
-
}
|
|
304
|
-
}
|
|
305
|
-
|
|
306
|
-
static inline void WelsSetMemUint16_c (uint16_t* pDst, uint16_t iValue, int32_t iSizeOfData) {
|
|
307
|
-
for (int i = 0; i < iSizeOfData; i++) {
|
|
308
|
-
pDst[i] = iValue;
|
|
309
|
-
}
|
|
310
|
-
}
|
|
311
|
-
|
|
312
|
-
inline void WelsSetMemMultiplebytes_c (void* pDst, uint32_t iValue, int32_t iSizeOfData, int32_t iDataLengthOfData) {
|
|
313
|
-
assert (4 == iDataLengthOfData || 2 == iDataLengthOfData || 1 == iDataLengthOfData);
|
|
314
|
-
|
|
315
|
-
// TODO: consider add assembly for these functions
|
|
316
|
-
if (0 != iValue) {
|
|
317
|
-
if (4 == iDataLengthOfData) {
|
|
318
|
-
WelsSetMemUint32_c (static_cast<uint32_t*> (pDst), static_cast<uint32_t> (iValue), iSizeOfData);
|
|
319
|
-
} else if (2 == iDataLengthOfData) {
|
|
320
|
-
WelsSetMemUint16_c (static_cast<uint16_t*> (pDst), static_cast<uint16_t> (iValue), iSizeOfData);
|
|
321
|
-
} else {
|
|
322
|
-
memset (static_cast<uint8_t*> (pDst), static_cast<uint8_t> (iValue), iSizeOfData);
|
|
323
|
-
}
|
|
324
|
-
} else {
|
|
325
|
-
memset (static_cast<uint8_t*> (pDst), 0, iSizeOfData * iDataLengthOfData);
|
|
326
|
-
}
|
|
327
|
-
}
|
|
328
|
-
|
|
329
|
-
#endif//WELS_MACRO_UTILIZATIONS_H__
|