@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,193 @@
|
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
|
|
3
|
+
##############################################################
|
|
4
|
+
#Build ios test ref app
|
|
5
|
+
|
|
6
|
+
#set the default configuration
|
|
7
|
+
CODEC_TEST_IOS_ARCH="armv7 armv7s arm64"
|
|
8
|
+
CODEC_TEST_IOS_PLATFORM="iphoneos"
|
|
9
|
+
CODEC_TEST_IOS_DEBUG_RELEASE="Release"
|
|
10
|
+
CODEC_TEST_IOS_REPORT_SUBFOLDER="release"
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
buildXcodeProject()
|
|
14
|
+
{
|
|
15
|
+
xcodebuild ARCHS="${CODEC_TEST_IOS_ARCH}" VALID_ARCHS="${CODEC_TEST_IOS_ARCH}" ONLY_ACTIVE_ARCH=YES -project $1 -target $2 -configuration $3 -sdk ${CODEC_TEST_IOS_PLATFORM} clean build
|
|
16
|
+
|
|
17
|
+
if [ $? -eq 0 ]; then
|
|
18
|
+
echo "build $1 $3 successfully"
|
|
19
|
+
else
|
|
20
|
+
echo "build $1 $3 fail"
|
|
21
|
+
exit 1
|
|
22
|
+
fi
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
iosPerformanceTest()
|
|
28
|
+
{
|
|
29
|
+
|
|
30
|
+
if [ $# -gt 2 ]; then
|
|
31
|
+
echo "Please use command $0 [enc/dec] [release/debug]"
|
|
32
|
+
exit 1
|
|
33
|
+
fi
|
|
34
|
+
|
|
35
|
+
for PARAM in $*; do
|
|
36
|
+
if [ "enc" = "${PARAM}" ]; then
|
|
37
|
+
CODEC_TEST_XCODE_PROJECT_NAME="${AUTO_TEST_SRC_PATH}/codec/build/iOS/enc/encDemo/encDemo.xcodeproj"
|
|
38
|
+
CODEC_TEST_IOS_PROJECT_NAME="encDemo"
|
|
39
|
+
CODEC_TEST_IOS_PROJECT_PATH="${AUTO_TEST_SRC_PATH}/codec/build/iOS/enc/encDemo/build"
|
|
40
|
+
CODEC_TEST_IOS_APP=${CODEC_TEST_IOS_PROJECT_PATH}/${CODEC_TEST_IOS_DEBUG_RELEASE}-iphoneos/${CODEC_TEST_IOS_PROJECT_NAME}.app
|
|
41
|
+
CODEC_TEST_IOS_APP_ID="cisco.encDemo"
|
|
42
|
+
CODEC_TEST_RES=${AUTO_TEST_IOS_PATH}/../EncoderPerfTestRes
|
|
43
|
+
CODEC_TEST_LOG="encPerf"
|
|
44
|
+
elif [ "dec" = "${PARAM}" ]; then
|
|
45
|
+
CODEC_TEST_XCODE_PROJECT_NAME="${AUTO_TEST_SRC_PATH}/codec/build/iOS/dec/demo/demo.xcodeproj/"
|
|
46
|
+
CODEC_TEST_IOS_PROJECT_NAME="demo"
|
|
47
|
+
CODEC_TEST_IOS_PROJECT_PATH="${AUTO_TEST_SRC_PATH}/codec/build/iOS/dec/demo/build"
|
|
48
|
+
CODEC_TEST_IOS_APP=${CODEC_TEST_IOS_PROJECT_PATH}/${CODEC_TEST_IOS_DEBUG_RELEASE}-iphoneos/${CODEC_TEST_IOS_PROJECT_NAME}.app
|
|
49
|
+
CODEC_TEST_IOS_APP_ID="hf.cisco.demo"
|
|
50
|
+
CODEC_TEST_RES=${AUTO_TEST_IOS_PATH}/../DecoderPerfTestRes
|
|
51
|
+
CODEC_TEST_LOG="decPerf"
|
|
52
|
+
elif [ "release" = "${PARAM}" ]; then
|
|
53
|
+
CODEC_TEST_IOS_DEBUG_RELEASE="Release"
|
|
54
|
+
CODEC_TEST_IOS_REPORT_SUBFOLDER="release"
|
|
55
|
+
elif [ "debug" = "${PARAM}" ]; then
|
|
56
|
+
CODEC_TEST_IOS_DEBUG_RELEASE="Debug"
|
|
57
|
+
CODEC_TEST_IOS_REPORT_SUBFOLDER="debug"
|
|
58
|
+
else
|
|
59
|
+
echo parameters are illegal!!!, please have a check.
|
|
60
|
+
exit 1
|
|
61
|
+
fi
|
|
62
|
+
done
|
|
63
|
+
|
|
64
|
+
echo "Codec test will run on ${CODEC_TEST_IOS_PLATFORM} with ${CODEC_TEST_IOS_DEBUG_RELEASE}"
|
|
65
|
+
buildXcodeProject ${CODEC_TEST_XCODE_PROJECT_NAME} ${CODEC_TEST_IOS_PROJECT_NAME} ${CODEC_TEST_IOS_DEBUG_RELEASE} ${CODEC_TEST_IOS_PLATFORM}
|
|
66
|
+
|
|
67
|
+
|
|
68
|
+
|
|
69
|
+
|
|
70
|
+
##############run on ios devices#########################
|
|
71
|
+
# for real device
|
|
72
|
+
if [ ! -d ${CODEC_TEST_IOS_APP} ] ; then
|
|
73
|
+
echo "${CODEC_TEST_IOS_APP} is not found"
|
|
74
|
+
exit 1
|
|
75
|
+
else
|
|
76
|
+
echo "Find app ${CODEC_TEST_IOS_APP}"
|
|
77
|
+
fi
|
|
78
|
+
|
|
79
|
+
#ensure instruments not runing
|
|
80
|
+
echo "Try to kill the runing instruments"
|
|
81
|
+
pids_str=`ps x -o pid,command | grep -v grep | grep "instruments" | awk '{printf "%s,", $1}'`
|
|
82
|
+
instruments_pids="${pids_str//,/ }"
|
|
83
|
+
for pid in ${instruments_pids}; do
|
|
84
|
+
echo "Found instruments ${pid}. Killing..."
|
|
85
|
+
kill -9 ${pid} && wait ${pid} &> /dev/null
|
|
86
|
+
done
|
|
87
|
+
|
|
88
|
+
|
|
89
|
+
|
|
90
|
+
DEVICES=`system_profiler SPUSBDataType | sed -n -e '/iPad/,/Serial/p' -e '/iPhone/,/Serial/p' | grep "Serial Number:" | awk -F ": " '{print $2}'`
|
|
91
|
+
if [ "${DEVICES}#" == "#" ]
|
|
92
|
+
then
|
|
93
|
+
echo "Can not find any connected device! please check device is connected to MAC!"
|
|
94
|
+
exit 1
|
|
95
|
+
else
|
|
96
|
+
rand=`date +%s`
|
|
97
|
+
for DEVICE_ID in ${DEVICES}
|
|
98
|
+
do
|
|
99
|
+
echo "Try to run on device:${DEVICE_ID}"
|
|
100
|
+
|
|
101
|
+
#Encoder YUV file too large
|
|
102
|
+
if [ ${ENCDEC} = "enc" ]
|
|
103
|
+
then
|
|
104
|
+
#For limited devices space
|
|
105
|
+
BAKRES=${CODEC_TEST_RES}_bak
|
|
106
|
+
mv ${CODEC_TEST_RES} ${BAKRES}
|
|
107
|
+
mkdir -p ${CODEC_TEST_RES}
|
|
108
|
+
CODEC_CASE=`ls ${BAKRES}`
|
|
109
|
+
echo ${CODEC_CASE}
|
|
110
|
+
for CASE in ${CODEC_CASE}
|
|
111
|
+
do
|
|
112
|
+
echo ${CASE}
|
|
113
|
+
cp -r ${BAKRES}/${CASE} ${CODEC_TEST_RES}/.
|
|
114
|
+
|
|
115
|
+
|
|
116
|
+
#uninstall the application from device to remove the last result
|
|
117
|
+
./fruitstrap uninstall --bundle ${CODEC_TEST_IOS_APP_ID} --id ${DEVICE_ID}
|
|
118
|
+
if [ $? -ne 0 ]; then
|
|
119
|
+
echo uninstall application: ${CODEC_TEST_IOS_APP} from device: ${DEVICE_ID} is failed!
|
|
120
|
+
fi
|
|
121
|
+
#install the application
|
|
122
|
+
./fruitstrap install --bundle ${CODEC_TEST_IOS_APP} --id ${DEVICE_ID}
|
|
123
|
+
if [ $? -ne 0 ]; then
|
|
124
|
+
echo install application: ${CODEC_TEST_IOS_APP} to device: ${DEVICE_ID} is failed!
|
|
125
|
+
exit 1
|
|
126
|
+
fi
|
|
127
|
+
|
|
128
|
+
./iFileTransfer -o copy -id ${DEVICE_ID} -app ${CODEC_TEST_IOS_APP_ID} -from ${CODEC_TEST_RES}
|
|
129
|
+
instruments -w ${DEVICE_ID} -t /Applications/Xcode.app/Contents/Applications/Instruments.app/Contents/PlugIns/AutomationInstrument.bundle/Contents/Resources/Automation.tracetemplate ${CODEC_TEST_IOS_APP} -e UIASCRIPT ./uiascript.js -e UIARRESULTPATH /tmp/
|
|
130
|
+
#copy to report folder
|
|
131
|
+
./iFileTransfer -o download -id ${DEVICE_ID} -app ${CODEC_TEST_IOS_APP_ID} -from /Documents/${CODEC_TEST_LOG}.log -to ${CODEC_TEST_IOS_REPORT_PATH}/${CODEC_TEST_LOG}_${DEVICE_ID}_${rand}_${CASE}.log
|
|
132
|
+
if [ $? -ne 0 ]; then
|
|
133
|
+
echo "download file: ${CODEC_TEST_LOG}.log from ${CODEC_TEST_IOS_APP_ID} is failed!"
|
|
134
|
+
exit 1
|
|
135
|
+
fi
|
|
136
|
+
cat ${CODEC_TEST_IOS_REPORT_PATH}/${CODEC_TEST_LOG}_${DEVICE_ID}_${rand}_${CASE}.log>>${CODEC_TEST_IOS_REPORT_PATH}/${CODEC_TEST_LOG}_${DEVICE_ID}_${rand}.log
|
|
137
|
+
rm -f ${CODEC_TEST_IOS_REPORT_PATH}/${CODEC_TEST_LOG}_${DEVICE_ID}_${rand}_${CASE}.log
|
|
138
|
+
rm -rf ${CODEC_TEST_RES}/${CASE}
|
|
139
|
+
done
|
|
140
|
+
rm -rf ${CODEC_TEST_RES}
|
|
141
|
+
mv ${BAKRES} ${CODEC_TEST_RES}
|
|
142
|
+
#Enough spaces
|
|
143
|
+
else
|
|
144
|
+
#uninstall the application from device to remove the last result
|
|
145
|
+
./fruitstrap uninstall --bundle ${CODEC_TEST_IOS_APP_ID} --id ${DEVICE_ID}
|
|
146
|
+
if [ $? -ne 0 ]; then
|
|
147
|
+
echo uninstall application: ${CODEC_TEST_IOS_APP} from device: ${DEVICE_ID} is failed!
|
|
148
|
+
fi
|
|
149
|
+
#install the application
|
|
150
|
+
./fruitstrap install --bundle ${CODEC_TEST_IOS_APP} --id ${DEVICE_ID}
|
|
151
|
+
if [ $? -ne 0 ]; then
|
|
152
|
+
echo install application: ${CODEC_TEST_IOS_APP} to device: ${DEVICE_ID} is failed!
|
|
153
|
+
exit 1
|
|
154
|
+
fi
|
|
155
|
+
|
|
156
|
+
./iFileTransfer -o copy -id ${DEVICE_ID} -app ${CODEC_TEST_IOS_APP_ID} -from ${CODEC_TEST_RES}
|
|
157
|
+
instruments -w ${DEVICE_ID} -t /Applications/Xcode.app/Contents/Applications/Instruments.app/Contents/PlugIns/AutomationInstrument.bundle/Contents/Resources/Automation.tracetemplate ${CODEC_TEST_IOS_APP} -e UIASCRIPT ./uiascript.js -e UIARRESULTPATH /tmp/
|
|
158
|
+
#copy to report folder
|
|
159
|
+
./iFileTransfer -o download -id ${DEVICE_ID} -app ${CODEC_TEST_IOS_APP_ID} -from /Documents/${CODEC_TEST_LOG}.log -to ${CODEC_TEST_IOS_REPORT_PATH}/${CODEC_TEST_LOG}_${DEVICE_ID}_${rand}_${CASE}.log
|
|
160
|
+
if [ $? -ne 0 ]; then
|
|
161
|
+
echo "download file: ${CODEC_TEST_LOG}.log from ${CODEC_TEST_IOS_APP_ID} is failed!"
|
|
162
|
+
exit 1
|
|
163
|
+
fi
|
|
164
|
+
|
|
165
|
+
|
|
166
|
+
fi
|
|
167
|
+
done
|
|
168
|
+
|
|
169
|
+
fi
|
|
170
|
+
}
|
|
171
|
+
|
|
172
|
+
AUTO_TEST_IOS_PATH=`pwd`
|
|
173
|
+
AUTO_TEST_SRC_PATH="../../.."
|
|
174
|
+
CODEC_TEST_IOS_REPORT_PATH="${AUTO_TEST_IOS_PATH}/report"
|
|
175
|
+
if [ ! -d ${CODEC_TEST_IOS_REPORT_PATH} ]
|
|
176
|
+
then
|
|
177
|
+
mkdir -p ${CODEC_TEST_IOS_REPORT_PATH}
|
|
178
|
+
fi
|
|
179
|
+
|
|
180
|
+
ENCDEC=$1
|
|
181
|
+
#start to get encoder/decoder performance data,default run the xcode with release
|
|
182
|
+
iosPerformanceTest $ENCDEC release
|
|
183
|
+
|
|
184
|
+
if [ $? -ne 0 ]; then
|
|
185
|
+
echo "Running $ENCDEC demo to get encoder performance is failed!"
|
|
186
|
+
exit 1
|
|
187
|
+
else
|
|
188
|
+
echo Finished $ENCDEC performance test on ios devices
|
|
189
|
+
echo the test result is generated at ./ios/report/xx.loGbash parsePerfData.sh
|
|
190
|
+
echo xxxxxxxxxxxxxxxxxxxxxxxxxxxxIOS $ENCDEC Endxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
|
|
191
|
+
fi
|
|
192
|
+
#TODO:according to the trace of instruments to do some analysis
|
|
193
|
+
#find ./ -name *.trace -exec rm -rf {} \;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
UIATarget.onAlert = function onAlert(alert){
|
|
2
|
+
|
|
3
|
+
UIALogger.logMessage("In Alert!");
|
|
4
|
+
title = alert.name();
|
|
5
|
+
if (title && title.indexOf("Microphone") !== -1) {
|
|
6
|
+
UIALogger.logMessage("Alert with title '" + title + "' encountered!");
|
|
7
|
+
var buttons = alert.buttons();
|
|
8
|
+
var buttonCount = buttons.length;
|
|
9
|
+
|
|
10
|
+
if (buttonCount > 0) {
|
|
11
|
+
var acceptButton = buttons[buttonCount - 1];
|
|
12
|
+
acceptButton.tap(); // last button is accept
|
|
13
|
+
}
|
|
14
|
+
return true; //forbid the default cancel processing
|
|
15
|
+
}
|
|
16
|
+
return false; //using the default cancel processing
|
|
17
|
+
}
|
|
18
|
+
var target = UIATarget.localTarget();
|
|
19
|
+
target.delay(6000);
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
|
|
3
|
+
#usage runGetPerformanceInfo ${PerformanceLogFile}
|
|
4
|
+
runGetPerformanceInfo_openh264()
|
|
5
|
+
{
|
|
6
|
+
|
|
7
|
+
if [ ! $# -eq 2 ]
|
|
8
|
+
then
|
|
9
|
+
echo "not enough parameters!"
|
|
10
|
+
echo "usage: ${0} [android/ios] ${PerformanceLogFile}"
|
|
11
|
+
return 1
|
|
12
|
+
fi
|
|
13
|
+
|
|
14
|
+
local PerformanceLogFile=$2
|
|
15
|
+
local FileName=""
|
|
16
|
+
local Width=""
|
|
17
|
+
local Height=""
|
|
18
|
+
local Frames=""
|
|
19
|
+
local FPS=""
|
|
20
|
+
local EncodeTime=""
|
|
21
|
+
if [ $1 = "android" ]
|
|
22
|
+
then seperatorNum=3
|
|
23
|
+
else
|
|
24
|
+
seperatorNum=2
|
|
25
|
+
fi
|
|
26
|
+
|
|
27
|
+
while read line
|
|
28
|
+
do
|
|
29
|
+
if [[ $line =~ "enc yuv file" ]]
|
|
30
|
+
then
|
|
31
|
+
FileName=`echo $line | awk 'BEGIN {FS="enc yuv file"} {print $2}'`
|
|
32
|
+
FileName=`echo $FileName | awk 'BEGIN {FS=":"} {print $2}'`
|
|
33
|
+
fi
|
|
34
|
+
if [[ $line =~ "Width" ]]
|
|
35
|
+
then
|
|
36
|
+
Width=`echo $line | awk 'BEGIN {FS=":"} {print $'${seperatorNum}'}'`
|
|
37
|
+
fi
|
|
38
|
+
if [[ $line =~ "Height" ]]
|
|
39
|
+
then
|
|
40
|
+
Height=`echo $line | awk 'BEGIN {FS=":"} {print $'${seperatorNum}'}'`
|
|
41
|
+
fi
|
|
42
|
+
if [[ $line =~ "Frames" ]]
|
|
43
|
+
then
|
|
44
|
+
Frames=`echo $line | awk 'BEGIN {FS=":"} {print $'${seperatorNum}'}'`
|
|
45
|
+
fi
|
|
46
|
+
if [[ $line =~ "FPS" ]]
|
|
47
|
+
then
|
|
48
|
+
FPS=`echo $line | awk 'BEGIN {FS=":"} {print $'${seperatorNum}'}'`
|
|
49
|
+
FPS=`echo $FPS | awk 'BEGIN {FS="fps"} {print $1}'`
|
|
50
|
+
echo "${FileName},"${Width}x${Height}",${Frames},${FPS}"
|
|
51
|
+
fi
|
|
52
|
+
|
|
53
|
+
if [[ $line =~ "encode time" ]]
|
|
54
|
+
then
|
|
55
|
+
EncodeTime=`echo $line | awk 'BEGIN {FS=":"} {print $'${seperatorNum}'}'`
|
|
56
|
+
fi
|
|
57
|
+
if [[ $line =~ "height" ]]
|
|
58
|
+
then
|
|
59
|
+
Height=`echo $line | awk 'BEGIN {FS=":"} {print $'${seperatorNum}'}'`
|
|
60
|
+
fi
|
|
61
|
+
if [[ $line =~ "H264 source file name" ]]
|
|
62
|
+
then
|
|
63
|
+
FileName=`echo $line | awk 'BEGIN {FS=":"} {print $'${seperatorNum}'}'`
|
|
64
|
+
if [ $1 = "ios" ]
|
|
65
|
+
then
|
|
66
|
+
FileName=`echo $FileName | awk -F"DecoderPerfTestRes" '{print $2}'`
|
|
67
|
+
FileName=`echo $FileName | awk -F"/" '{print $2}'`
|
|
68
|
+
else
|
|
69
|
+
FileName=`echo $FileName | awk -F"/" '{print $4}'`
|
|
70
|
+
fi
|
|
71
|
+
fi
|
|
72
|
+
|
|
73
|
+
done <${PerformanceLogFile}
|
|
74
|
+
|
|
75
|
+
|
|
76
|
+
}
|
|
77
|
+
AUTO_TEST_RESULT_PATH="./TestResultCSV/"
|
|
78
|
+
|
|
79
|
+
|
|
80
|
+
parseLogToCSV()
|
|
81
|
+
{
|
|
82
|
+
if [ $# -ne 1 ]
|
|
83
|
+
then echo "Please input $0 [android/ios]"
|
|
84
|
+
fi
|
|
85
|
+
if [ $* = "android" ]
|
|
86
|
+
then
|
|
87
|
+
Result_log_path="./android/report/"
|
|
88
|
+
suffix=android
|
|
89
|
+
dos2unix ${Result_log_path}*.*
|
|
90
|
+
else
|
|
91
|
+
Result_log_path="./ios/report/"
|
|
92
|
+
suffix=ios
|
|
93
|
+
fi
|
|
94
|
+
Result_log=`ls ${Result_log_path}`
|
|
95
|
+
|
|
96
|
+
for log in ${Result_log}
|
|
97
|
+
do
|
|
98
|
+
PerformFile=`echo $log |awk -F"." '{print $1}'`
|
|
99
|
+
PerformFile=${PerformFile}_${suffix}.csv
|
|
100
|
+
#inital perfermance file
|
|
101
|
+
echo "$log,,,">>${AUTO_TEST_RESULT_PATH}${PerformFile}
|
|
102
|
+
echo "YUV,Resolution,Encodedframes,FPS">>${AUTO_TEST_RESULT_PATH}${PerformFile}
|
|
103
|
+
runGetPerformanceInfo_openh264 ${suffix} ${Result_log_path}${log}>>${AUTO_TEST_RESULT_PATH}${PerformFile}
|
|
104
|
+
done
|
|
105
|
+
}
|
|
106
|
+
parseLogToCSV android
|
|
107
|
+
parseLogToCSV ios
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
#!bin/bash
|
|
2
|
+
IOS=1
|
|
3
|
+
ANDROID=1
|
|
4
|
+
ENC=1
|
|
5
|
+
DEC=1
|
|
6
|
+
AUTO_TEST_PATH=`pwd`
|
|
7
|
+
|
|
8
|
+
#Judge to run the test on which kind of mobile
|
|
9
|
+
if [ $# -eq 0 ];then
|
|
10
|
+
echo Default testing will run on android and ios devices meanwhile
|
|
11
|
+
else
|
|
12
|
+
for params in $*; do
|
|
13
|
+
if [ $params = "ios" ];then
|
|
14
|
+
echo Running the test just on ios devices
|
|
15
|
+
ANDROID=0
|
|
16
|
+
elif [ $params = "android" ];then
|
|
17
|
+
echo Running the test just on android devices
|
|
18
|
+
IOS=0
|
|
19
|
+
elif [ $params = "enc" ];then
|
|
20
|
+
echo Running the encoder performance test
|
|
21
|
+
DEC=0
|
|
22
|
+
elif [ $params = "dec" ];then
|
|
23
|
+
echo Running the decoder performance test
|
|
24
|
+
ENC=0
|
|
25
|
+
else
|
|
26
|
+
echo parameters are illegal!!!, ${0} [ios/android] [enc/dec]
|
|
27
|
+
exit 1
|
|
28
|
+
fi
|
|
29
|
+
done
|
|
30
|
+
fi
|
|
31
|
+
|
|
32
|
+
#Prepare encoder resources
|
|
33
|
+
if [ ${ENC} = "1" ]
|
|
34
|
+
then
|
|
35
|
+
if [ ! -d ./EncoderPerTestRes ]
|
|
36
|
+
then
|
|
37
|
+
mkdir -p ./EncoderPerfTestRes
|
|
38
|
+
fi
|
|
39
|
+
if [ "#`ls ./EncoderPerfTestRes`" = "#" ]
|
|
40
|
+
then
|
|
41
|
+
echo put yuv and cfg file into ./EncoderPerfTest folder as
|
|
42
|
+
echo case_720p
|
|
43
|
+
echo case_720p/welsenc.cfg
|
|
44
|
+
echo case_720p/layer2.cfg
|
|
45
|
+
echo case_720p/yuv
|
|
46
|
+
echo case_720p/yuv/xxx1.yuv
|
|
47
|
+
echo case_720p/yuv/xxx2.yuv
|
|
48
|
+
echo case_360p
|
|
49
|
+
echo case_360p/welsenc.cfg
|
|
50
|
+
echo ......
|
|
51
|
+
else
|
|
52
|
+
#Run the encoder performance test
|
|
53
|
+
if [ ${IOS} = "1" ]
|
|
54
|
+
then
|
|
55
|
+
echo xxxxxxxxxxxxxxxxIOS ENC Startxxxxxxxxxxxxxxxxxx
|
|
56
|
+
echo Run the Encoder performance test on ios devices
|
|
57
|
+
cd ./ios
|
|
58
|
+
bash run_AutoTest_ios.sh enc
|
|
59
|
+
cd ${AUTO_TEST_PATH}
|
|
60
|
+
fi
|
|
61
|
+
|
|
62
|
+
if [ ${ANDROID} = "1" ]
|
|
63
|
+
then
|
|
64
|
+
echo xxxxxxxxxxxxxxAndroid ENC Startxxxxxxxxxxxxxxxxxxxx
|
|
65
|
+
echo Run the Encoder performance test on android devices
|
|
66
|
+
cd ./android
|
|
67
|
+
bash run_AutoTest_android.sh enc
|
|
68
|
+
cd ${AUTO_TEST_PATH}
|
|
69
|
+
fi
|
|
70
|
+
fi
|
|
71
|
+
fi
|
|
72
|
+
|
|
73
|
+
#Prepare decoder resources
|
|
74
|
+
if [ ${DEC} = "1" ]
|
|
75
|
+
then
|
|
76
|
+
if [ ! -d ./DecoderPerfTestRes ]
|
|
77
|
+
then
|
|
78
|
+
mkdir -p ./DecoderPerfTestRes
|
|
79
|
+
fi
|
|
80
|
+
|
|
81
|
+
if [ "#`ls ./DecoderPerfTestRes`" = "#" ]
|
|
82
|
+
then
|
|
83
|
+
echo put decoded bitstreams into such folder as
|
|
84
|
+
echo xxx1.264
|
|
85
|
+
echo xxx2.264
|
|
86
|
+
echo ........
|
|
87
|
+
else
|
|
88
|
+
#Run the decoder performance test
|
|
89
|
+
if [ ${IOS} = "1" ]
|
|
90
|
+
then
|
|
91
|
+
echo xxxxxxxxxxxxxxxxIOS DEC Startxxxxxxxxxxxxxxxxxx
|
|
92
|
+
echo Run the Decoder performance test on ios devices
|
|
93
|
+
cd ./ios
|
|
94
|
+
bash run_AutoTest_ios.sh dec
|
|
95
|
+
cd ${AUTO_TEST_PATH}
|
|
96
|
+
fi
|
|
97
|
+
|
|
98
|
+
if [ ${ANDROID} = "1" ]
|
|
99
|
+
then
|
|
100
|
+
echo xxxxxxxxxxxxxxAndroid DEC Startxxxxxxxxxxxxxxxxxxxx
|
|
101
|
+
echo Run the Decoder performance test on android devices
|
|
102
|
+
cd ./android
|
|
103
|
+
bash run_AutoTest_android.sh dec
|
|
104
|
+
cd ${AUTO_TEST_PATH}
|
|
105
|
+
fi
|
|
106
|
+
fi
|
|
107
|
+
fi
|
|
108
|
+
|
|
109
|
+
#TODO:NOW just generate csv file to display performance data
|
|
110
|
+
cd ${AUTO_TEST_PATH}
|
|
111
|
+
if [[ "#`ls ./ios/report`" == "#" && "#`ls ./android/report`" == "#" ]]
|
|
112
|
+
then
|
|
113
|
+
echo There is nothing result log generated at ios or android devices
|
|
114
|
+
else
|
|
115
|
+
echo Start to generate test result csv file
|
|
116
|
+
#Test result
|
|
117
|
+
mkdir -p ./TestResultCSV
|
|
118
|
+
bash parsePerfData.sh
|
|
119
|
+
echo The csv file locate ./TestResultCSV/xxx.csv
|
|
120
|
+
fi
|
|
121
|
+
|
|
122
|
+
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
|
|
3
|
+
AUTO_TEST_ANDROID_PATH=`pwd`
|
|
4
|
+
AUTO_TEST_SRC_PATH="../../../"
|
|
5
|
+
AUTO_TEST_RES_PATH="${AUTO_TEST_ANDROID_PATH}/report"
|
|
6
|
+
if [ ! -d ${AUTO_TEST_RES_PATH} ]
|
|
7
|
+
then
|
|
8
|
+
mkdir -p ${AUTO_TEST_RES_PATH}
|
|
9
|
+
else
|
|
10
|
+
echo "Will delete those outdate xml in the report"
|
|
11
|
+
rm -f ${AUTO_TEST_RES_PATH}/*.xml
|
|
12
|
+
fi
|
|
13
|
+
#Prepare android build enviroment
|
|
14
|
+
echo please set the enviroment variable as:
|
|
15
|
+
echo export ANDROID_HOME="path of android sdk"
|
|
16
|
+
echo export ANDROID_NDK_HOME="path of android ndk"
|
|
17
|
+
ANDROID_SDK_PATH=${ANDROID_HOME}
|
|
18
|
+
ANDROID_NDK_PATH=${ANDROID_NDK_HOME}
|
|
19
|
+
ANDROID_MAKE_PARAMS="OS=android NDKROOT=${ANDROID_NDK_PATH} TARGET=android-19"
|
|
20
|
+
|
|
21
|
+
if [ "#${ANDROID_SDK_PATH}" = "#" ]
|
|
22
|
+
then
|
|
23
|
+
echo Please set ANDROID_HOME with the path of Android SDK
|
|
24
|
+
exit 1
|
|
25
|
+
fi
|
|
26
|
+
if [ "#${ANDROID_NDK_PATH}" = "#" ]
|
|
27
|
+
then
|
|
28
|
+
echo Please set ANDROID_NDK_HOME with the path of Android NDK
|
|
29
|
+
exit 1
|
|
30
|
+
fi
|
|
31
|
+
#make build
|
|
32
|
+
cd ${AUTO_TEST_SRC_PATH}
|
|
33
|
+
find ./ -name *.o -exec rm -f {} \;
|
|
34
|
+
find ./ -name *.d -exec rm -f {} \;
|
|
35
|
+
make clean
|
|
36
|
+
make $ANDROID_MAKE_PARAMS test
|
|
37
|
+
|
|
38
|
+
if [ $? -ne 0 ]
|
|
39
|
+
then
|
|
40
|
+
echo Build error,check with the trace of make
|
|
41
|
+
exit 1
|
|
42
|
+
fi
|
|
43
|
+
|
|
44
|
+
#find apk
|
|
45
|
+
echo Start to find unittest apk
|
|
46
|
+
apk_name=`find ./ -name MainActivity-debug.apk`
|
|
47
|
+
if [ "#${apk_name}" = "#" ]
|
|
48
|
+
then
|
|
49
|
+
echo Fail to find encoder APK.
|
|
50
|
+
exit 1
|
|
51
|
+
fi
|
|
52
|
+
|
|
53
|
+
#prepare devices
|
|
54
|
+
ADB=${ANDROID_SDK_PATH}/platform-tools/adb
|
|
55
|
+
|
|
56
|
+
#get devices
|
|
57
|
+
devices=`$ADB devices | awk -F" " '/\tdevice/{print $1}'`
|
|
58
|
+
if [ "#$devices" = "#" ];then
|
|
59
|
+
echo "Have not any android devices."
|
|
60
|
+
exit 1
|
|
61
|
+
fi
|
|
62
|
+
|
|
63
|
+
#run apk
|
|
64
|
+
run_apk() {
|
|
65
|
+
local apk=$1;
|
|
66
|
+
local rand=` date +%s`
|
|
67
|
+
apk_id="com.cisco.codec.unittest"
|
|
68
|
+
apk_main="com.cisco.codec.unittest/.MainActivity"
|
|
69
|
+
test_path="/sdcard/welsenc"
|
|
70
|
+
log_grep_params="welsenc"
|
|
71
|
+
test_res=./res
|
|
72
|
+
xml_file="sdcard/codec_unittest.xml"
|
|
73
|
+
for dev in $devices; do
|
|
74
|
+
#dev_info_file=${AUTO_TEST_RES_PATH}/${dev}.log
|
|
75
|
+
report_file=${AUTO_TEST_RES_PATH}/codec_unittest_${dev}_${rand}.xml
|
|
76
|
+
$ADB -s $dev uninstall ${apk_id}
|
|
77
|
+
$ADB -s $dev install -r ${apk}
|
|
78
|
+
#TODO: output more info about android device such as name,cpu,memory,and also power comsumption.
|
|
79
|
+
echo `$ADB -s $dev shell cat /system/build.prop |grep ro.product.model | awk -F"=" '{print $2}'`>${dev_info_file}
|
|
80
|
+
$ADB -s $dev push ${test_res} /sdcard/res
|
|
81
|
+
$ADB -s $dev shell am start --es path "$xml_file" -n ${apk_main}
|
|
82
|
+
# check whetehr the app is finished every 2 sec
|
|
83
|
+
for (( ; ; )); do
|
|
84
|
+
$ADB -s $dev shell ps | grep ${apk_id}
|
|
85
|
+
if [ $? -ne 0 ]; then
|
|
86
|
+
sleep 2
|
|
87
|
+
$ADB -s $dev shell ps | grep ${apk_id}
|
|
88
|
+
[ $? -ne 0 ] && break
|
|
89
|
+
fi
|
|
90
|
+
sleep 2
|
|
91
|
+
done
|
|
92
|
+
|
|
93
|
+
# kill logcat
|
|
94
|
+
$ADB -s $dev pull ${xml_file} ${report_file}
|
|
95
|
+
#delete the res
|
|
96
|
+
$ADB -s $dev shell rm -rf ${xml_file}
|
|
97
|
+
$ADB -s $dev shell rm -rf /sdcard/res
|
|
98
|
+
done
|
|
99
|
+
}
|
|
100
|
+
for apk in ${apk_name};do
|
|
101
|
+
run_apk $apk;
|
|
102
|
+
if [ $? -ne 0 ]
|
|
103
|
+
then
|
|
104
|
+
echo There is something wrong happened when run ${apk_name}
|
|
105
|
+
exit 1
|
|
106
|
+
else
|
|
107
|
+
echo Finished unit test on android
|
|
108
|
+
echo The test result is at ./android/report/xxx.xml
|
|
109
|
+
echo xxxxxxxxxxxxxxxAndroid unittest Endxxxxxxxxxxxxxxxx
|
|
110
|
+
fi
|
|
111
|
+
done
|
|
112
|
+
|