@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
|
@@ -0,0 +1,206 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* \copy
|
|
3
|
+
* Copyright (c) 2008-2013, Cisco Systems
|
|
4
|
+
* All rights reserved.
|
|
5
|
+
*
|
|
6
|
+
* Redistribution and use in source and binary forms, with or without
|
|
7
|
+
* modification, are permitted provided that the following conditions
|
|
8
|
+
* are met:
|
|
9
|
+
*
|
|
10
|
+
* * Redistributions of source code must retain the above copyright
|
|
11
|
+
* notice, this list of conditions and the following disclaimer.
|
|
12
|
+
*
|
|
13
|
+
* * Redistributions in binary form must reproduce the above copyright
|
|
14
|
+
* notice, this list of conditions and the following disclaimer in
|
|
15
|
+
* the documentation and/or other materials provided with the
|
|
16
|
+
* distribution.
|
|
17
|
+
*
|
|
18
|
+
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
|
19
|
+
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
|
20
|
+
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
|
21
|
+
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
|
22
|
+
* COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
|
23
|
+
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
|
24
|
+
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
|
25
|
+
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
|
26
|
+
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
|
27
|
+
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
|
28
|
+
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
|
29
|
+
* POSSIBILITY OF SUCH DAMAGE.
|
|
30
|
+
*
|
|
31
|
+
*
|
|
32
|
+
* decoder_core.h
|
|
33
|
+
*
|
|
34
|
+
* Abstract
|
|
35
|
+
* Encapsulative core interfaces
|
|
36
|
+
*
|
|
37
|
+
* History
|
|
38
|
+
* 07/10/2008 Created
|
|
39
|
+
*
|
|
40
|
+
*****************************************************************************/
|
|
41
|
+
#ifndef WELS_DECODER_CORE_H__
|
|
42
|
+
#define WELS_DECODER_CORE_H__
|
|
43
|
+
|
|
44
|
+
#include "typedefs.h"
|
|
45
|
+
#include "wels_common_basis.h"
|
|
46
|
+
#include "decoder_context.h"
|
|
47
|
+
|
|
48
|
+
#include "codec_def.h"
|
|
49
|
+
|
|
50
|
+
namespace WelsDec {
|
|
51
|
+
/*
|
|
52
|
+
* InitBsBuffer
|
|
53
|
+
* Memory allocation for Bitstream Buffer
|
|
54
|
+
* return:
|
|
55
|
+
* 0 - success; otherwise returned error_no defined in error_no.h.
|
|
56
|
+
*/
|
|
57
|
+
int32_t InitBsBuffer (PWelsDecoderContext pCtx);
|
|
58
|
+
|
|
59
|
+
/*
|
|
60
|
+
* ExpandBsBuffer
|
|
61
|
+
* Expand current BS buffer and copy its content
|
|
62
|
+
* new buffer size will consider input size as a reference
|
|
63
|
+
* return:
|
|
64
|
+
* 0 - success; otherwise returned error_no defined in error_no.h.
|
|
65
|
+
*/
|
|
66
|
+
int32_t ExpandBsBuffer (PWelsDecoderContext pCtx, const int32_t kiSrcLen);
|
|
67
|
+
|
|
68
|
+
/*
|
|
69
|
+
* ExpandBsLenBuffer
|
|
70
|
+
* Expand current BS length buffer to double size or maximum, due to max slice number exceeding
|
|
71
|
+
* Parameter:
|
|
72
|
+
* kiCurrLen: current value of total nal number (including non-VCL nal)
|
|
73
|
+
* return:
|
|
74
|
+
* 0 - success; otherwise returned error_no defined in error_no.h.
|
|
75
|
+
*/
|
|
76
|
+
int32_t ExpandBsLenBuffer (PWelsDecoderContext pCtx, const int32_t kiCurrLen);
|
|
77
|
+
|
|
78
|
+
/*
|
|
79
|
+
* CheckBsBuffer
|
|
80
|
+
* Check if current buffer size is enough
|
|
81
|
+
*/
|
|
82
|
+
int32_t CheckBsBuffer (PWelsDecoderContext pCtx, const int32_t kiSrcLen);
|
|
83
|
+
|
|
84
|
+
/*
|
|
85
|
+
* WelsInitStaticMemory
|
|
86
|
+
* Memory request for introduced data at decoder start
|
|
87
|
+
* Especially for:
|
|
88
|
+
* rbsp_au_buffer, cur_dq_layer_ptr and ref_dq_layer_ptr in MB info cache.
|
|
89
|
+
* return:
|
|
90
|
+
* 0 - success; otherwise returned error_no defined in error_no.h.
|
|
91
|
+
*/
|
|
92
|
+
int32_t WelsInitStaticMemory (PWelsDecoderContext pCtx);
|
|
93
|
+
|
|
94
|
+
/*
|
|
95
|
+
* WelsFreeStaticMemory
|
|
96
|
+
* Free memory introduced in WelsInitStaticMemory at destruction of decoder.
|
|
97
|
+
*
|
|
98
|
+
*/
|
|
99
|
+
void WelsFreeStaticMemory (PWelsDecoderContext pCtx);
|
|
100
|
+
|
|
101
|
+
/*!
|
|
102
|
+
* \brief request memory when maximal picture width and height are available
|
|
103
|
+
*/
|
|
104
|
+
int32_t InitialDqLayersContext (PWelsDecoderContext pCtx, const int32_t kiMaxWidth, const int32_t kiMaxHeight);
|
|
105
|
+
|
|
106
|
+
/*!
|
|
107
|
+
* \brief free dq layer context memory related
|
|
108
|
+
*/
|
|
109
|
+
void UninitialDqLayersContext (PWelsDecoderContext pCtx);
|
|
110
|
+
|
|
111
|
+
/*
|
|
112
|
+
* DecodeNalHeaderExt
|
|
113
|
+
* Trigger condition: NAL_UNIT_TYPE = NAL_UNIT_PREFIX or NAL_UNIT_CODED_SLICE_EXT
|
|
114
|
+
* Parameter:
|
|
115
|
+
* pNal: target NALUnit ptr
|
|
116
|
+
* pSrc: NAL Unit bitstream
|
|
117
|
+
*/
|
|
118
|
+
void DecodeNalHeaderExt (PNalUnit pNal, uint8_t* pSrc);
|
|
119
|
+
|
|
120
|
+
/*
|
|
121
|
+
* ParseSliceHeaderSyntaxs
|
|
122
|
+
* Parse slice header of bitstream
|
|
123
|
+
*/
|
|
124
|
+
int32_t ParseSliceHeaderSyntaxs (PWelsDecoderContext pCtx, PBitStringAux pBs, const bool kbExtensionFlag);
|
|
125
|
+
/*
|
|
126
|
+
* Copy relative syntax elements of NALUnitHeaderExt, sRefPicBaseMarking and bStoreRefBasePicFlag in prefix nal unit.
|
|
127
|
+
* pSrc: mark as decoded prefix NAL
|
|
128
|
+
* pDst: succeeded VCL NAL based AVC (I/P Slice)
|
|
129
|
+
*/
|
|
130
|
+
bool PrefetchNalHeaderExtSyntax (PWelsDecoderContext pCtx, PNalUnit const kpDst, PNalUnit const kpSrc);
|
|
131
|
+
|
|
132
|
+
/*
|
|
133
|
+
* WelsDecodeInitAccessUnitStart
|
|
134
|
+
* check and (re)allocate picture buffers on new sequence begin
|
|
135
|
+
* bit_len: size in bit length of data
|
|
136
|
+
* buf_len: size in byte length of data
|
|
137
|
+
* coded_au: mark an Access Unit decoding finished
|
|
138
|
+
* return:
|
|
139
|
+
* 0 - success; otherwise returned error_no defined in error_no.h
|
|
140
|
+
*/
|
|
141
|
+
int32_t WelsDecodeInitAccessUnitStart (PWelsDecoderContext pCtx, SBufferInfo* pDstInfo);
|
|
142
|
+
/*
|
|
143
|
+
* AllocPicBuffOnNewSeqBegin
|
|
144
|
+
* check and (re)allocate picture buffers on new sequence begin
|
|
145
|
+
* return:
|
|
146
|
+
* 0 - success; otherwise returned error_no defined in error_no.h
|
|
147
|
+
*/
|
|
148
|
+
int32_t AllocPicBuffOnNewSeqBegin (PWelsDecoderContext pCtx);
|
|
149
|
+
|
|
150
|
+
/*
|
|
151
|
+
* InitConstructAccessUnit
|
|
152
|
+
* Init before constructing an access unit for given input bitstream, maybe partial NAL Unit, one or more Units are involved to
|
|
153
|
+
* joint a collective access unit.
|
|
154
|
+
* parameter\
|
|
155
|
+
* SBufferInfo: Buffer info
|
|
156
|
+
* return:
|
|
157
|
+
* 0 - success; otherwise returned error_no defined in error_no.h
|
|
158
|
+
*/
|
|
159
|
+
int32_t InitConstructAccessUnit (PWelsDecoderContext pCtx, SBufferInfo* pDstInfo);
|
|
160
|
+
|
|
161
|
+
/*
|
|
162
|
+
* ConstructAccessUnit
|
|
163
|
+
* construct an access unit for given input bitstream, maybe partial NAL Unit, one or more Units are involved to
|
|
164
|
+
* joint a collective access unit.
|
|
165
|
+
* parameter\
|
|
166
|
+
* buf: bitstream data buffer
|
|
167
|
+
* bit_len: size in bit length of data
|
|
168
|
+
* buf_len: size in byte length of data
|
|
169
|
+
* coded_au: mark an Access Unit decoding finished
|
|
170
|
+
* return:
|
|
171
|
+
* 0 - success; otherwise returned error_no defined in error_no.h
|
|
172
|
+
*/
|
|
173
|
+
int32_t ConstructAccessUnit (PWelsDecoderContext pCtx, uint8_t** ppDst, SBufferInfo* pDstInfo);
|
|
174
|
+
|
|
175
|
+
|
|
176
|
+
/*
|
|
177
|
+
* DecodeCurrentAccessUnit
|
|
178
|
+
* Decode current access unit when current AU is completed.
|
|
179
|
+
*/
|
|
180
|
+
int32_t DecodeCurrentAccessUnit (PWelsDecoderContext pCtx, uint8_t** ppDst, SBufferInfo* pDstInfo);
|
|
181
|
+
|
|
182
|
+
/*
|
|
183
|
+
* Check if frame is completed and EC is required
|
|
184
|
+
*/
|
|
185
|
+
bool CheckAndFinishLastPic (PWelsDecoderContext pCtx, uint8_t** pDst, SBufferInfo* pDstInfo);
|
|
186
|
+
/*
|
|
187
|
+
* Prepare current dq layer context initialization.
|
|
188
|
+
*/
|
|
189
|
+
void WelsDqLayerDecodeStart (PWelsDecoderContext pCtx, PNalUnit pCurNal, PSps pSps, PPps pPps);
|
|
190
|
+
|
|
191
|
+
|
|
192
|
+
int32_t WelsDecodeAccessUnitStart (PWelsDecoderContext pCtx);
|
|
193
|
+
void WelsDecodeAccessUnitEnd (PWelsDecoderContext pCtx);
|
|
194
|
+
void DecodeFinishUpdate (PWelsDecoderContext pCtx);
|
|
195
|
+
|
|
196
|
+
void ForceResetCurrentAccessUnit (PAccessUnit pAu);
|
|
197
|
+
void ForceClearCurrentNal (PAccessUnit pAu);
|
|
198
|
+
|
|
199
|
+
bool CheckRefPicturesComplete (PWelsDecoderContext pCtx); // Check whether all ref pictures are complete
|
|
200
|
+
|
|
201
|
+
void ForceResetParaSetStatusAndAUList (PWelsDecoderContext pCtx);
|
|
202
|
+
} // namespace WelsDec
|
|
203
|
+
|
|
204
|
+
#endif//WELS_DECODER_CORE_H__
|
|
205
|
+
|
|
206
|
+
|
|
@@ -0,0 +1,222 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* \copy
|
|
3
|
+
* Copyright (c) 2009-2013, Cisco Systems
|
|
4
|
+
* All rights reserved.
|
|
5
|
+
*
|
|
6
|
+
* Redistribution and use in source and binary forms, with or without
|
|
7
|
+
* modification, are permitted provided that the following conditions
|
|
8
|
+
* are met:
|
|
9
|
+
*
|
|
10
|
+
* * Redistributions of source code must retain the above copyright
|
|
11
|
+
* notice, this list of conditions and the following disclaimer.
|
|
12
|
+
*
|
|
13
|
+
* * Redistributions in binary form must reproduce the above copyright
|
|
14
|
+
* notice, this list of conditions and the following disclaimer in
|
|
15
|
+
* the documentation and/or other materials provided with the
|
|
16
|
+
* distribution.
|
|
17
|
+
*
|
|
18
|
+
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
|
19
|
+
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
|
20
|
+
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
|
21
|
+
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
|
22
|
+
* COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
|
23
|
+
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
|
24
|
+
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
|
25
|
+
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
|
26
|
+
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
|
27
|
+
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
|
28
|
+
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
|
29
|
+
* POSSIBILITY OF SUCH DAMAGE.
|
|
30
|
+
*
|
|
31
|
+
*
|
|
32
|
+
* \file error_code.h
|
|
33
|
+
*
|
|
34
|
+
* \brief Error codes used in Wels decoder side
|
|
35
|
+
*
|
|
36
|
+
* \date 3/4/2009 Created
|
|
37
|
+
*
|
|
38
|
+
*************************************************************************************
|
|
39
|
+
*/
|
|
40
|
+
#ifndef WELS_ERROR_CODE_H__
|
|
41
|
+
#define WELS_ERROR_CODE_H__
|
|
42
|
+
|
|
43
|
+
namespace WelsDec {
|
|
44
|
+
|
|
45
|
+
typedef enum TagWelsErr {
|
|
46
|
+
ERR_NONE = 0,
|
|
47
|
+
ERR_INVALID_PARAMETERS = 1,
|
|
48
|
+
ERR_MALLOC_FAILED = 2,
|
|
49
|
+
ERR_API_FAILED = 3,
|
|
50
|
+
|
|
51
|
+
ERR_BOUND = 31
|
|
52
|
+
} EWelsErr;
|
|
53
|
+
|
|
54
|
+
/*
|
|
55
|
+
* Specified error format:
|
|
56
|
+
* ERR_NO = (ERR_LEVEL_FROM (HIGH WORD) << 16) | (ERR_INFO_FROM (LOW WORD))
|
|
57
|
+
*
|
|
58
|
+
*/
|
|
59
|
+
#define GENERATE_ERROR_NO(iErrLevel, iErrInfo) ((iErrLevel << 16) | (iErrInfo & 0xFFFF))
|
|
60
|
+
#define ERR_INVALID_INTRA4X4_MODE -1
|
|
61
|
+
|
|
62
|
+
/* ERR_LEVEL */
|
|
63
|
+
//-----------------------------------------------------------------------------------------------------------
|
|
64
|
+
enum {
|
|
65
|
+
ERR_LEVEL_ACCESS_UNIT = 1,
|
|
66
|
+
ERR_LEVEL_NAL_UNIT_HEADER,
|
|
67
|
+
ERR_LEVEL_PREFIX_NAL,
|
|
68
|
+
ERR_LEVEL_PARAM_SETS,
|
|
69
|
+
ERR_LEVEL_SLICE_HEADER,
|
|
70
|
+
ERR_LEVEL_SLICE_DATA,
|
|
71
|
+
ERR_LEVEL_MB_DATA
|
|
72
|
+
};
|
|
73
|
+
|
|
74
|
+
//-----------------------------------------------------------------------------------------------------------
|
|
75
|
+
|
|
76
|
+
/* More detailed error information, maximal value is 65535 */
|
|
77
|
+
//-----------------------------------------------------------------------------------------------------------
|
|
78
|
+
#define ERR_INFO_COMMON_BASE 1
|
|
79
|
+
#define ERR_INFO_SYNTAX_BASE 1001
|
|
80
|
+
#define ERR_INFO_LOGIC_BASE 10001
|
|
81
|
+
enum {
|
|
82
|
+
/* Error from common system level: 1-1000 */
|
|
83
|
+
ERR_INFO_OUT_OF_MEMORY = ERR_INFO_COMMON_BASE,
|
|
84
|
+
ERR_INFO_INVALID_ACCESS,
|
|
85
|
+
ERR_INFO_INVALID_PTR,
|
|
86
|
+
ERR_INFO_INVALID_PARAM,
|
|
87
|
+
ERR_INFO_FILE_NO_FOUND,
|
|
88
|
+
ERR_INFO_PATH_NO_FOUND,
|
|
89
|
+
ERR_INFO_ACCESS_DENIED,
|
|
90
|
+
ERR_INFO_NOT_READY,
|
|
91
|
+
ERR_INFO_WRITE_FAULT,
|
|
92
|
+
ERR_INFO_READ_FAULT,
|
|
93
|
+
ERR_INFO_READ_OVERFLOW,
|
|
94
|
+
ERR_INFO_READ_LEADING_ZERO,
|
|
95
|
+
ERR_INFO_UNINIT,
|
|
96
|
+
/* Error from H.264 syntax elements parser: 1001-10000 */
|
|
97
|
+
ERR_INFO_NO_PREFIX_CODE = ERR_INFO_SYNTAX_BASE, // No start prefix code indication
|
|
98
|
+
ERR_INFO_NO_PARAM_SETS, // No SPS and/ PPS before sequence header
|
|
99
|
+
ERR_INFO_PARAM_SETS_NOT_INTEGRATED, // Parameters sets (sps/pps) are not integrated at all before to decode VCL nal
|
|
100
|
+
ERR_INFO_SPS_ID_OVERFLOW,
|
|
101
|
+
ERR_INFO_PPS_ID_OVERFLOW,
|
|
102
|
+
ERR_INFO_INVALID_PROFILE_IDC,
|
|
103
|
+
ERR_INFO_UNMATCHED_LEVEL_IDC,
|
|
104
|
+
ERR_INFO_INVALID_POC_TYPE,
|
|
105
|
+
ERR_INFO_INVALID_MB_SIZE_INFO,
|
|
106
|
+
ERR_INFO_REF_COUNT_OVERFLOW,
|
|
107
|
+
ERR_INFO_CROPPING_NO_SUPPORTED,
|
|
108
|
+
ERR_INFO_INVALID_CROPPING_DATA,
|
|
109
|
+
ERR_INFO_UNSUPPORTED_VUI_HRD,
|
|
110
|
+
ERR_INFO_INVALID_SLICEGROUP,
|
|
111
|
+
ERR_INFO_INVALID_SLICEGROUP_MAP_TYPE,
|
|
112
|
+
ERR_INFO_INVALID_FRAME_NUM,
|
|
113
|
+
ERR_INFO_INVALID_IDR_PIC_ID,
|
|
114
|
+
ERR_INFO_INVALID_REDUNDANT_PIC_CNT,
|
|
115
|
+
ERR_INFO_INVALID_MAX_NUM_REF_FRAMES,
|
|
116
|
+
ERR_INFO_INVALID_MAX_MB_SIZE,
|
|
117
|
+
ERR_INFO_INVALID_FIRST_MB_IN_SLICE,
|
|
118
|
+
ERR_INFO_INVALID_NUM_REF_IDX_L0_ACTIVE_MINUS1,
|
|
119
|
+
ERR_INFO_INVALID_NUM_REF_IDX_L1_ACTIVE_MINUS1,
|
|
120
|
+
ERR_INFO_INVALID_SLICE_ALPHA_C0_OFFSET_DIV2,
|
|
121
|
+
ERR_INFO_INVALID_SLICE_BETA_OFFSET_DIV2,
|
|
122
|
+
ERR_INFO_FMO_INIT_FAIL,
|
|
123
|
+
ERR_INFO_SLICE_TYPE_OVERFLOW,
|
|
124
|
+
ERR_INFO_INVALID_CABAC_INIT_IDC,
|
|
125
|
+
ERR_INFO_INVALID_QP,
|
|
126
|
+
ERR_INFO_INVALID_PIC_INIT_QS,
|
|
127
|
+
ERR_INFO_INVALID_CHROMA_QP_INDEX_OFFSET,
|
|
128
|
+
ERR_INFO_INVALID_PIC_INIT_QP,
|
|
129
|
+
ERR_INFO_INVALID_LOG2_MAX_FRAME_NUM_MINUS4,
|
|
130
|
+
ERR_INFO_INVALID_LOG2_MAX_PIC_ORDER_CNT_LSB_MINUS4,
|
|
131
|
+
ERR_INFO_INVALID_NUM_REF_FRAME_IN_PIC_ORDER_CNT_CYCLE,
|
|
132
|
+
ERR_INFO_INVALID_DBLOCKING_IDC,
|
|
133
|
+
ERR_INFO_INVALID_MB_TYPE,
|
|
134
|
+
ERR_INFO_INVALID_MB_SKIP_RUN,
|
|
135
|
+
ERR_INFO_INVALID_SPS_ID,
|
|
136
|
+
ERR_INFO_INVALID_PPS_ID,
|
|
137
|
+
ERR_INFO_INVALID_SUB_MB_TYPE,
|
|
138
|
+
ERR_INFO_UNAVAILABLE_TOP_BLOCK_FOR_INTRA,
|
|
139
|
+
ERR_INFO_UNAVAILABLE_LEFT_BLOCK_FOR_INTRA,
|
|
140
|
+
ERR_INFO_INVALID_REF_INDEX,
|
|
141
|
+
ERR_INFO_INVALID_CBP,
|
|
142
|
+
ERR_INFO_DQUANT_OUT_OF_RANGE,
|
|
143
|
+
ERR_INFO_CAVLC_INVALID_PREFIX,
|
|
144
|
+
ERR_INFO_CAVLC_INVALID_LEVEL,
|
|
145
|
+
ERR_INFO_CAVLC_INVALID_TOTAL_COEFF_OR_TRAILING_ONES,
|
|
146
|
+
ERR_INFO_CAVLC_INVALID_ZERO_LEFT,
|
|
147
|
+
ERR_INFO_CAVLC_INVALID_RUN_BEFORE,
|
|
148
|
+
ERR_INFO_MV_OUT_OF_RANGE,
|
|
149
|
+
|
|
150
|
+
ERR_INFO_INVALID_I4x4_PRED_MODE,
|
|
151
|
+
ERR_INFO_INVALID_I16x16_PRED_MODE,
|
|
152
|
+
ERR_INFO_INVALID_I_CHROMA_PRED_MODE,
|
|
153
|
+
|
|
154
|
+
ERR_INFO_INVALID_LUMA_LOG2_WEIGHT_DENOM,
|
|
155
|
+
ERR_INFO_INVALID_CHROMA_LOG2_WEIGHT_DENOM,
|
|
156
|
+
ERR_INFO_INVALID_LUMA_WEIGHT,
|
|
157
|
+
ERR_INFO_INVALID_CHROMA_WEIGHT,
|
|
158
|
+
ERR_INFO_INVALID_LUMA_OFFSET,
|
|
159
|
+
ERR_INFO_INVALID_CHROMA_OFFSET,
|
|
160
|
+
|
|
161
|
+
ERR_INFO_UNSUPPORTED_NON_BASELINE,
|
|
162
|
+
ERR_INFO_UNSUPPORTED_FMOTYPE,
|
|
163
|
+
ERR_INFO_UNSUPPORTED_MBAFF,
|
|
164
|
+
ERR_INFO_UNSUPPORTED_ILP,
|
|
165
|
+
ERR_INFO_UNSUPPORTED_CABAC_EL,
|
|
166
|
+
ERR_INFO_UNSUPPORTED_SPSI,
|
|
167
|
+
ERR_INFO_UNSUPPORTED_MGS,
|
|
168
|
+
ERR_INFO_UNSUPPORTED_BIPRED,
|
|
169
|
+
ERR_INFO_UNSUPPORTED_WP,
|
|
170
|
+
ERR_INFO_UNSUPPORTED_SLICESKIP,
|
|
171
|
+
|
|
172
|
+
ERR_INFO_FRAMES_LOST,
|
|
173
|
+
ERR_INFO_DEPENDENCY_SPATIAL_LAYER_LOST,
|
|
174
|
+
ERR_INFO_DEPENDENCY_QUALIT_LAYER_LOST,
|
|
175
|
+
ERR_INFO_REFERENCE_PIC_LOST,
|
|
176
|
+
ERR_INFO_INVALID_REORDERING,
|
|
177
|
+
ERR_INFO_INVALID_MARKING,
|
|
178
|
+
|
|
179
|
+
ERR_INFO_FMO_NOT_SUPPORTED_IN_BASE_LAYER,
|
|
180
|
+
ERR_INFO_INVALID_ESS,
|
|
181
|
+
ERR_INFO_INVALID_SLICE_TYPE,
|
|
182
|
+
ERR_INFO_INVALID_REF_MARKING,
|
|
183
|
+
ERR_INFO_INVALID_REF_REORDERING,
|
|
184
|
+
|
|
185
|
+
/* Error from corresponding logic, 10001-65535 */
|
|
186
|
+
ERR_INFO_NO_IDR_PIC = ERR_INFO_LOGIC_BASE, // NO IDR picture available before sequence header
|
|
187
|
+
ERR_INFO_EC_NO_NEIGHBOUR_MBS,
|
|
188
|
+
ERR_INFO_EC_UNEXPECTED_MB_TYPE,
|
|
189
|
+
ERR_INFO_EC_NO_ENOUGH_NEIGHBOUR_MBS,
|
|
190
|
+
ERR_INFO_DUPLICATE_FRAME_NUM,
|
|
191
|
+
//for LTR
|
|
192
|
+
ERR_INFO_INVALID_MMCO_NUM,
|
|
193
|
+
ERR_INFO_INVALID_MMCO_OPCODE_BASE,
|
|
194
|
+
ERR_INFO_INVALID_MMCO_SHORT2UNUSED,
|
|
195
|
+
EER_INFO_INVALID_MMCO_LONG2UNUSED,
|
|
196
|
+
ERR_INFO_INVALID_MMCO_SHOART2LONG,
|
|
197
|
+
ERR_INFO_INVALID_MMCO_REF_NUM_OVERFLOW,
|
|
198
|
+
ERR_INFO_INVALID_MMCO_REF_NUM_NOT_ENOUGH,
|
|
199
|
+
ERR_INFO_INVALID_MMCO_LONG_TERM_IDX_EXCEED_MAX,
|
|
200
|
+
//for CABAC
|
|
201
|
+
ERR_CABAC_NO_BS_TO_READ,
|
|
202
|
+
ERR_CABAC_UNEXPECTED_VALUE,
|
|
203
|
+
//for scaling list
|
|
204
|
+
ERR_SCALING_LIST_DELTA_SCALE,
|
|
205
|
+
//logic error related to multi-layer
|
|
206
|
+
ERR_INFO_WIDTH_MISMATCH,
|
|
207
|
+
//reconstruction error
|
|
208
|
+
ERR_INFO_MB_RECON_FAIL,
|
|
209
|
+
ERR_INFO_MB_NUM_EXCEED_FAIL,
|
|
210
|
+
ERR_INFO_BS_INCOMPLETE,
|
|
211
|
+
ERR_INFO_MB_NUM_INADEQUATE,
|
|
212
|
+
//parse only error
|
|
213
|
+
ERR_INFO_PARSEONLY_PENDING,
|
|
214
|
+
ERR_INFO_PARSEONLY_ERROR,
|
|
215
|
+
};
|
|
216
|
+
//-----------------------------------------------------------------------------------------------------------
|
|
217
|
+
|
|
218
|
+
} // namespace WelsDec
|
|
219
|
+
|
|
220
|
+
#endif//WELS_ERROR_CODE_H__
|
|
221
|
+
|
|
222
|
+
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* \copy
|
|
3
|
+
* Copyright (c) 2009-2013, Cisco Systems
|
|
4
|
+
* All rights reserved.
|
|
5
|
+
*
|
|
6
|
+
* Redistribution and use in source and binary forms, with or without
|
|
7
|
+
* modification, are permitted provided that the following conditions
|
|
8
|
+
* are met:
|
|
9
|
+
*
|
|
10
|
+
* * Redistributions of source code must retain the above copyright
|
|
11
|
+
* notice, this list of conditions and the following disclaimer.
|
|
12
|
+
*
|
|
13
|
+
* * Redistributions in binary form must reproduce the above copyright
|
|
14
|
+
* notice, this list of conditions and the following disclaimer in
|
|
15
|
+
* the documentation and/or other materials provided with the
|
|
16
|
+
* distribution.
|
|
17
|
+
*
|
|
18
|
+
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
|
19
|
+
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
|
20
|
+
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
|
21
|
+
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
|
22
|
+
* COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
|
23
|
+
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
|
24
|
+
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
|
25
|
+
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
|
26
|
+
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
|
27
|
+
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
|
28
|
+
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
|
29
|
+
* POSSIBILITY OF SUCH DAMAGE.
|
|
30
|
+
*
|
|
31
|
+
* \file error_concealment.h
|
|
32
|
+
*
|
|
33
|
+
* \brief Interfaces introduced for error concealment
|
|
34
|
+
*
|
|
35
|
+
* \date 04/14/2014 Created
|
|
36
|
+
*
|
|
37
|
+
*************************************************************************************
|
|
38
|
+
*/
|
|
39
|
+
#ifndef WELS_ERROR_CONCEALMENT_H__
|
|
40
|
+
#define WELS_ERROR_CONCEALMENT_H__
|
|
41
|
+
#include "typedefs.h"
|
|
42
|
+
#include "rec_mb.h"
|
|
43
|
+
#include "decoder_context.h"
|
|
44
|
+
|
|
45
|
+
namespace WelsDec {
|
|
46
|
+
//Initialize error concealment
|
|
47
|
+
void InitErrorCon (PWelsDecoderContext pCtx);
|
|
48
|
+
//Do error concealment using frame copy method
|
|
49
|
+
void DoErrorConFrameCopy (PWelsDecoderContext pCtx);
|
|
50
|
+
//Do error concealment using slice copy method
|
|
51
|
+
void DoErrorConSliceCopy (PWelsDecoderContext pCtx);
|
|
52
|
+
//Do error concealment using slice MV copy method
|
|
53
|
+
void DoMbECMvCopy (PWelsDecoderContext pCtx, PPicture pDec, PPicture pRef, int32_t iMbXy, int32_t iMbX, int32_t iMbY,
|
|
54
|
+
sMCRefMember* pMCRefMem, int32_t iCurrPoc);
|
|
55
|
+
void GetAvilInfoFromCorrectMb (PWelsDecoderContext pCtx);
|
|
56
|
+
void DoErrorConSliceMVCopy (PWelsDecoderContext pCtx);
|
|
57
|
+
//Mark erroneous frame as Ref Pic into DPB
|
|
58
|
+
int32_t MarkECFrameAsRef (PWelsDecoderContext pCtx);
|
|
59
|
+
//Judge if EC is needed to current frame
|
|
60
|
+
bool NeedErrorCon (PWelsDecoderContext pCtx);
|
|
61
|
+
// ImplementErrorConceal
|
|
62
|
+
// Do actual error concealment
|
|
63
|
+
void ImplementErrorCon (PWelsDecoderContext pCtx);
|
|
64
|
+
|
|
65
|
+
} // namespace WelsDec
|
|
66
|
+
|
|
67
|
+
#endif//WELS_ERROR_CONCEALMENT_H__
|
|
68
|
+
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* \copy
|
|
3
|
+
* Copyright (c) 2009-2013, Cisco Systems
|
|
4
|
+
* All rights reserved.
|
|
5
|
+
*
|
|
6
|
+
* Redistribution and use in source and binary forms, with or without
|
|
7
|
+
* modification, are permitted provided that the following conditions
|
|
8
|
+
* are met:
|
|
9
|
+
*
|
|
10
|
+
* * Redistributions of source code must retain the above copyright
|
|
11
|
+
* notice, this list of conditions and the following disclaimer.
|
|
12
|
+
*
|
|
13
|
+
* * Redistributions in binary form must reproduce the above copyright
|
|
14
|
+
* notice, this list of conditions and the following disclaimer in
|
|
15
|
+
* the documentation and/or other materials provided with the
|
|
16
|
+
* distribution.
|
|
17
|
+
*
|
|
18
|
+
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
|
19
|
+
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
|
20
|
+
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
|
21
|
+
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
|
22
|
+
* COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
|
23
|
+
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
|
24
|
+
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
|
25
|
+
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
|
26
|
+
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
|
27
|
+
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
|
28
|
+
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
|
29
|
+
* POSSIBILITY OF SUCH DAMAGE.
|
|
30
|
+
*
|
|
31
|
+
*
|
|
32
|
+
* \file fmo.h
|
|
33
|
+
*
|
|
34
|
+
* \brief Flexible Macroblock Ordering implementation
|
|
35
|
+
*
|
|
36
|
+
* \date 2/4/2009 Created
|
|
37
|
+
*
|
|
38
|
+
*************************************************************************************
|
|
39
|
+
*/
|
|
40
|
+
#ifndef WELS_FLEXIBLE_MACROBLOCK_ORDERING_H__
|
|
41
|
+
#define WELS_FLEXIBLE_MACROBLOCK_ORDERING_H__
|
|
42
|
+
|
|
43
|
+
#include "typedefs.h"
|
|
44
|
+
#include "wels_const.h"
|
|
45
|
+
#include "parameter_sets.h"
|
|
46
|
+
#include "memory_align.h"
|
|
47
|
+
|
|
48
|
+
namespace WelsDec {
|
|
49
|
+
|
|
50
|
+
#ifndef MB_XY_T
|
|
51
|
+
#define MB_XY_T int32_t
|
|
52
|
+
#endif//MB_XY_T
|
|
53
|
+
|
|
54
|
+
/*!
|
|
55
|
+
* \brief Wels Flexible Macroblock Ordering (FMO)
|
|
56
|
+
*/
|
|
57
|
+
typedef struct TagFmo {
|
|
58
|
+
uint8_t* pMbAllocMap;
|
|
59
|
+
int32_t iCountMbNum;
|
|
60
|
+
int32_t iSliceGroupCount;
|
|
61
|
+
int32_t iSliceGroupType;
|
|
62
|
+
bool bActiveFlag;
|
|
63
|
+
uint8_t uiReserved[3]; // reserved padding bytes
|
|
64
|
+
} SFmo, *PFmo;
|
|
65
|
+
|
|
66
|
+
|
|
67
|
+
/*!
|
|
68
|
+
* \brief Initialize Wels Flexible Macroblock Ordering (FMO)
|
|
69
|
+
*
|
|
70
|
+
* \param pFmo Wels fmo to be initialized
|
|
71
|
+
* \param pPps PPps
|
|
72
|
+
* \param kiMbWidth mb width
|
|
73
|
+
* \param kiMbHeight mb height
|
|
74
|
+
*
|
|
75
|
+
* \return 0 - successful; none 0 - failed;
|
|
76
|
+
*/
|
|
77
|
+
int32_t InitFmo (PFmo pFmo, PPps pPps, const int32_t kiMbWidth, const int32_t kiMbHeight, CMemoryAlign* pMa);
|
|
78
|
+
|
|
79
|
+
/*!
|
|
80
|
+
* \brief Uninitialize Wels Flexible Macroblock Ordering (FMO) list
|
|
81
|
+
*
|
|
82
|
+
* \param pFmo Wels base fmo ptr to be uninitialized
|
|
83
|
+
* \param kiCnt count number of PPS per list
|
|
84
|
+
* \param kiAvail count available number of PPS in list
|
|
85
|
+
*
|
|
86
|
+
* \return NONE
|
|
87
|
+
*/
|
|
88
|
+
void UninitFmoList (PFmo pFmo, const int32_t kiCnt, const int32_t kiAvail, CMemoryAlign* pMa);
|
|
89
|
+
|
|
90
|
+
/*!
|
|
91
|
+
* \brief update/insert FMO parameter unit
|
|
92
|
+
*
|
|
93
|
+
* \param pFmo FMO context
|
|
94
|
+
* \param pSps PSps
|
|
95
|
+
* \param pPps PPps
|
|
96
|
+
* \param pActiveFmoNum int32_t* [in/out]
|
|
97
|
+
*
|
|
98
|
+
* \return true - update/insert successfully; false - failed;
|
|
99
|
+
*/
|
|
100
|
+
int32_t FmoParamUpdate (PFmo pFmo, PSps pSps, PPps pPps, int32_t* pActiveFmoNum, CMemoryAlign* pMa);
|
|
101
|
+
|
|
102
|
+
/*!
|
|
103
|
+
* \brief Get successive mb to be processed with given current mb_xy
|
|
104
|
+
*
|
|
105
|
+
* \param pFmo Wels fmo context
|
|
106
|
+
* \param iMbXy current mb_xy
|
|
107
|
+
*
|
|
108
|
+
* \return iNextMb - successful; -1 - failed;
|
|
109
|
+
*/
|
|
110
|
+
MB_XY_T FmoNextMb (PFmo pFmo, const MB_XY_T kiMbXy);
|
|
111
|
+
|
|
112
|
+
} // namespace WelsDec
|
|
113
|
+
|
|
114
|
+
#endif//WELS_FLEXIBLE_MACROBLOCK_ORDERING_H__
|