@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,263 @@
|
|
|
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
|
+
;* cpu_mmx.asm
|
|
33
|
+
;*
|
|
34
|
+
;* Abstract
|
|
35
|
+
;* verify cpuid feature support and cpuid detection
|
|
36
|
+
;*
|
|
37
|
+
;* History
|
|
38
|
+
;* 04/29/2009 Created
|
|
39
|
+
;*
|
|
40
|
+
;*************************************************************************/
|
|
41
|
+
|
|
42
|
+
%include "asm_inc.asm"
|
|
43
|
+
|
|
44
|
+
;******************************************************************************************
|
|
45
|
+
; Macros
|
|
46
|
+
;******************************************************************************************
|
|
47
|
+
|
|
48
|
+
|
|
49
|
+
;******************************************************************************************
|
|
50
|
+
; Code
|
|
51
|
+
;******************************************************************************************
|
|
52
|
+
|
|
53
|
+
SECTION .text
|
|
54
|
+
|
|
55
|
+
; refer to "The IA-32 Intel(R) Architecture Software Developers Manual, Volume 2A A-M"
|
|
56
|
+
; section CPUID - CPU Identification
|
|
57
|
+
|
|
58
|
+
;******************************************************************************************
|
|
59
|
+
; int32_t WelsCPUIdVerify()
|
|
60
|
+
;******************************************************************************************
|
|
61
|
+
WELS_EXTERN WelsCPUIdVerify
|
|
62
|
+
push r1
|
|
63
|
+
PUSHRFLAGS
|
|
64
|
+
PUSHRFLAGS
|
|
65
|
+
|
|
66
|
+
pop r1
|
|
67
|
+
mov eax, r1d
|
|
68
|
+
xor eax, 00200000h
|
|
69
|
+
xor eax, r1d
|
|
70
|
+
POPRFLAGS
|
|
71
|
+
pop r1
|
|
72
|
+
ret
|
|
73
|
+
|
|
74
|
+
;****************************************************************************************************
|
|
75
|
+
; void WelsCPUId( int32_t uiIndex, int32_t *pFeatureA, int32_t *pFeatureB, int32_t *pFeatureC, int32_t *pFeatureD )
|
|
76
|
+
;****************************************************************************************************
|
|
77
|
+
%ifdef WIN64
|
|
78
|
+
|
|
79
|
+
WELS_EXTERN WelsCPUId
|
|
80
|
+
push rbx
|
|
81
|
+
push rdx
|
|
82
|
+
|
|
83
|
+
mov eax, ecx
|
|
84
|
+
mov ecx, [r9]
|
|
85
|
+
cpuid
|
|
86
|
+
mov [r9], ecx
|
|
87
|
+
mov [r8], ebx
|
|
88
|
+
mov rcx, [rsp + 2*8 + 40]
|
|
89
|
+
mov [rcx], edx
|
|
90
|
+
pop rdx
|
|
91
|
+
mov [rdx], eax
|
|
92
|
+
|
|
93
|
+
pop rbx
|
|
94
|
+
ret
|
|
95
|
+
|
|
96
|
+
%elifdef UNIX64
|
|
97
|
+
WELS_EXTERN WelsCPUId
|
|
98
|
+
push rbx
|
|
99
|
+
push rcx
|
|
100
|
+
push rdx
|
|
101
|
+
|
|
102
|
+
mov eax, edi
|
|
103
|
+
mov ecx, [rcx]
|
|
104
|
+
cpuid
|
|
105
|
+
mov [r8], edx
|
|
106
|
+
pop rdx
|
|
107
|
+
pop r8
|
|
108
|
+
mov [r8], ecx
|
|
109
|
+
mov [rdx], ebx
|
|
110
|
+
mov [rsi], eax
|
|
111
|
+
|
|
112
|
+
pop rbx
|
|
113
|
+
ret
|
|
114
|
+
|
|
115
|
+
%elifdef X86_32
|
|
116
|
+
|
|
117
|
+
WELS_EXTERN WelsCPUId
|
|
118
|
+
push ebx
|
|
119
|
+
push edi
|
|
120
|
+
|
|
121
|
+
mov eax, [esp+12] ; operating index
|
|
122
|
+
mov edi, [esp+24]
|
|
123
|
+
mov ecx, [edi]
|
|
124
|
+
cpuid ; cpuid
|
|
125
|
+
|
|
126
|
+
; processing various information return
|
|
127
|
+
mov edi, [esp+16]
|
|
128
|
+
mov [edi], eax
|
|
129
|
+
mov edi, [esp+20]
|
|
130
|
+
mov [edi], ebx
|
|
131
|
+
mov edi, [esp+24]
|
|
132
|
+
mov [edi], ecx
|
|
133
|
+
mov edi, [esp+28]
|
|
134
|
+
mov [edi], edx
|
|
135
|
+
|
|
136
|
+
pop edi
|
|
137
|
+
pop ebx
|
|
138
|
+
ret
|
|
139
|
+
|
|
140
|
+
%endif
|
|
141
|
+
|
|
142
|
+
; need call after cpuid=1 and eax, ecx flag got then
|
|
143
|
+
;****************************************************************************************************
|
|
144
|
+
; int32_t WelsCPUSupportAVX( uint32_t eax, uint32_t ecx )
|
|
145
|
+
;****************************************************************************************************
|
|
146
|
+
WELS_EXTERN WelsCPUSupportAVX
|
|
147
|
+
%ifdef WIN64
|
|
148
|
+
mov eax, ecx
|
|
149
|
+
mov ecx, edx
|
|
150
|
+
%elifdef UNIX64
|
|
151
|
+
mov eax, edi
|
|
152
|
+
mov ecx, esi
|
|
153
|
+
%else
|
|
154
|
+
mov eax, [esp+4]
|
|
155
|
+
mov ecx, [esp+8]
|
|
156
|
+
%endif
|
|
157
|
+
|
|
158
|
+
; refer to detection of AVX addressed in INTEL AVX manual document
|
|
159
|
+
and ecx, 018000000H
|
|
160
|
+
cmp ecx, 018000000H ; check both OSXSAVE and AVX feature flags
|
|
161
|
+
jne avx_not_supported
|
|
162
|
+
; processor supports AVX instructions and XGETBV is enabled by OS
|
|
163
|
+
mov ecx, 0 ; specify 0 for XFEATURE_ENABLED_MASK register
|
|
164
|
+
XGETBV ; result in EDX:EAX
|
|
165
|
+
and eax, 06H
|
|
166
|
+
cmp eax, 06H ; check OS has enabled both XMM and YMM state support
|
|
167
|
+
jne avx_not_supported
|
|
168
|
+
mov eax, 1
|
|
169
|
+
ret
|
|
170
|
+
avx_not_supported:
|
|
171
|
+
mov eax, 0
|
|
172
|
+
ret
|
|
173
|
+
|
|
174
|
+
|
|
175
|
+
; need call after cpuid=1 and eax, ecx flag got then
|
|
176
|
+
;****************************************************************************************************
|
|
177
|
+
; int32_t WelsCPUSupportFMA( uint32_t eax, uint32_t ecx )
|
|
178
|
+
;****************************************************************************************************
|
|
179
|
+
WELS_EXTERN WelsCPUSupportFMA
|
|
180
|
+
%ifdef WIN64
|
|
181
|
+
mov eax, ecx
|
|
182
|
+
mov ecx, edx
|
|
183
|
+
%elifdef UNIX64
|
|
184
|
+
mov eax, edi
|
|
185
|
+
mov ecx, esi
|
|
186
|
+
%else
|
|
187
|
+
mov eax, [esp+4]
|
|
188
|
+
mov ecx, [esp+8]
|
|
189
|
+
%endif
|
|
190
|
+
; refer to detection of FMA addressed in INTEL AVX manual document
|
|
191
|
+
and ecx, 018001000H
|
|
192
|
+
cmp ecx, 018001000H ; check OSXSAVE, AVX, FMA feature flags
|
|
193
|
+
jne fma_not_supported
|
|
194
|
+
; processor supports AVX,FMA instructions and XGETBV is enabled by OS
|
|
195
|
+
mov ecx, 0 ; specify 0 for XFEATURE_ENABLED_MASK register
|
|
196
|
+
XGETBV ; result in EDX:EAX
|
|
197
|
+
and eax, 06H
|
|
198
|
+
cmp eax, 06H ; check OS has enabled both XMM and YMM state support
|
|
199
|
+
jne fma_not_supported
|
|
200
|
+
mov eax, 1
|
|
201
|
+
ret
|
|
202
|
+
fma_not_supported:
|
|
203
|
+
mov eax, 0
|
|
204
|
+
ret
|
|
205
|
+
|
|
206
|
+
;******************************************************************************************
|
|
207
|
+
; void WelsEmms()
|
|
208
|
+
;******************************************************************************************
|
|
209
|
+
WELS_EXTERN WelsEmms
|
|
210
|
+
emms ; empty mmx technology states
|
|
211
|
+
ret
|
|
212
|
+
|
|
213
|
+
;*****************************************************************************
|
|
214
|
+
; int32_t WelsCPUDetectAVX512()
|
|
215
|
+
;*****************************************************************************
|
|
216
|
+
WELS_EXTERN WelsCPUDetectAVX512
|
|
217
|
+
%ifdef X86_32
|
|
218
|
+
push ebx
|
|
219
|
+
%else
|
|
220
|
+
push rbx
|
|
221
|
+
%endif
|
|
222
|
+
|
|
223
|
+
mov eax, 1
|
|
224
|
+
mov ecx, 0
|
|
225
|
+
cpuid
|
|
226
|
+
and ecx, 0x08000000
|
|
227
|
+
cmp ecx, 0x08000000 ; check CPUID.1:ECX.OSXSAVE[bit 27]
|
|
228
|
+
jne avx512_not_supported
|
|
229
|
+
|
|
230
|
+
; check XMM/YMM/zmm/opmask state
|
|
231
|
+
mov ecx, 0
|
|
232
|
+
XGETBV ; result in EDX:EAX
|
|
233
|
+
and eax, 0x0D6
|
|
234
|
+
cmp eax, 0x0D6
|
|
235
|
+
jne avx512_not_supported
|
|
236
|
+
|
|
237
|
+
; check AVX512 flag CPUID.7:EBX.AVX512F[bit 16]
|
|
238
|
+
; EBX[bit 16]: AVX512F
|
|
239
|
+
; EBX[bit 28]: AVX512CD
|
|
240
|
+
; EBX[bit 17]: AVX512DQ
|
|
241
|
+
; EBX[bit 30]: AVX512BW
|
|
242
|
+
; EBX[bit 31]: AVX512VL
|
|
243
|
+
mov eax, 7
|
|
244
|
+
cpuid
|
|
245
|
+
and ebx, 0xC0030000
|
|
246
|
+
mov eax, ebx
|
|
247
|
+
|
|
248
|
+
%ifdef X86_32
|
|
249
|
+
pop ebx
|
|
250
|
+
%else
|
|
251
|
+
pop rbx
|
|
252
|
+
%endif
|
|
253
|
+
ret
|
|
254
|
+
|
|
255
|
+
avx512_not_supported:
|
|
256
|
+
mov eax, 0
|
|
257
|
+
%ifdef X86_32
|
|
258
|
+
pop ebx
|
|
259
|
+
%else
|
|
260
|
+
pop rbx
|
|
261
|
+
%endif
|
|
262
|
+
ret
|
|
263
|
+
|