@scrypted/libav 1.0.180 → 1.0.181
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/_openh264install/include/wels/codec_api.h +592 -0
- package/_openh264install/include/wels/codec_app_def.h +820 -0
- package/_openh264install/include/wels/codec_def.h +216 -0
- package/_openh264install/include/wels/codec_ver.h +15 -0
- package/_openh264install/lib/libopenh264.a +0 -0
- package/_openh264install/lib/pkgconfig/openh264.pc +10 -0
- package/binding.gyp +3 -0
- package/openh264/.reviewboardrc +3 -0
- package/openh264/.travis.yml +42 -0
- package/openh264/CODING_STYLE +8 -0
- package/openh264/CONTRIBUTORS +55 -0
- package/openh264/LICENSE +23 -0
- package/openh264/Makefile +408 -0
- package/openh264/README.md +197 -0
- package/openh264/RELEASES +467 -0
- package/openh264/SECURITY.md +16 -0
- package/openh264/autotest/codec_comparision/run_MultiCodecComparision.sh +431 -0
- package/openh264/autotest/performanceTest/android/run_AutoTest_android.sh +180 -0
- 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 +193 -0
- package/openh264/autotest/performanceTest/ios/uiascript.js +19 -0
- package/openh264/autotest/performanceTest/parsePerfData.sh +107 -0
- package/openh264/autotest/performanceTest/run_perfTest.sh +122 -0
- package/openh264/autotest/unitTest/android/run_AutoTest_android.sh +112 -0
- package/openh264/autotest/unitTest/ios/run_AutoTest_ios.sh +167 -0
- package/openh264/autotest/unitTest/run_ParseUTxml.sh +70 -0
- package/openh264/autotest/unitTest/run_unitTest.sh +98 -0
- package/openh264/build.gradle +30 -0
- package/openh264/code-coverage.sh +6 -0
- package/openh264/codec/api/meson.build +1 -0
- package/openh264/codec/api/wels/codec_api.h +592 -0
- package/openh264/codec/api/wels/codec_app_def.h +820 -0
- package/openh264/codec/api/wels/codec_def.h +216 -0
- package/openh264/codec/api/wels/codec_ver.h +15 -0
- package/openh264/codec/api/wels/meson.build +9 -0
- package/openh264/codec/common/arm/arm_arch_common_macro.S +83 -0
- package/openh264/codec/common/arm/copy_mb_neon.S +161 -0
- package/openh264/codec/common/arm/deblocking_neon.S +857 -0
- package/openh264/codec/common/arm/expand_picture_neon.S +154 -0
- package/openh264/codec/common/arm/intra_pred_common_neon.S +82 -0
- package/openh264/codec/common/arm/mc_neon.S +2283 -0
- package/openh264/codec/common/arm64/arm_aarch64_common.h +85 -0
- package/openh264/codec/common/arm64/arm_arch64_common_macro.S +79 -0
- package/openh264/codec/common/arm64/copy_mb_aarch64_neon.S +202 -0
- package/openh264/codec/common/arm64/deblocking_aarch64_neon.S +852 -0
- package/openh264/codec/common/arm64/expand_picture_aarch64_neon.S +150 -0
- package/openh264/codec/common/arm64/intra_pred_common_aarch64_neon.S +58 -0
- package/openh264/codec/common/arm64/mc_aarch64_neon.S +2614 -0
- package/openh264/codec/common/generate_version.sh +28 -0
- package/openh264/codec/common/inc/WelsList.h +287 -0
- package/openh264/codec/common/inc/WelsLock.h +97 -0
- package/openh264/codec/common/inc/WelsTask.h +75 -0
- package/openh264/codec/common/inc/WelsTaskThread.h +83 -0
- package/openh264/codec/common/inc/WelsThread.h +106 -0
- package/openh264/codec/common/inc/WelsThreadLib.h +151 -0
- package/openh264/codec/common/inc/WelsThreadPool.h +124 -0
- package/openh264/codec/common/inc/asmdefs_mmi.h +345 -0
- package/openh264/codec/common/inc/copy_mb.h +103 -0
- package/openh264/codec/common/inc/cpu.h +81 -0
- package/openh264/codec/common/inc/cpu_core.h +103 -0
- package/openh264/codec/common/inc/crt_util_safe_x.h +104 -0
- package/openh264/codec/common/inc/deblocking_common.h +124 -0
- package/openh264/codec/common/inc/expand_pic.h +107 -0
- package/openh264/codec/common/inc/golomb_common.h +166 -0
- package/openh264/codec/common/inc/intra_pred_common.h +86 -0
- package/openh264/codec/common/inc/loongson_intrinsics.h +1919 -0
- package/openh264/codec/common/inc/ls_defines.h +130 -0
- package/openh264/codec/common/inc/macros.h +329 -0
- package/openh264/codec/common/inc/mc.h +407 -0
- package/openh264/codec/common/inc/measure_time.h +88 -0
- package/openh264/codec/common/inc/memory_align.h +116 -0
- package/openh264/codec/common/inc/msa_macros.h +2393 -0
- package/openh264/codec/common/inc/sad_common.h +139 -0
- package/openh264/codec/common/inc/typedefs.h +86 -0
- package/openh264/codec/common/inc/utils.h +95 -0
- package/openh264/codec/common/inc/version.h +10 -0
- package/openh264/codec/common/inc/version_gen.h.template +6 -0
- package/openh264/codec/common/inc/welsCodecTrace.h +64 -0
- package/openh264/codec/common/inc/wels_common_defs.h +373 -0
- package/openh264/codec/common/inc/wels_const_common.h +63 -0
- package/openh264/codec/common/loongarch/copy_mb_lsx.c +194 -0
- package/openh264/codec/common/loongarch/deblock_lsx.c +1489 -0
- package/openh264/codec/common/loongarch/intra_pred_com_lasx.c +112 -0
- package/openh264/codec/common/loongarch/intra_pred_com_lsx.c +91 -0
- package/openh264/codec/common/loongarch/mc_chroma_lsx.c +192 -0
- package/openh264/codec/common/loongarch/mc_horver_lsx.c +654 -0
- package/openh264/codec/common/loongarch/satd_sad_lasx.c +568 -0
- package/openh264/codec/common/meson.build +84 -0
- package/openh264/codec/common/mips/copy_mb_mmi.c +477 -0
- package/openh264/codec/common/mips/copy_mb_msa.c +80 -0
- package/openh264/codec/common/mips/deblock_mmi.c +2826 -0
- package/openh264/codec/common/mips/deblock_msa.c +1024 -0
- package/openh264/codec/common/mips/expand_picture_mmi.c +673 -0
- package/openh264/codec/common/mips/intra_pred_com_mmi.c +548 -0
- package/openh264/codec/common/mips/satd_sad_mmi.c +2154 -0
- package/openh264/codec/common/targets.mk +136 -0
- package/openh264/codec/common/x86/asm_inc.asm +743 -0
- package/openh264/codec/common/x86/cpuid.asm +263 -0
- package/openh264/codec/common/x86/dct.asm +1036 -0
- package/openh264/codec/common/x86/deblock.asm +848 -0
- package/openh264/codec/common/x86/expand_picture.asm +728 -0
- package/openh264/codec/common/x86/intra_pred_com.asm +117 -0
- package/openh264/codec/common/x86/mb_copy.asm +615 -0
- package/openh264/codec/common/x86/mc_chroma.asm +313 -0
- package/openh264/codec/common/x86/mc_luma.asm +4490 -0
- package/openh264/codec/common/x86/satd_sad.asm +2734 -0
- package/openh264/codec/common/x86/vaa.asm +411 -0
- package/openh264/codec/console/common/inc/read_config.h +68 -0
- package/openh264/codec/console/common/meson.build +12 -0
- package/openh264/codec/console/common/targets.mk +20 -0
- package/openh264/codec/console/dec/inc/d3d9_utils.h +148 -0
- package/openh264/codec/console/dec/meson.build +15 -0
- package/openh264/codec/console/dec/targets.mk +20 -0
- package/openh264/codec/console/enc/meson.build +9 -0
- package/openh264/codec/console/enc/targets.mk +19 -0
- package/openh264/codec/console/meson.build +3 -0
- package/openh264/codec/decoder/core/arm/block_add_neon.S +129 -0
- package/openh264/codec/decoder/core/arm/intra_pred_neon.S +635 -0
- package/openh264/codec/decoder/core/arm64/block_add_aarch64_neon.S +131 -0
- package/openh264/codec/decoder/core/arm64/intra_pred_aarch64_neon.S +524 -0
- package/openh264/codec/decoder/core/inc/au_parser.h +199 -0
- package/openh264/codec/decoder/core/inc/bit_stream.h +62 -0
- package/openh264/codec/decoder/core/inc/cabac_decoder.h +111 -0
- package/openh264/codec/decoder/core/inc/deblocking.h +118 -0
- package/openh264/codec/decoder/core/inc/dec_frame.h +156 -0
- package/openh264/codec/decoder/core/inc/dec_golomb.h +344 -0
- package/openh264/codec/decoder/core/inc/decode_mb_aux.h +83 -0
- package/openh264/codec/decoder/core/inc/decode_slice.h +104 -0
- package/openh264/codec/decoder/core/inc/decoder.h +186 -0
- package/openh264/codec/decoder/core/inc/decoder_context.h +590 -0
- package/openh264/codec/decoder/core/inc/decoder_core.h +206 -0
- package/openh264/codec/decoder/core/inc/error_code.h +222 -0
- package/openh264/codec/decoder/core/inc/error_concealment.h +68 -0
- package/openh264/codec/decoder/core/inc/fmo.h +114 -0
- package/openh264/codec/decoder/core/inc/get_intra_predictor.h +191 -0
- package/openh264/codec/decoder/core/inc/manage_dec_ref.h +62 -0
- package/openh264/codec/decoder/core/inc/mb_cache.h +80 -0
- package/openh264/codec/decoder/core/inc/memmgr_nal_unit.h +66 -0
- package/openh264/codec/decoder/core/inc/mv_pred.h +195 -0
- package/openh264/codec/decoder/core/inc/nal_prefix.h +56 -0
- package/openh264/codec/decoder/core/inc/nalu.h +79 -0
- package/openh264/codec/decoder/core/inc/parameter_sets.h +217 -0
- package/openh264/codec/decoder/core/inc/parse_mb_syn_cabac.h +89 -0
- package/openh264/codec/decoder/core/inc/parse_mb_syn_cavlc.h +137 -0
- package/openh264/codec/decoder/core/inc/pic_queue.h +62 -0
- package/openh264/codec/decoder/core/inc/picture.h +112 -0
- package/openh264/codec/decoder/core/inc/rec_mb.h +104 -0
- package/openh264/codec/decoder/core/inc/slice.h +208 -0
- package/openh264/codec/decoder/core/inc/vlc_decoder.h +177 -0
- package/openh264/codec/decoder/core/inc/wels_common_basis.h +317 -0
- package/openh264/codec/decoder/core/inc/wels_const.h +65 -0
- package/openh264/codec/decoder/core/inc/wels_decoder_thread.h +170 -0
- package/openh264/codec/decoder/core/loongarch/mb_aux_lsx.c +296 -0
- package/openh264/codec/decoder/core/mips/dct_mmi.c +786 -0
- package/openh264/codec/decoder/core/x86/dct.asm +72 -0
- package/openh264/codec/decoder/core/x86/intra_pred.asm +1456 -0
- package/openh264/codec/decoder/meson.build +69 -0
- package/openh264/codec/decoder/plus/inc/welsDecoderExt.h +170 -0
- package/openh264/codec/decoder/targets.mk +115 -0
- package/openh264/codec/encoder/core/arm/intra_pred_neon.S +589 -0
- package/openh264/codec/encoder/core/arm/intra_pred_sad_3_opt_neon.S +735 -0
- package/openh264/codec/encoder/core/arm/memory_neon.S +62 -0
- package/openh264/codec/encoder/core/arm/pixel_neon.S +882 -0
- package/openh264/codec/encoder/core/arm/reconstruct_neon.S +903 -0
- package/openh264/codec/encoder/core/arm/svc_motion_estimation.S +366 -0
- package/openh264/codec/encoder/core/arm64/intra_pred_aarch64_neon.S +505 -0
- package/openh264/codec/encoder/core/arm64/intra_pred_sad_3_opt_aarch64_neon.S +611 -0
- package/openh264/codec/encoder/core/arm64/memory_aarch64_neon.S +63 -0
- package/openh264/codec/encoder/core/arm64/pixel_aarch64_neon.S +621 -0
- package/openh264/codec/encoder/core/arm64/reconstruct_aarch64_neon.S +717 -0
- package/openh264/codec/encoder/core/arm64/svc_motion_estimation_aarch64_neon.S +350 -0
- package/openh264/codec/encoder/core/inc/as264_common.h +138 -0
- package/openh264/codec/encoder/core/inc/au_set.h +152 -0
- package/openh264/codec/encoder/core/inc/deblocking.h +92 -0
- package/openh264/codec/encoder/core/inc/decode_mb_aux.h +112 -0
- package/openh264/codec/encoder/core/inc/dq_map.h +58 -0
- package/openh264/codec/encoder/core/inc/encode_mb_aux.h +199 -0
- package/openh264/codec/encoder/core/inc/encoder.h +148 -0
- package/openh264/codec/encoder/core/inc/encoder_context.h +240 -0
- package/openh264/codec/encoder/core/inc/extern.h +124 -0
- package/openh264/codec/encoder/core/inc/get_intra_predictor.h +186 -0
- package/openh264/codec/encoder/core/inc/mb_cache.h +141 -0
- package/openh264/codec/encoder/core/inc/md.h +181 -0
- package/openh264/codec/encoder/core/inc/mt_defs.h +91 -0
- package/openh264/codec/encoder/core/inc/mv_pred.h +191 -0
- package/openh264/codec/encoder/core/inc/nal_encap.h +143 -0
- package/openh264/codec/encoder/core/inc/param_svc.h +576 -0
- package/openh264/codec/encoder/core/inc/parameter_sets.h +181 -0
- package/openh264/codec/encoder/core/inc/paraset_strategy.h +310 -0
- package/openh264/codec/encoder/core/inc/picture.h +137 -0
- package/openh264/codec/encoder/core/inc/picture_handle.h +66 -0
- package/openh264/codec/encoder/core/inc/rc.h +284 -0
- package/openh264/codec/encoder/core/inc/ref_list_mgr_svc.h +148 -0
- package/openh264/codec/encoder/core/inc/sample.h +154 -0
- package/openh264/codec/encoder/core/inc/set_mb_syn_cabac.h +127 -0
- package/openh264/codec/encoder/core/inc/set_mb_syn_cavlc.h +92 -0
- package/openh264/codec/encoder/core/inc/slice.h +212 -0
- package/openh264/codec/encoder/core/inc/slice_multi_threading.h +97 -0
- package/openh264/codec/encoder/core/inc/stat.h +102 -0
- package/openh264/codec/encoder/core/inc/svc_base_layer_md.h +102 -0
- package/openh264/codec/encoder/core/inc/svc_enc_frame.h +136 -0
- package/openh264/codec/encoder/core/inc/svc_enc_golomb.h +123 -0
- package/openh264/codec/encoder/core/inc/svc_enc_macroblock.h +82 -0
- package/openh264/codec/encoder/core/inc/svc_enc_slice_segment.h +212 -0
- package/openh264/codec/encoder/core/inc/svc_encode_mb.h +63 -0
- package/openh264/codec/encoder/core/inc/svc_encode_slice.h +184 -0
- package/openh264/codec/encoder/core/inc/svc_mode_decision.h +94 -0
- package/openh264/codec/encoder/core/inc/svc_motion_estimate.h +369 -0
- package/openh264/codec/encoder/core/inc/svc_set_mb_syn.h +70 -0
- package/openh264/codec/encoder/core/inc/svc_set_mb_syn_cavlc.h +67 -0
- package/openh264/codec/encoder/core/inc/vlc_encoder.h +92 -0
- package/openh264/codec/encoder/core/inc/wels_common_basis.h +160 -0
- package/openh264/codec/encoder/core/inc/wels_const.h +174 -0
- package/openh264/codec/encoder/core/inc/wels_func_ptr_def.h +300 -0
- package/openh264/codec/encoder/core/inc/wels_preprocess.h +251 -0
- package/openh264/codec/encoder/core/inc/wels_task_base.h +79 -0
- package/openh264/codec/encoder/core/inc/wels_task_encoder.h +142 -0
- package/openh264/codec/encoder/core/inc/wels_task_management.h +135 -0
- package/openh264/codec/encoder/core/inc/wels_transpose_matrix.h +58 -0
- package/openh264/codec/encoder/core/loongarch/dct_lasx.c +452 -0
- package/openh264/codec/encoder/core/loongarch/get_intra_predictor_lsx.c +166 -0
- package/openh264/codec/encoder/core/loongarch/quant_lsx.c +153 -0
- package/openh264/codec/encoder/core/loongarch/sample_lasx.c +87 -0
- package/openh264/codec/encoder/core/loongarch/svc_motion_estimate_lsx.c +104 -0
- package/openh264/codec/encoder/core/mips/dct_mmi.c +529 -0
- package/openh264/codec/encoder/core/mips/quant_mmi.c +553 -0
- package/openh264/codec/encoder/core/mips/score_mmi.c +324 -0
- package/openh264/codec/encoder/core/x86/coeff.asm +695 -0
- package/openh264/codec/encoder/core/x86/dct.asm +108 -0
- package/openh264/codec/encoder/core/x86/intra_pred.asm +1129 -0
- package/openh264/codec/encoder/core/x86/matrix_transpose.asm +395 -0
- package/openh264/codec/encoder/core/x86/memzero.asm +132 -0
- package/openh264/codec/encoder/core/x86/quant.asm +507 -0
- package/openh264/codec/encoder/core/x86/sample_sc.asm +1829 -0
- package/openh264/codec/encoder/core/x86/score.asm +363 -0
- package/openh264/codec/encoder/meson.build +98 -0
- package/openh264/codec/encoder/plus/inc/welsEncoderExt.h +129 -0
- package/openh264/codec/encoder/targets.mk +146 -0
- package/openh264/codec/meson.build +9 -0
- package/openh264/codec/processing/interface/IWelsVP.h +310 -0
- package/openh264/codec/processing/meson.build +71 -0
- package/openh264/codec/processing/targets.mk +117 -0
- package/openh264/docs/doxygen/Doxyfile +1865 -0
- package/openh264/docs/doxygen/Home.rest +25 -0
- package/openh264/docs/doxygen/ISVCDecoder.rest +19 -0
- package/openh264/docs/doxygen/ISVCEncoder.rest +16 -0
- package/openh264/docs/doxygen/UsageExampleForDecoder.rest +10 -0
- package/openh264/docs/doxygen/UsageExampleForEncoder.rest +15 -0
- package/openh264/docs/doxygen2rst.py +619 -0
- package/openh264/gmpopenh264.info +4 -0
- package/openh264/gradlew +172 -0
- package/openh264/meson.build +218 -0
- package/openh264/meson_options.txt +1 -0
- package/openh264/module/RefCounted.h +141 -0
- package/openh264/module/gmp-openh264.cpp +1196 -0
- package/openh264/module/targets.mk +14 -0
- package/openh264/module/task_utils.h +38 -0
- package/openh264/module/task_utils.py +207 -0
- package/openh264/module/task_utils_generated.h +2087 -0
- package/openh264/openh264.def +7 -0
- package/openh264/openh264.pc.in +10 -0
- package/openh264/openh264.rc +61 -0
- package/openh264/openh264.rc.template +61 -0
- 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 +1 -0
- package/openh264/res/CiscoVT2people_320x192_12fps.yuv +1 -0
- package/openh264/res/Cisco_Absolute_Power_1280x720_30fps.yuv +3607 -0
- 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 +1 -0
- 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 +91 -0
- package/openh264/settings.gradle +4 -0
- package/openh264/subprojects/gtest.wrap +10 -0
- package/openh264/testbin/AutoBuild_Windows_VS2008.bat +59 -0
- package/openh264/testbin/CmdLineExample.sh +7 -0
- package/openh264/testbin/CmdLineReadMe +22 -0
- package/openh264/testbin/layer2.cfg +37 -0
- package/openh264/testbin/layer2_arbitrary_res.cfg +37 -0
- package/openh264/testbin/layer2_vd.cfg +38 -0
- package/openh264/testbin/layer2_vd_rc.cfg +38 -0
- package/openh264/testbin/welsenc.cfg +71 -0
- package/openh264/testbin/welsenc_arbitrary_res.cfg +70 -0
- package/openh264/testbin/welsenc_ios.cfg +71 -0
- package/openh264/testbin/welsenc_vd_1d.cfg +70 -0
- package/openh264/testbin/welsenc_vd_rc.cfg +69 -0
- package/openh264/ut.def +2 -0
- package/package.json +1 -1
|
@@ -0,0 +1,366 @@
|
|
|
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
|
+
#ifdef HAVE_NEON
|
|
34
|
+
#include "arm_arch_common_macro.S"
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
WELS_ASM_FUNC_BEGIN SumOf8x8SingleBlock_neon
|
|
38
|
+
vld1.64 {d0}, [r0], r1
|
|
39
|
+
vld1.64 {d1}, [r0], r1
|
|
40
|
+
vld1.64 {d2}, [r0], r1
|
|
41
|
+
vld1.64 {d3}, [r0], r1
|
|
42
|
+
vld1.64 {d4}, [r0], r1
|
|
43
|
+
vld1.64 {d5}, [r0], r1
|
|
44
|
+
vld1.64 {d6}, [r0], r1
|
|
45
|
+
vld1.64 {d7}, [r0]
|
|
46
|
+
vpaddl.u8 q0, q0
|
|
47
|
+
vpadal.u8 q0, q1
|
|
48
|
+
vpadal.u8 q0, q2
|
|
49
|
+
vpadal.u8 q0, q3
|
|
50
|
+
|
|
51
|
+
vpaddl.u16 q0, q0
|
|
52
|
+
vpadd.i32 d0, d1
|
|
53
|
+
vpadd.i32 d0, d0
|
|
54
|
+
vmov r0, r1, d0
|
|
55
|
+
WELS_ASM_FUNC_END
|
|
56
|
+
|
|
57
|
+
|
|
58
|
+
WELS_ASM_FUNC_BEGIN SumOf16x16SingleBlock_neon
|
|
59
|
+
vld1.64 {q0}, [r0], r1
|
|
60
|
+
vpaddl.u8 q0, q0
|
|
61
|
+
.rept 15
|
|
62
|
+
vld1.64 {q1}, [r0], r1
|
|
63
|
+
vpadal.u8 q0, q1
|
|
64
|
+
.endr
|
|
65
|
+
vpaddl.u16 q0, q0
|
|
66
|
+
vpadd.i32 d0, d1
|
|
67
|
+
vpadd.i32 d0, d0
|
|
68
|
+
vmov r0, r1, d0
|
|
69
|
+
WELS_ASM_FUNC_END
|
|
70
|
+
|
|
71
|
+
|
|
72
|
+
WELS_ASM_FUNC_BEGIN SumOf8x8BlockOfFrame_neon
|
|
73
|
+
//(uint8_t* pRefPicture, const int32_t kiWidth, const int32_t kiHeight,const int32_t kiRefStride,uint16_t* pFeatureOfBlock, uint32_t pTimesOfFeatureValue[])
|
|
74
|
+
stmdb sp!, {r4-r12}
|
|
75
|
+
ldr r5, [sp, #40] //pTimesOfFeatureValue
|
|
76
|
+
ldr r4, [sp, #36] //pFeatureOfBlock
|
|
77
|
+
|
|
78
|
+
mov r8, r0
|
|
79
|
+
mov r6, r1
|
|
80
|
+
add r8, r6
|
|
81
|
+
add r4, r4, r6, lsl #1
|
|
82
|
+
|
|
83
|
+
mov r7, r6
|
|
84
|
+
_width_loop8x8_1:
|
|
85
|
+
subs r0, r8, r7
|
|
86
|
+
vld1.64 {d0}, [r0], r3
|
|
87
|
+
vld1.64 {d1}, [r0], r3
|
|
88
|
+
vld1.64 {d2}, [r0], r3
|
|
89
|
+
vld1.64 {d3}, [r0], r3
|
|
90
|
+
vld1.64 {d4}, [r0], r3
|
|
91
|
+
vld1.64 {d5}, [r0], r3
|
|
92
|
+
vld1.64 {d6}, [r0], r3
|
|
93
|
+
vld1.64 {d7}, [r0]
|
|
94
|
+
|
|
95
|
+
vpaddl.u8 q0, q0
|
|
96
|
+
vpadal.u8 q0, q1
|
|
97
|
+
vpadal.u8 q0, q2
|
|
98
|
+
vpadal.u8 q0, q3
|
|
99
|
+
vpaddl.u16 q0, q0
|
|
100
|
+
vpadd.i32 d0, d1
|
|
101
|
+
vpadd.i32 d0, d0
|
|
102
|
+
|
|
103
|
+
subs r1, r4, r7, lsl #1
|
|
104
|
+
vst1.16 {d0[0]}, [r1] // sum -> pFeatureOfBlock[i]
|
|
105
|
+
vmov r0, r1, d0
|
|
106
|
+
add r1, r5, r0, lsl #2
|
|
107
|
+
ldr r0, [r1]
|
|
108
|
+
add r0, #1
|
|
109
|
+
str r0, [r1]
|
|
110
|
+
|
|
111
|
+
subs r7, #1
|
|
112
|
+
bne _width_loop8x8_1
|
|
113
|
+
|
|
114
|
+
add r8, r3
|
|
115
|
+
add r4, r4, r6, lsl #1
|
|
116
|
+
subs r2, #1
|
|
117
|
+
beq _SumOf8x8BlockOfFrame_end
|
|
118
|
+
|
|
119
|
+
|
|
120
|
+
_height_loop8x8:
|
|
121
|
+
mov r7, r6
|
|
122
|
+
_width_loop8x8_2:
|
|
123
|
+
subs r0, r8, r7
|
|
124
|
+
subs r1, r4, r7, lsl #1
|
|
125
|
+
|
|
126
|
+
subs r9, r1, r6, lsl #1 // last line of pFeatureOfBlock[i]
|
|
127
|
+
ldrh r10, [r9] // sum of last line of pFeatureOfBlock[i]
|
|
128
|
+
|
|
129
|
+
subs r11, r0, r3
|
|
130
|
+
vld1.64 {d1}, [r11]
|
|
131
|
+
add r0, r11, r3, lsl #3
|
|
132
|
+
vld1.64 {d0}, [r0] //
|
|
133
|
+
|
|
134
|
+
vpaddl.u8 q0, q0
|
|
135
|
+
vpadd.u16 d0, d0, d1
|
|
136
|
+
vpaddl.u16 d0, d0
|
|
137
|
+
vmov r11, r12, d0
|
|
138
|
+
subs r10, r12
|
|
139
|
+
add r0, r10, r11
|
|
140
|
+
|
|
141
|
+
strh r0, [r1] // sum -> pFeatureOfBlock[i]
|
|
142
|
+
|
|
143
|
+
add r1, r5, r0, lsl #2
|
|
144
|
+
ldr r0, [r1]
|
|
145
|
+
add r0, #1
|
|
146
|
+
str r0, [r1]
|
|
147
|
+
subs r7, #1
|
|
148
|
+
bne _width_loop8x8_2
|
|
149
|
+
|
|
150
|
+
add r8, r3
|
|
151
|
+
add r4, r4, r6, lsl #1
|
|
152
|
+
subs r2, #1
|
|
153
|
+
bne _height_loop8x8
|
|
154
|
+
_SumOf8x8BlockOfFrame_end:
|
|
155
|
+
ldmia sp!, {r4-r12}
|
|
156
|
+
WELS_ASM_FUNC_END
|
|
157
|
+
|
|
158
|
+
WELS_ASM_FUNC_BEGIN SumOf16x16BlockOfFrame_neon
|
|
159
|
+
//(uint8_t* pRefPicture, const int32_t kiWidth, const int32_t kiHeight,const int32_t kiRefStride,uint16_t* pFeatureOfBlock, uint32_t pTimesOfFeatureValue[])
|
|
160
|
+
stmdb sp!, {r4-r12}
|
|
161
|
+
ldr r5, [sp, #40] //pTimesOfFeatureValue
|
|
162
|
+
ldr r4, [sp, #36] //pFeatureOfBlock
|
|
163
|
+
|
|
164
|
+
mov r8, r0
|
|
165
|
+
mov r6, r1
|
|
166
|
+
add r8, r6
|
|
167
|
+
add r4, r4, r6, lsl #1
|
|
168
|
+
|
|
169
|
+
mov r7, r6
|
|
170
|
+
_width_loop16x16_1:
|
|
171
|
+
subs r0, r8, r7
|
|
172
|
+
vld1.64 {q0}, [r0], r3
|
|
173
|
+
vpaddl.u8 q0, q0
|
|
174
|
+
.rept 15
|
|
175
|
+
vld1.64 {q1}, [r0], r3
|
|
176
|
+
vpadal.u8 q0, q1
|
|
177
|
+
.endr
|
|
178
|
+
vpaddl.u16 q0, q0
|
|
179
|
+
vpadd.i32 d0, d1
|
|
180
|
+
vpadd.i32 d0, d0
|
|
181
|
+
|
|
182
|
+
subs r1, r4, r7, lsl #1
|
|
183
|
+
vst1.16 {d0[0]}, [r1] // sum -> pFeatureOfBlock[i]
|
|
184
|
+
vmov r0, r1, d0
|
|
185
|
+
add r1, r5, r0, lsl #2
|
|
186
|
+
ldr r0, [r1]
|
|
187
|
+
add r0, #1
|
|
188
|
+
str r0, [r1]
|
|
189
|
+
|
|
190
|
+
subs r7, #1
|
|
191
|
+
bne _width_loop16x16_1
|
|
192
|
+
add r8, r3
|
|
193
|
+
add r4, r4, r6, lsl #1
|
|
194
|
+
subs r2, #1
|
|
195
|
+
beq _SumOf16x16BlockOfFrame_neon_end
|
|
196
|
+
|
|
197
|
+
_height_loop16x16:
|
|
198
|
+
mov r7, r6
|
|
199
|
+
_width_loop16x16_2:
|
|
200
|
+
subs r0, r8, r7
|
|
201
|
+
subs r1, r4, r7, lsl #1
|
|
202
|
+
subs r9, r1, r6, lsl #1 // last line of pFeatureOfBlock[i]
|
|
203
|
+
ldrh r10, [r9] // sum of last line of pFeatureOfBlock[i]
|
|
204
|
+
|
|
205
|
+
subs r11, r0, r3
|
|
206
|
+
vld1.64 {q1}, [r11]
|
|
207
|
+
add r0, r11, r3, lsl #4
|
|
208
|
+
vld1.64 {q0}, [r0] //
|
|
209
|
+
|
|
210
|
+
vpaddl.u8 q0, q0
|
|
211
|
+
vpaddl.u8 q1, q1
|
|
212
|
+
vpadd.u16 d0, d0, d1
|
|
213
|
+
vpadd.u16 d1, d2, d3
|
|
214
|
+
vpadd.u16 d0, d0, d1
|
|
215
|
+
vpaddl.u16 d0, d0
|
|
216
|
+
|
|
217
|
+
vmov r11, r12, d0
|
|
218
|
+
subs r10, r12
|
|
219
|
+
add r0, r10, r11
|
|
220
|
+
|
|
221
|
+
strh r0, [r1] // sum -> pFeatureOfBlock[i]
|
|
222
|
+
add r1, r5, r0, lsl #2
|
|
223
|
+
ldr r0, [r1]
|
|
224
|
+
add r0, #1
|
|
225
|
+
str r0, [r1]
|
|
226
|
+
|
|
227
|
+
subs r7, #1
|
|
228
|
+
bne _width_loop16x16_2
|
|
229
|
+
|
|
230
|
+
add r8, r3
|
|
231
|
+
add r4, r4, r6, lsl #1
|
|
232
|
+
subs r2, #1
|
|
233
|
+
bne _height_loop16x16
|
|
234
|
+
_SumOf16x16BlockOfFrame_neon_end:
|
|
235
|
+
ldmia sp!, {r4-r12}
|
|
236
|
+
WELS_ASM_FUNC_END
|
|
237
|
+
|
|
238
|
+
WELS_ASM_FUNC_BEGIN InitializeHashforFeature_neon
|
|
239
|
+
// (uint32_t* pTimesOfFeatureValue, uint16_t* pBuf, const int32_t kiListSize, uint16_t** pLocationOfFeature, uint16_t** pFeatureValuePointerList);
|
|
240
|
+
stmdb sp!, {r4-r7}
|
|
241
|
+
ldr r4, [sp, #16] //pFeatureValuePointerList
|
|
242
|
+
bic r5, r2, #3
|
|
243
|
+
_hash_assign_loop_x4:
|
|
244
|
+
vld1.64 {q0}, [r0]!
|
|
245
|
+
vshl.u32 q0, q0, #2
|
|
246
|
+
vceq.u32 q1, q0, #0
|
|
247
|
+
vand.i32 d2, d2, d3
|
|
248
|
+
vmov r6, r7, d2
|
|
249
|
+
and r6, r6, r7
|
|
250
|
+
cmp r6, #0xffffffff
|
|
251
|
+
beq _hash_assign_with_copy_x4
|
|
252
|
+
|
|
253
|
+
veor q1, q1
|
|
254
|
+
vext.32 q2, q1, q0, #3
|
|
255
|
+
vext.32 q3, q1, q0, #2
|
|
256
|
+
vext.32 q4, q1, q0, #1
|
|
257
|
+
vadd.u32 q0, q0, q2
|
|
258
|
+
vadd.u32 q0, q0, q3
|
|
259
|
+
vadd.u32 q0, q0, q4
|
|
260
|
+
vext.32 q2, q1, q0, #3
|
|
261
|
+
vdup.32 q3, r1
|
|
262
|
+
vadd.u32 q2, q2, q3
|
|
263
|
+
vst1.64 {q2}, [r3]!
|
|
264
|
+
vst1.64 {q2}, [r4]!
|
|
265
|
+
vmov.32 r6, d1[1]
|
|
266
|
+
add r1, r1, r6
|
|
267
|
+
b _assign_next
|
|
268
|
+
|
|
269
|
+
_hash_assign_with_copy_x4:
|
|
270
|
+
vdup.32 q2, r1
|
|
271
|
+
vst1.64 {q2}, [r3]!
|
|
272
|
+
vst1.64 {q2}, [r4]!
|
|
273
|
+
|
|
274
|
+
_assign_next:
|
|
275
|
+
subs r5, r5, #4
|
|
276
|
+
bne _hash_assign_loop_x4
|
|
277
|
+
|
|
278
|
+
and r5, r2, #3
|
|
279
|
+
cmp r5, #0
|
|
280
|
+
beq _hash_assign_end
|
|
281
|
+
_hash_assign_loop_x4_rem:
|
|
282
|
+
str r1, [r3], #4
|
|
283
|
+
str r1, [r4], #4
|
|
284
|
+
ldr r7, [r0], #4
|
|
285
|
+
lsl r7, r7, #2
|
|
286
|
+
add r1, r1, r7
|
|
287
|
+
subs r5, r5, #1
|
|
288
|
+
bne _hash_assign_loop_x4_rem
|
|
289
|
+
_hash_assign_end:
|
|
290
|
+
|
|
291
|
+
ldmia sp!, {r4-r7}
|
|
292
|
+
WELS_ASM_FUNC_END
|
|
293
|
+
|
|
294
|
+
.align 4
|
|
295
|
+
mv_x_inc_x4: .short 0x10, 0x10, 0x10, 0x10, 0x00, 0x00, 0x00, 0x00
|
|
296
|
+
mv_y_inc_x4: .short 0x04, 0x04, 0x04, 0x04, 0x00, 0x00, 0x00, 0x00
|
|
297
|
+
mx_x_offset_x4: .short 0x00, 0x04, 0x08, 0x0c, 0x00, 0x00, 0x00, 0x00
|
|
298
|
+
|
|
299
|
+
WELS_ASM_FUNC_BEGIN FillQpelLocationByFeatureValue_neon
|
|
300
|
+
// void (uint16_t* pFeatureOfBlock, const int32_t kiWidth, const int32_t kiHeight, uint16_t** pFeatureValuePointerList)
|
|
301
|
+
stmdb sp!, {r4-r8}
|
|
302
|
+
vpush {q4-q7}
|
|
303
|
+
adr r7, mv_x_inc_x4
|
|
304
|
+
vld1.64 {q7}, [r7]
|
|
305
|
+
adr r7, mv_y_inc_x4
|
|
306
|
+
vld1.64 {q6}, [r7]
|
|
307
|
+
adr r7, mx_x_offset_x4
|
|
308
|
+
vld1.64 {q5}, [r7]
|
|
309
|
+
veor q4, q4
|
|
310
|
+
veor q3, q3
|
|
311
|
+
vdup.32 q8, r3
|
|
312
|
+
_hash_height_loop:
|
|
313
|
+
mov r7, r1
|
|
314
|
+
vmov q2, q5 //mx_x_offset_x4
|
|
315
|
+
_hash_width_loop:
|
|
316
|
+
vld1.64 {d0}, [r0]!
|
|
317
|
+
vshll.u16 q0, d0, #2
|
|
318
|
+
vadd.u32 q0, q8
|
|
319
|
+
vmov q1, q2
|
|
320
|
+
vmov q4, q3
|
|
321
|
+
vzip.16 q1, q4
|
|
322
|
+
|
|
323
|
+
vmov.32 r4, d0[0]
|
|
324
|
+
ldr r5, [r4]
|
|
325
|
+
vmov.32 r6, d2[0]
|
|
326
|
+
str r6, [r5]
|
|
327
|
+
add r5, r5, #4
|
|
328
|
+
pld [r5] // cache miss?
|
|
329
|
+
str r5, [r4]
|
|
330
|
+
|
|
331
|
+
vmov.32 r4, d0[1]
|
|
332
|
+
ldr r5, [r4]
|
|
333
|
+
vmov.32 r6, d2[1]
|
|
334
|
+
str r6, [r5]
|
|
335
|
+
add r5, r5, #4
|
|
336
|
+
pld [r5] // cache miss?
|
|
337
|
+
str r5, [r4]
|
|
338
|
+
|
|
339
|
+
vmov.32 r4, d1[0]
|
|
340
|
+
ldr r5, [r4]
|
|
341
|
+
vmov.32 r6, d3[0]
|
|
342
|
+
str r6, [r5]
|
|
343
|
+
add r5, r5, #4
|
|
344
|
+
pld [r5] // cache miss?
|
|
345
|
+
str r5, [r4]
|
|
346
|
+
|
|
347
|
+
vmov.32 r4, d1[1]
|
|
348
|
+
ldr r5, [r4]
|
|
349
|
+
vmov.32 r6, d3[1]
|
|
350
|
+
str r6, [r5]
|
|
351
|
+
add r5, r5, #4
|
|
352
|
+
pld [r5] // cache miss?
|
|
353
|
+
str r5, [r4]
|
|
354
|
+
|
|
355
|
+
vadd.u16 q2, q2, q7
|
|
356
|
+
subs r7, #4
|
|
357
|
+
bne _hash_width_loop
|
|
358
|
+
|
|
359
|
+
vadd.u16 q3, q3, q6
|
|
360
|
+
subs r2, #1
|
|
361
|
+
bne _hash_height_loop
|
|
362
|
+
|
|
363
|
+
vpop {q4-q7}
|
|
364
|
+
ldmia sp!, {r4-r8}
|
|
365
|
+
WELS_ASM_FUNC_END
|
|
366
|
+
#endif
|