@scrypted/libav 1.0.179 → 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 +4 -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
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
#**********************************************************************************
|
|
3
|
+
# This script is for test on travis.Currently there are 5 jobs running on
|
|
4
|
+
# travis in parallel status which are listed as below:
|
|
5
|
+
# 1.Unit test with gcc compiler;
|
|
6
|
+
# 2.Unit test with clang compiler;
|
|
7
|
+
# 3.Binary comparison test for test bit stream A;
|
|
8
|
+
# 4.Binary comparison test for test bit stream B;
|
|
9
|
+
# 5.Binary comparison test for test bit stream C.
|
|
10
|
+
# For binary comparison test,before running all test cases, it need to prepare
|
|
11
|
+
# the test space.On travis,as those parallel jobs are running on different VMs,
|
|
12
|
+
# so each job need to prepare for its test space for itself.
|
|
13
|
+
#
|
|
14
|
+
# --usage:
|
|
15
|
+
# ./runTest.sh UnitTest
|
|
16
|
+
# or ./runTest.sh BinaryCompare ${TestBitStreamName}
|
|
17
|
+
#
|
|
18
|
+
# date: 10/06/2014 Created
|
|
19
|
+
#**********************************************************************************
|
|
20
|
+
#usage: runInputParamCheck ${TestType} ${TestBitStream}
|
|
21
|
+
runInputParamCheck()
|
|
22
|
+
{
|
|
23
|
+
local ParameterFlag=""
|
|
24
|
+
if [ $# -eq 1 -a "$1" = "UnitTest" ]
|
|
25
|
+
then
|
|
26
|
+
let "ParameterFlag=0"
|
|
27
|
+
elif [ $# -eq 2 -a "$1" = "BinaryCompare" ]
|
|
28
|
+
then
|
|
29
|
+
let "ParameterFlag=0"
|
|
30
|
+
else
|
|
31
|
+
let "ParameterFlag=1"
|
|
32
|
+
fi
|
|
33
|
+
return ${ParameterFlag}
|
|
34
|
+
}
|
|
35
|
+
#usage: runUnitTest
|
|
36
|
+
runUnitTest()
|
|
37
|
+
{
|
|
38
|
+
CFLAGS=-Werror make -B ENABLE64BIT=Yes BUILDTYPE=Release all plugin test
|
|
39
|
+
CFLAGS=-Werror make -B ENABLE64BIT=Yes BUILDTYPE=Debug all plugin test
|
|
40
|
+
CFLAGS=-Werror make -B ENABLE64BIT=No BUILDTYPE=Release all plugin test
|
|
41
|
+
CFLAGS=-Werror make -B ENABLE64BIT=No BUILDTYPE=Debug all plugin test
|
|
42
|
+
return $?
|
|
43
|
+
}
|
|
44
|
+
#usage: runBinaryTest $TestBitStream
|
|
45
|
+
runBinaryTest()
|
|
46
|
+
{
|
|
47
|
+
if [ ! $# -eq 2 ]
|
|
48
|
+
then
|
|
49
|
+
echo "usage: runPrepareAndBinaryTest \$TestBitStream"
|
|
50
|
+
exit 1
|
|
51
|
+
fi
|
|
52
|
+
local TestBitStream=$1
|
|
53
|
+
local TestType=$2
|
|
54
|
+
local WorkingDir=`pwd`
|
|
55
|
+
local BinaryTestDir="test/encoder_binary_comparison"
|
|
56
|
+
cd ${WorkingDir}
|
|
57
|
+
echo ""
|
|
58
|
+
echo " binary compare test, test bit stream is ${TestBitStream}"
|
|
59
|
+
echo ""
|
|
60
|
+
${BinaryTestDir}/run_OneBitStream.sh ${TestBitStream} ${TestType}
|
|
61
|
+
return $?
|
|
62
|
+
}
|
|
63
|
+
#usage:runMain ${TestType} ${TestBitStream}
|
|
64
|
+
runMain()
|
|
65
|
+
{
|
|
66
|
+
local TestType=$1
|
|
67
|
+
local TestBitStream=$2
|
|
68
|
+
runInputParamCheck ${TestType} ${TestBitStream}
|
|
69
|
+
if [ ! $? -eq 0 ]
|
|
70
|
+
then
|
|
71
|
+
echo "usage: ./runTest.sh UnitTest \${PrepareFlag}"
|
|
72
|
+
echo " or ./runTest.sh BinaryCompare \${TestBitStreamName} \${PrepareFlag} "
|
|
73
|
+
exit 1
|
|
74
|
+
fi
|
|
75
|
+
if [ "${TestType}" = "UnitTest" ]
|
|
76
|
+
then
|
|
77
|
+
set -e
|
|
78
|
+
runUnitTest
|
|
79
|
+
return $?
|
|
80
|
+
fi
|
|
81
|
+
if [ "${TestType}" = "BinaryCompare" ]
|
|
82
|
+
then
|
|
83
|
+
set -e
|
|
84
|
+
runBinaryTest ${TestBitStream} TravisTest
|
|
85
|
+
return $?
|
|
86
|
+
fi
|
|
87
|
+
}
|
|
88
|
+
TestType=$1
|
|
89
|
+
TestBitStream=$2
|
|
90
|
+
runMain ${TestType} ${TestBitStream}
|
|
91
|
+
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
[wrap-file]
|
|
2
|
+
directory = googletest-release-1.8.0
|
|
3
|
+
|
|
4
|
+
source_url = https://github.com/google/googletest/archive/release-1.8.0.zip
|
|
5
|
+
source_filename = gtest-1.8.0.zip
|
|
6
|
+
source_hash = f3ed3b58511efd272eb074a3a6d6fb79d7c2e6a0e374323d1e6bcbcc1ef141bf
|
|
7
|
+
|
|
8
|
+
patch_url = https://wrapdb.mesonbuild.com/v1/projects/gtest/1.8.0/4/get_zip
|
|
9
|
+
patch_filename = gtest-1.8.0-4-wrap.zip
|
|
10
|
+
patch_hash = 0b90fe055acbdb002a37dfb035184b306008b763931158497ef5dbaa8c7925af
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
echo off
|
|
2
|
+
SET usage="this file must located in ..\testbin\ based on our code structure "
|
|
3
|
+
echo %usage%
|
|
4
|
+
|
|
5
|
+
echo "Auto build of openH264 by VS2008"
|
|
6
|
+
|
|
7
|
+
SET VCBUILDEXE="C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\vcpackages\vcbuild.exe"
|
|
8
|
+
|
|
9
|
+
SET CurDir=%~dp0
|
|
10
|
+
SET EncoderProjectDir="..\codec\build\win32\enc\"
|
|
11
|
+
SET DecoderProjectDir="..\codec\build\win32\dec\"
|
|
12
|
+
SET VPProjectDir="..\codec\processing\build\win32\"
|
|
13
|
+
|
|
14
|
+
SET CodecBinDir="..\codec\build\win32\bin\"
|
|
15
|
+
SET VPBinDir="..\processing\bin\"
|
|
16
|
+
|
|
17
|
+
SET EncoderBuildFlag=1
|
|
18
|
+
SET DecoderBuildFlag=1
|
|
19
|
+
SET VPBuildFlag=1
|
|
20
|
+
SET MakefileLogFile="${CurDir}\CodecVPBuild.log"
|
|
21
|
+
|
|
22
|
+
rem ************************************************
|
|
23
|
+
rem call VP build
|
|
24
|
+
echo "Welsvp Building....."
|
|
25
|
+
cd %VPProjectDir%
|
|
26
|
+
rem vcclean
|
|
27
|
+
%VCBUILDEXE% WelsVP.vcproj
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
rem ************************************************
|
|
31
|
+
rem call WelsEncoder build
|
|
32
|
+
echo "WelsEncoder Building....."
|
|
33
|
+
|
|
34
|
+
cd %CurDir%
|
|
35
|
+
cd %EncoderProjectDir%
|
|
36
|
+
rem vcclean
|
|
37
|
+
%VCBUILDEXE% WelsEncCore.vcproj
|
|
38
|
+
%VCBUILDEXE% WelsEncPlus.vcproj
|
|
39
|
+
%VCBUILDEXE% encConsole.vcproj
|
|
40
|
+
|
|
41
|
+
rem ************************************************
|
|
42
|
+
rem call WelsDecoder build
|
|
43
|
+
echo "WelsDecoder Building....."
|
|
44
|
+
|
|
45
|
+
cd %CurDir%
|
|
46
|
+
cd %DecoderProjectDir%
|
|
47
|
+
rem vcclean
|
|
48
|
+
%VCBUILDEXE% WelsDecCore.vcproj
|
|
49
|
+
%VCBUILDEXE% WelsDecPlus.vcproj
|
|
50
|
+
%VCBUILDEXE% decConsole.vcproj
|
|
51
|
+
|
|
52
|
+
cd %CurDir%
|
|
53
|
+
echo "this is the end of auto build..."
|
|
54
|
+
pause
|
|
55
|
+
|
|
56
|
+
rem TBD
|
|
57
|
+
|
|
58
|
+
|
|
59
|
+
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/* Instant Runable Configurations */
|
|
2
|
+
//for encoder configure files
|
|
3
|
+
welsenc_vd_1d.cfg
|
|
4
|
+
welsenc_vd_rc.cfg
|
|
5
|
+
welsenc_arbitrary_res.cfg
|
|
6
|
+
|
|
7
|
+
//the actual generated decoder EXE files are in folder ../bin/win32/release/ with Release build
|
|
8
|
+
//user may copy "decConsole.exe" and "welsdec.dll" into ../bin
|
|
9
|
+
//Now assume the generated EXE files are in folder ../bin
|
|
10
|
+
|
|
11
|
+
Example Command Line for encoding in Windows:
|
|
12
|
+
../bin/encConsole.exe welsenc_vd_1d.cfg
|
|
13
|
+
../bin/encConsole.exe welsenc_vd_rc.cfg
|
|
14
|
+
../bin/encConsole.exe welsenc_arbitrary_res.cfg
|
|
15
|
+
|
|
16
|
+
Example Command Line for decoding in Windows
|
|
17
|
+
../bin/decConsole.exe ../res/test_vd_1d.264 test_vd_1d.yuv
|
|
18
|
+
../bin/decConsole.exe ../res/test_vd_rc.264 test_vd_rc.yuv
|
|
19
|
+
../bin/decConsole.exe ../res/Static.264 Static.yuv
|
|
20
|
+
|
|
21
|
+
Example shell script for Linux for encoder & decoder:
|
|
22
|
+
CmdLineExample.sh
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
# Layer Configuration File
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
#============================== OUTPUT ==============================
|
|
5
|
+
FrameWidth 320 # Output frame width
|
|
6
|
+
FrameHeight 192 # Output frame height
|
|
7
|
+
FrameRateOut 12 # Output frame rate [Hz]
|
|
8
|
+
ReconFile rec_layer2.yuv # Reconstructed file
|
|
9
|
+
|
|
10
|
+
#============================== CODING ==============================
|
|
11
|
+
ProfileIdc 66 # value of profile_idc (or 0 for auto detection)
|
|
12
|
+
|
|
13
|
+
InitialQP 24 # Quantization parameters for base quality layer
|
|
14
|
+
#================================ RATE CONTROL ===============================
|
|
15
|
+
SpatialBitrate 600 # Unit: kbps, controled by DisableRC also
|
|
16
|
+
MaxSpatialBitrate 0 # Unit: kbps, max bitrate for current layer, 0 - unspecified
|
|
17
|
+
#============================== MultiSlice Slice Argument ==============================
|
|
18
|
+
# for S/M Slice(s) mode settings
|
|
19
|
+
SliceMode 0 # 0: sigle slice mode; >0: multiple slices mode, see below;
|
|
20
|
+
SliceSize 1500
|
|
21
|
+
SliceNum 1 # multiple slices number specified
|
|
22
|
+
|
|
23
|
+
SlicesAssign0 960 # count number of MBs in slice #0
|
|
24
|
+
SlicesAssign1 0 # count number of MBs in slice #1
|
|
25
|
+
SlicesAssign2 0 # count number of MBs in slice #2
|
|
26
|
+
SlicesAssign3 0 # count number of MBs in slice #3 -- seting here is for better testing
|
|
27
|
+
SlicesAssign4 0 # count number of MBs in slice #4
|
|
28
|
+
SlicesAssign5 0 # count number of MBs in slice #5
|
|
29
|
+
SlicesAssign6 0 # count number of MBs in slice #6
|
|
30
|
+
SlicesAssign7 0 # count number of MBs in slice #7
|
|
31
|
+
|
|
32
|
+
### DESIGN OF SLICE MODE ####
|
|
33
|
+
# 0 SM_SINGLE_SLICE | SliceNum==1
|
|
34
|
+
# 1 SM_FIXEDSLCNUM_SLICE | according to SliceNum | enabled dynamic slicing for multi-thread
|
|
35
|
+
# 2 SM_RASTER_SLICE | according to SlicesAssign | need input of MB numbers each slice. In addition, if other constraint in SSliceArgument is presented, need to follow the constraints. Typically if MB num and slice size are both constrained, re-encoding may be involved.
|
|
36
|
+
# 3 SM_SIZELIMITED_SLICE | according to SliceSize | slicing according to size, the slicing will be dynamic(have no idea about slice_nums until encoding current frame)
|
|
37
|
+
# 4 SM_RESERVED | reserved
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
# Layer Configuration File
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
#============================== OUTPUT ==============================
|
|
5
|
+
FrameWidth 320 # Output frame width
|
|
6
|
+
FrameHeight 192 # Output frame height
|
|
7
|
+
FrameRateOut 12 # Output frame rate [Hz]
|
|
8
|
+
ReconFile rec_layer2.yuv # Reconstructed file
|
|
9
|
+
|
|
10
|
+
#============================== CODING ==============================
|
|
11
|
+
ProfileIdc 66 # value of profile_idc (or 0 for auto detection)
|
|
12
|
+
|
|
13
|
+
InitialQP 24 # Quantization parameters for base quality layer
|
|
14
|
+
#================================ RATE CONTROL ===============================
|
|
15
|
+
SpatialBitrate 600 # Unit: kbps, controled by DisableRC also
|
|
16
|
+
MaxSpatialBitrate 800 # Unit: kbps, max bitrate for current layer
|
|
17
|
+
#============================== MultiSlice Slice Argument ==============================
|
|
18
|
+
# for S/M Slice(s) mode settings
|
|
19
|
+
SliceMode 0 # 0: sigle slice mode; >0: multiple slices mode, see below;
|
|
20
|
+
SliceSize 1500
|
|
21
|
+
SliceNum 1 # multiple slices number specified
|
|
22
|
+
|
|
23
|
+
SlicesAssign0 960 # count number of MBs in slice #0
|
|
24
|
+
SlicesAssign1 0 # count number of MBs in slice #1
|
|
25
|
+
SlicesAssign2 0 # count number of MBs in slice #2
|
|
26
|
+
SlicesAssign3 0 # count number of MBs in slice #3 -- seting here is for better testing
|
|
27
|
+
SlicesAssign4 0 # count number of MBs in slice #4
|
|
28
|
+
SlicesAssign5 0 # count number of MBs in slice #5
|
|
29
|
+
SlicesAssign6 0 # count number of MBs in slice #6
|
|
30
|
+
SlicesAssign7 0 # count number of MBs in slice #7
|
|
31
|
+
|
|
32
|
+
### DESIGN OF SLICE MODE ####
|
|
33
|
+
# 0 SM_SINGLE_SLICE | SliceNum==1
|
|
34
|
+
# 1 SM_FIXEDSLCNUM_SLICE | according to SliceNum | enabled dynamic slicing for multi-thread
|
|
35
|
+
# 2 SM_RASTER_SLICE | according to SlicesAssign | need input of MB numbers each slice. In addition, if other constraint in SSliceArgument is presented, need to follow the constraints. Typically if MB num and slice size are both constrained, re-encoding may be involved.
|
|
36
|
+
# 3 SM_SIZELIMITED_SLICE | according to SliceSize | slicing according to size, the slicing will be dynamic(have no idea about slice_nums until encoding current frame)
|
|
37
|
+
# 4 SM_RESERVED | reserved
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
# Layer Configuration File
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
#============================== OUTPUT ==============================
|
|
5
|
+
FrameWidth 320 # Output frame width
|
|
6
|
+
FrameHeight 192 # Output frame height
|
|
7
|
+
FrameRateOut 12 # Output frame rate [Hz]
|
|
8
|
+
ReconFile rec_layer2.yuv # Reconstructed file
|
|
9
|
+
|
|
10
|
+
#============================== CODING ==============================
|
|
11
|
+
ProfileIdc 66 # value of profile_idc (or 0 for auto detection)
|
|
12
|
+
|
|
13
|
+
InitialQP 24 # Quantization parameters for base quality layer
|
|
14
|
+
#================================ RATE CONTROL ===============================
|
|
15
|
+
SpatialBitrate 600 # Unit: kbps, controled by DisableRC also
|
|
16
|
+
MaxSpatialBitrate 800 # Unit: kbps, max bitrate for current layer
|
|
17
|
+
#============================== MultiSlice Slice Argument ==============================
|
|
18
|
+
# for S/M Slice(s) mode settings
|
|
19
|
+
SliceMode 0 # 0: sigle slice mode; >0: multiple slices mode, see below;
|
|
20
|
+
SliceSize 1500
|
|
21
|
+
SliceNum 1 # multiple slices number specified
|
|
22
|
+
|
|
23
|
+
SlicesAssign0 960 # count number of MBs in slice #0
|
|
24
|
+
SlicesAssign1 0 # count number of MBs in slice #1
|
|
25
|
+
SlicesAssign2 0 # count number of MBs in slice #2
|
|
26
|
+
SlicesAssign3 0 # count number of MBs in slice #3 -- seting here is for better testing
|
|
27
|
+
SlicesAssign4 0 # count number of MBs in slice #4
|
|
28
|
+
SlicesAssign5 0 # count number of MBs in slice #5
|
|
29
|
+
SlicesAssign6 0 # count number of MBs in slice #6
|
|
30
|
+
SlicesAssign7 0 # count number of MBs in slice #7
|
|
31
|
+
|
|
32
|
+
### DESIGN OF SLICE MODE ####
|
|
33
|
+
# 0 SM_SINGLE_SLICE | SliceNum==1
|
|
34
|
+
# 1 SM_FIXEDSLCNUM_SLICE | according to SliceNum | enabled dynamic slicing for multi-thread
|
|
35
|
+
# 2 SM_RASTER_SLICE | according to SlicesAssign | need input of MB numbers each slice. In addition, if other constraint in SSliceArgument is presented, need to follow the constraints. Typically if MB num and slice size are both constrained, re-encoding may be involved.
|
|
36
|
+
# 3 SM_SIZELIMITED_SLICE | according to SliceSize | slicing according to size, the slicing will be dynamic(have no idea about slice_nums until encoding current frame)
|
|
37
|
+
# 4 SM_RESERVED | reserved
|
|
38
|
+
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
# Layer Configuration File
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
#============================== OUTPUT ==============================
|
|
5
|
+
FrameWidth 320 # Output frame width
|
|
6
|
+
FrameHeight 192 # Output frame height
|
|
7
|
+
FrameRateOut 12 # Output frame rate [Hz]
|
|
8
|
+
ReconFile rec_layer2.yuv # Reconstructed file
|
|
9
|
+
|
|
10
|
+
#============================== CODING ==============================
|
|
11
|
+
ProfileIdc 66 # value of profile_idc (or 0 for auto detection)
|
|
12
|
+
|
|
13
|
+
InitialQP 24 # Quantization parameters for base quality layer
|
|
14
|
+
#================================ RATE CONTROL ===============================
|
|
15
|
+
SpatialBitrate 600 # Unit: kbps, controled by DisableRC also
|
|
16
|
+
MaxSpatialBitrate 800 # Unit: kbps, max bitrate for current layer
|
|
17
|
+
#============================== MultiSlice Slice Argument ==============================
|
|
18
|
+
# for S/M Slice(s) mode settings
|
|
19
|
+
SliceMode 0 # 0: sigle slice mode; >0: multiple slices mode, see below;
|
|
20
|
+
SliceSize 1500
|
|
21
|
+
SliceNum 1 # multiple slices number specified
|
|
22
|
+
|
|
23
|
+
SlicesAssign0 960 # count number of MBs in slice #0
|
|
24
|
+
SlicesAssign1 0 # count number of MBs in slice #1
|
|
25
|
+
SlicesAssign2 0 # count number of MBs in slice #2
|
|
26
|
+
SlicesAssign3 0 # count number of MBs in slice #3 -- seting here is for better testing
|
|
27
|
+
SlicesAssign4 0 # count number of MBs in slice #4
|
|
28
|
+
SlicesAssign5 0 # count number of MBs in slice #5
|
|
29
|
+
SlicesAssign6 0 # count number of MBs in slice #6
|
|
30
|
+
SlicesAssign7 0 # count number of MBs in slice #7
|
|
31
|
+
|
|
32
|
+
### DESIGN OF SLICE MODE ####
|
|
33
|
+
# 0 SM_SINGLE_SLICE | SliceNum==1
|
|
34
|
+
# 1 SM_FIXEDSLCNUM_SLICE | according to SliceNum | enabled dynamic slicing for multi-thread
|
|
35
|
+
# 2 SM_RASTER_SLICE | according to SlicesAssign | need input of MB numbers each slice. In addition, if other constraint in SSliceArgument is presented, need to follow the constraints. Typically if MB num and slice size are both constrained, re-encoding may be involved.
|
|
36
|
+
# 3 SM_SIZELIMITED_SLICE | according to SliceSize | slicing according to size, the slicing will be dynamic(have no idea about slice_nums until encoding current frame)
|
|
37
|
+
# 4 SM_RESERVED | reserved
|
|
38
|
+
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
# Cisco Scalable H.264/AVC Extension Encoder Configuration File
|
|
2
|
+
|
|
3
|
+
#============================== GENERAL ==============================
|
|
4
|
+
UsageType 0 # 0: camera video 1:screen content
|
|
5
|
+
SimulcastAVC 0 # 0: use SVC syntax for higher layers; 1: use Simulcast AVC
|
|
6
|
+
SourceWidth 320 # input video width
|
|
7
|
+
SourceHeight 192 # input video height
|
|
8
|
+
InputFile ../res/CiscoVT2people_320x192_12fps.yuv # Input file
|
|
9
|
+
OutputFile test.264 # Bitstream file
|
|
10
|
+
MaxFrameRate 30 # Maximum frame rate [Hz]
|
|
11
|
+
FramesToBeEncoded -1 # Number of frames (at input frame rate)
|
|
12
|
+
|
|
13
|
+
TemporalLayerNum 2 # temporal layer number(1--4)
|
|
14
|
+
IntraPeriod 0 # Intra Period ( multipler of GoP size or -1)
|
|
15
|
+
SpsPpsIDStrategy 1 # sps/pps id strategy(0-4):
|
|
16
|
+
# 0: const id, 1: increasing id, 2: sps list,
|
|
17
|
+
# 3: sps list & pps increase, 4: sps/pps list
|
|
18
|
+
|
|
19
|
+
EnableFrameCropping 1 # enable frame cropping flag
|
|
20
|
+
EntropyCodingModeFlag 0 # 0:cavlc 1:cabac
|
|
21
|
+
MaxNalSize 0 # Unit:Byte, Maximum Nal size
|
|
22
|
+
ComplexityMode 0 # 0:low complexity mode 1:medium complexity mode
|
|
23
|
+
# 2:high complexity mode
|
|
24
|
+
#============================== LOOP FILTER ==============================
|
|
25
|
+
LoopFilterDisableIDC 0 # Loop filter idc (0: on, 1: off,
|
|
26
|
+
# 2: on except for slice boundaries,
|
|
27
|
+
# 3: two stage. slice boundries on in second stage
|
|
28
|
+
# 4: Luma on but Chroma off (w.r.t. idc=0)
|
|
29
|
+
# 5: Luma on except on slice boundaries, but Chroma off in enh. layer (w.r.t. idc=2)
|
|
30
|
+
# 6: Luma on in two stage. slice boundries on in second stage, but Chroma off (w.r.t. idc=3)
|
|
31
|
+
LoopFilterAlphaC0Offset 0 # AlphaOffset(-6..+6): valid range
|
|
32
|
+
LoopFilterBetaOffset 0 # BetaOffset (-6..+6): valid range
|
|
33
|
+
#============================== SOFTWARE IMPLEMENTATION ==============================
|
|
34
|
+
MultipleThreadIdc 1 # 0: auto(dynamic imp. internal encoder),
|
|
35
|
+
# 1: multiple threads imp. disabled,
|
|
36
|
+
# >1: count number of threads
|
|
37
|
+
UseLoadBalancing 1 # under particular slice mode, when multi-threading is used, whether apply dynamic slicing for load balancing
|
|
38
|
+
|
|
39
|
+
#============================== RATE CONTROL ==============================
|
|
40
|
+
RCMode 0 # -1: rc off mode, 0: quality mode, 1: bitrate mode,
|
|
41
|
+
# 2: buffer based mode,can't control bitrate,
|
|
42
|
+
# 3: bitrate mode based on timestamp input
|
|
43
|
+
TargetBitrate 5000 # Unit: kbps, controled by EnableRC also
|
|
44
|
+
MaxOverallBitrate 0 # Unit: kbps, max bitrate overall, 0 - unspecified
|
|
45
|
+
EnableFrameSkip 1 # Enable Frame Skip
|
|
46
|
+
MaxQp 51 # maximum quant
|
|
47
|
+
MinQp 0 # minimum quant
|
|
48
|
+
#============================== DENOISE CONTROL ==============================
|
|
49
|
+
EnableDenoise 0 # Enable Denoise (1: enable, 0: disable)
|
|
50
|
+
|
|
51
|
+
#============================== SCENE CHANGE DETECTION CONTROL =======================
|
|
52
|
+
EnableSceneChangeDetection 1 # Enable Scene Change Detection (1: enable, 0: disable)
|
|
53
|
+
|
|
54
|
+
#============================== BACKGROUND DETECTION CONTROL ==============================
|
|
55
|
+
EnableBackgroundDetection 1 # BGD control(1: enable, 0: disable)
|
|
56
|
+
|
|
57
|
+
#============================== ADAPTIVE QUANTIZATION CONTROL =======================
|
|
58
|
+
EnableAdaptiveQuantization 1 # Enable Adaptive Quantization (1: enable, 0: disable)
|
|
59
|
+
|
|
60
|
+
#============================== LONG TERM REFERENCE CONTROL ==============================
|
|
61
|
+
EnableLongTermReference 1 # Enable Long Term Reference (1: enable, 0: disable)
|
|
62
|
+
LtrMarkPeriod 30 # Long Term Reference Marking Period
|
|
63
|
+
|
|
64
|
+
#============================== LAYER DEFINITION ==============================
|
|
65
|
+
PrefixNALAddingCtrl 0 # Control flag of adding prefix unit (0: off, 1: on)
|
|
66
|
+
# It shall always be on in SVC contexts (i.e. when there are CGS/MGS/spatial enhancement layers)
|
|
67
|
+
# Can be disabled when no inter spatial layer prediction in case of its value as 0
|
|
68
|
+
NumLayers 1 # Number of layers
|
|
69
|
+
//LayerCfg layer0.cfg # Layer 0 configuration file
|
|
70
|
+
//LayerCfg layer1.cfg # Layer 1 configuration file
|
|
71
|
+
LayerCfg layer2.cfg # Layer 2 configuration file
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
# Cisco Scalable H.264/AVC Extension Encoder Configuration File
|
|
2
|
+
|
|
3
|
+
#============================== GENERAL ==============================
|
|
4
|
+
UsageType 0 # 0: camera video 1:screen content
|
|
5
|
+
SimulcastAVC 0 # 0: use SVC syntax for higher layers; 1: use Simulcast AVC
|
|
6
|
+
SourceWidth 152 # Input frame width
|
|
7
|
+
SourceHeight 100 # Input frame height
|
|
8
|
+
InputFile ../res/Static_152_100.yuv # Input file
|
|
9
|
+
OutputFile Static.264 # Bitstream file
|
|
10
|
+
MaxFrameRate 30 # Maximum frame rate [Hz]
|
|
11
|
+
FramesToBeEncoded -1 # Number of frames (at input frame rate)
|
|
12
|
+
|
|
13
|
+
TemporalLayerNum 3 # temporal layer number(1--4
|
|
14
|
+
IntraPeriod 0 # Intra Period ( multiple of GoP size or -1)
|
|
15
|
+
SpsPpsIDStrategy 1 # sps/pps id strategy(0-4):
|
|
16
|
+
# 0: const id, 1: increasing id, 2: sps list,
|
|
17
|
+
# 3: sps list & pps increase, 4: sps/pps list
|
|
18
|
+
|
|
19
|
+
EnableFrameCropping 1 # enable frame cropping flag
|
|
20
|
+
EntropyCodingModeFlag 0 # 0:cavlc 1:cabac
|
|
21
|
+
MaxNalSize 0 # Unit:Byte, Maximum Nal size
|
|
22
|
+
ComplexityMode 0 # 0:low complexity mode 1:medium complexity mode
|
|
23
|
+
# 2:high complexity mode
|
|
24
|
+
#============================== LOOP FILTER ==============================
|
|
25
|
+
LoopFilterDisableIDC 0 # Loop filter idc (0: on, 1: off,
|
|
26
|
+
# 2: on except for slice boundaries,
|
|
27
|
+
# 3: two stage. slice boundries on in second stage
|
|
28
|
+
# 4: Luma on but Chroma off (w.r.t. idc=0)
|
|
29
|
+
# 5: Luma on except on slice boundaries, but Chroma off in enh. layer (w.r.t. idc=2)
|
|
30
|
+
# 6: Luma on in two stage. slice boundries on in second stage, but Chroma off (w.r.t. idc=3)
|
|
31
|
+
LoopFilterAlphaC0Offset 0 # AlphaOffset(-6..+6): valid range
|
|
32
|
+
LoopFilterBetaOffset 0 # BetaOffset (-6..+6): valid range
|
|
33
|
+
|
|
34
|
+
#============================== SOFTWARE IMPLEMENTATION ==============================
|
|
35
|
+
MultipleThreadIdc 1 # 0: auto(dynamic imp. internal encoder),
|
|
36
|
+
# 1: multiple threads imp. disabled,
|
|
37
|
+
# >1: count number of threads
|
|
38
|
+
|
|
39
|
+
#============================== RATE CONTROL ==============================
|
|
40
|
+
RCMode 0 # -1: rc off mode, 0: quality mode, 1: bitrate mode,
|
|
41
|
+
# 2: buffer based mode,can't control bitrate
|
|
42
|
+
# 3: bitrate mode based on timestamp input
|
|
43
|
+
TargetBitrate 5000 # Unit: kbps, controled by EnableRC also
|
|
44
|
+
MaxOverallBitrate 6000 # Unit: kbps, max bitrate overall
|
|
45
|
+
MaxQp 51 # maximum quant
|
|
46
|
+
MinQp 0 # minimum quant
|
|
47
|
+
#============================== DENOISE CONTROL ==============================
|
|
48
|
+
EnableDenoise 0 # Enable Denoise (1: enable, 0: disable)
|
|
49
|
+
|
|
50
|
+
#============================== SCENE CHANGE DETECTION CONTROL =======================
|
|
51
|
+
EnableSceneChangeDetection 1 # Enable Scene Change Detection (1: enable, 0: disable)
|
|
52
|
+
|
|
53
|
+
#============================== BACKGROUND DETECTION CONTROL ==============================
|
|
54
|
+
EnableBackgroundDetection 1 # BGD control(1: enable, 0: disable)
|
|
55
|
+
|
|
56
|
+
#============================== ADAPTIVE QUANTIZATION CONTROL =======================
|
|
57
|
+
EnableAdaptiveQuantization 1 # Enable Adaptive Quantization (1: enable, 0: disable)
|
|
58
|
+
|
|
59
|
+
#============================== LONG TERM REFERENCE CONTROL ==============================
|
|
60
|
+
EnableLongTermReference 0 # Enable Long Term Reference (1: enable, 0: disable)
|
|
61
|
+
LtrMarkPeriod 30 # Long Term Reference Marking Period
|
|
62
|
+
|
|
63
|
+
#============================== LAYER DEFINITION ==============================
|
|
64
|
+
PrefixNALAddingCtrl 0 # Control flag of adding prefix unit (0: off, 1: on)
|
|
65
|
+
# It shall always be on in SVC contexts (i.e. when there are CGS/MGS/spatial enhancement layers)
|
|
66
|
+
# Can be disabled when no inter spatial layer prediction in case of its value as 0
|
|
67
|
+
NumLayers 1 # Number of layers
|
|
68
|
+
//LayerCfg layer0.cfg # Layer 0 configuration file
|
|
69
|
+
//LayerCfg layer1.cfg # Layer 1 configuration file
|
|
70
|
+
LayerCfg layer2_arbitrary_res.cfg # Layer 2 configuration file
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
# Cisco Scalable H.264/AVC Extension Encoder Configuration File
|
|
2
|
+
|
|
3
|
+
#============================== GENERAL ==============================
|
|
4
|
+
UsageType 0 # 0: camera video 1:screen content
|
|
5
|
+
SimulcastAVC 0 # 0: use SVC syntax for higher layers; 1: use Simulcast AVC
|
|
6
|
+
SourceWidth 320 # input video width
|
|
7
|
+
SourceHeight 192 # input video height
|
|
8
|
+
InputFile ../res/CiscoVT2people_320x192_12fps.yuv # Input file
|
|
9
|
+
OutputFile test.264 # Bitstream file
|
|
10
|
+
MaxFrameRate 30 # Maximum frame rate [Hz]
|
|
11
|
+
FramesToBeEncoded -1 # Number of frames (at input frame rate)
|
|
12
|
+
|
|
13
|
+
TemporalLayerNum 3 # temporal layer number(1--4)
|
|
14
|
+
IntraPeriod 0 # Intra Period ( multipler of GoP size or -1)
|
|
15
|
+
SpsPpsIDStrategy 1 # sps/pps id strategy(0-4):
|
|
16
|
+
# 0: const id, 1: increasing id, 2: sps list,
|
|
17
|
+
# 3: sps list & pps increase, 4: sps/pps list
|
|
18
|
+
|
|
19
|
+
EnableFrameCropping 1 # enable frame cropping flag
|
|
20
|
+
EntropyCodingModeFlag 0 # 0:cavlc 1:cabac
|
|
21
|
+
MaxNalSize 0 # Unit:Byte, Maximum Nal size
|
|
22
|
+
ComplexityMode 0 # 0:low complexity mode 1:medium complexity mode
|
|
23
|
+
# 2:high complexity mode
|
|
24
|
+
#============================== LOOP FILTER ==============================
|
|
25
|
+
LoopFilterDisableIDC 0 # Loop filter idc (0: on, 1: off,
|
|
26
|
+
# 2: on except for slice boundaries,
|
|
27
|
+
# 3: two stage. slice boundries on in second stage
|
|
28
|
+
# 4: Luma on but Chroma off (w.r.t. idc=0)
|
|
29
|
+
# 5: Luma on except on slice boundaries, but Chroma off in enh. layer (w.r.t. idc=2)
|
|
30
|
+
# 6: Luma on in two stage. slice boundries on in second stage, but Chroma off (w.r.t. idc=3)
|
|
31
|
+
LoopFilterAlphaC0Offset 0 # AlphaOffset(-6..+6): valid range
|
|
32
|
+
LoopFilterBetaOffset 0 # BetaOffset (-6..+6): valid range
|
|
33
|
+
|
|
34
|
+
#============================== SOFTWARE IMPLEMENTATION ==============================
|
|
35
|
+
MultipleThreadIdc 1 # 0: auto(dynamic imp. internal encoder),
|
|
36
|
+
# 1: multiple threads imp. disabled,
|
|
37
|
+
# >1: count number of threads
|
|
38
|
+
|
|
39
|
+
#============================== RATE CONTROL ==============================
|
|
40
|
+
RCMode 0 # -1: rc off mode, 0: quality mode, 1: bitrate mode,
|
|
41
|
+
# 2: buffer based mode,can't control bitrate,
|
|
42
|
+
# 3: bitrate mode based on timestamp input
|
|
43
|
+
TargetBitrate 5000 # Unit: kbps, controled by EnableRC also
|
|
44
|
+
MaxOverallBitrate 6000 # Unit: kbps, max bitrate overall
|
|
45
|
+
EnableFrameSkip 1 # Enable Frame Skip
|
|
46
|
+
MaxQp 51 # maximum quant
|
|
47
|
+
MinQp 0 # minimum quant
|
|
48
|
+
#============================== DENOISE CONTROL ==============================
|
|
49
|
+
EnableDenoise 0 # Enable Denoise (1: enable, 0: disable)
|
|
50
|
+
|
|
51
|
+
#============================== SCENE CHANGE DETECTION CONTROL =======================
|
|
52
|
+
EnableSceneChangeDetection 1 # Enable Scene Change Detection (1: enable, 0: disable)
|
|
53
|
+
|
|
54
|
+
#============================== BACKGROUND DETECTION CONTROL ==============================
|
|
55
|
+
EnableBackgroundDetection 1 # BGD control(1: enable, 0: disable)
|
|
56
|
+
|
|
57
|
+
#============================== ADAPTIVE QUANTIZATION CONTROL =======================
|
|
58
|
+
EnableAdaptiveQuantization 1 # Enable Adaptive Quantization (1: enable, 0: disable)
|
|
59
|
+
|
|
60
|
+
#============================== LONG TERM REFERENCE CONTROL ==============================
|
|
61
|
+
EnableLongTermReference 0 # Enable Long Term Reference (1: enable, 0: disable)
|
|
62
|
+
LtrMarkPeriod 30 # Long Term Reference Marking Period
|
|
63
|
+
|
|
64
|
+
#============================== LAYER DEFINITION ==============================
|
|
65
|
+
PrefixNALAddingCtrl 0 # Control flag of adding prefix unit (0: off, 1: on)
|
|
66
|
+
# It shall always be on in SVC contexts (i.e. when there are CGS/MGS/spatial enhancement layers)
|
|
67
|
+
# Can be disabled when no inter spatial layer prediction in case of its value as 0
|
|
68
|
+
//NumLayers 1 # Number of layers
|
|
69
|
+
//LayerCfg layer0.cfg # Layer 0 configuration file
|
|
70
|
+
//LayerCfg layer1.cfg # Layer 1 configuration file
|
|
71
|
+
//LayerCfg layer2.cfg # Layer 2 configuration file
|