@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,191 @@
|
|
|
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 get_intra_predictor.h
|
|
33
|
+
*
|
|
34
|
+
* \brief interfaces for get intra predictor about 16x16, 4x4, chroma.
|
|
35
|
+
*
|
|
36
|
+
* \date 4/2/2009 Created
|
|
37
|
+
*
|
|
38
|
+
*************************************************************************************
|
|
39
|
+
*/
|
|
40
|
+
|
|
41
|
+
#ifndef WELS_GET_INTRA_PREDICTOR_H__
|
|
42
|
+
#define WELS_GET_INTRA_PREDICTOR_H__
|
|
43
|
+
|
|
44
|
+
#include "typedefs.h"
|
|
45
|
+
|
|
46
|
+
namespace WelsDec {
|
|
47
|
+
|
|
48
|
+
void WelsI4x4LumaPredV_c (uint8_t* pPred, const int32_t kiStride);
|
|
49
|
+
void WelsI4x4LumaPredH_c (uint8_t* pPred, const int32_t kiStride);
|
|
50
|
+
void WelsI4x4LumaPredDc_c (uint8_t* pPred, const int32_t kiStride);
|
|
51
|
+
void WelsI4x4LumaPredDcLeft_c (uint8_t* pPred, const int32_t kiStride);
|
|
52
|
+
void WelsI4x4LumaPredDcTop_c (uint8_t* pPred, const int32_t kiStride);
|
|
53
|
+
void WelsI4x4LumaPredDcNA_c (uint8_t* pPred, const int32_t kiStride);
|
|
54
|
+
void WelsI4x4LumaPredDDL_c (uint8_t* pPred, const int32_t kiStride);
|
|
55
|
+
void WelsI4x4LumaPredDDLTop_c (uint8_t* pPred, const int32_t kiStride);
|
|
56
|
+
void WelsI4x4LumaPredDDR_c (uint8_t* pPred, const int32_t kiStride);
|
|
57
|
+
void WelsI4x4LumaPredVL_c (uint8_t* pPred, const int32_t kiStride);
|
|
58
|
+
void WelsI4x4LumaPredVLTop_c (uint8_t* pPred, const int32_t kiStride);
|
|
59
|
+
void WelsI4x4LumaPredVR_c (uint8_t* pPred, const int32_t kiStride);
|
|
60
|
+
void WelsI4x4LumaPredHU_c (uint8_t* pPred, const int32_t kiStride);
|
|
61
|
+
void WelsI4x4LumaPredHD_c (uint8_t* pPred, const int32_t kiStride);
|
|
62
|
+
|
|
63
|
+
void WelsI8x8LumaPredV_c (uint8_t* pPred, const int32_t kiStride, bool bTLAvail, bool bTRAvail);
|
|
64
|
+
void WelsI8x8LumaPredH_c (uint8_t* pPred, const int32_t kiStride, bool bTLAvail, bool bTRAvail);
|
|
65
|
+
void WelsI8x8LumaPredDc_c (uint8_t* pPred, const int32_t kiStride, bool bTLAvail, bool bTRAvail);
|
|
66
|
+
void WelsI8x8LumaPredDcLeft_c (uint8_t* pPred, const int32_t kiStride, bool bTLAvail, bool bTRAvail);
|
|
67
|
+
void WelsI8x8LumaPredDcTop_c (uint8_t* pPred, const int32_t kiStride, bool bTLAvail, bool bTRAvail);
|
|
68
|
+
void WelsI8x8LumaPredDcNA_c (uint8_t* pPred, const int32_t kiStride, bool bTLAvail, bool bTRAvail);
|
|
69
|
+
void WelsI8x8LumaPredDDL_c (uint8_t* pPred, const int32_t kiStride, bool bTLAvail, bool bTRAvail);
|
|
70
|
+
void WelsI8x8LumaPredDDLTop_c (uint8_t* pPred, const int32_t kiStride, bool bTLAvail, bool bTRAvail);
|
|
71
|
+
void WelsI8x8LumaPredDDR_c (uint8_t* pPred, const int32_t kiStride, bool bTLAvail, bool bTRAvail);
|
|
72
|
+
void WelsI8x8LumaPredVL_c (uint8_t* pPred, const int32_t kiStride, bool bTLAvail, bool bTRAvail);
|
|
73
|
+
void WelsI8x8LumaPredVLTop_c (uint8_t* pPred, const int32_t kiStride, bool bTLAvail, bool bTRAvail);
|
|
74
|
+
void WelsI8x8LumaPredVR_c (uint8_t* pPred, const int32_t kiStride, bool bTLAvail, bool bTRAvail);
|
|
75
|
+
void WelsI8x8LumaPredHU_c (uint8_t* pPred, const int32_t kiStride, bool bTLAvail, bool bTRAvail);
|
|
76
|
+
void WelsI8x8LumaPredHD_c (uint8_t* pPred, const int32_t kiStride, bool bTLAvail, bool bTRAvail);
|
|
77
|
+
|
|
78
|
+
void WelsIChromaPredV_c (uint8_t* pPred, const int32_t kiStride);
|
|
79
|
+
void WelsIChromaPredH_c (uint8_t* pPred, const int32_t kiStride);
|
|
80
|
+
void WelsIChromaPredPlane_c (uint8_t* pPred, const int32_t kiStride);
|
|
81
|
+
void WelsIChromaPredDc_c (uint8_t* pPred, const int32_t kiStride);
|
|
82
|
+
void WelsIChromaPredDcLeft_c (uint8_t* pPred, const int32_t kiStride);
|
|
83
|
+
void WelsIChromaPredDcTop_c (uint8_t* pPred, const int32_t kiStride);
|
|
84
|
+
void WelsIChromaPredDcNA_c (uint8_t* pPred, const int32_t kiStride);
|
|
85
|
+
|
|
86
|
+
void WelsI16x16LumaPredV_c (uint8_t* pPred, const int32_t kiStride);
|
|
87
|
+
void WelsI16x16LumaPredH_c (uint8_t* pPred, const int32_t kiStride);
|
|
88
|
+
void WelsI16x16LumaPredPlane_c (uint8_t* pPred, const int32_t kiStride);
|
|
89
|
+
void WelsI16x16LumaPredDc_c (uint8_t* pPred, const int32_t kiStride);
|
|
90
|
+
void WelsI16x16LumaPredDcTop_c (uint8_t* pPred, const int32_t kiStride);
|
|
91
|
+
void WelsI16x16LumaPredDcLeft_c (uint8_t* pPred, const int32_t kiStride);
|
|
92
|
+
void WelsI16x16LumaPredDcNA_c (uint8_t* pPred, const int32_t kiStride);
|
|
93
|
+
|
|
94
|
+
#if defined(__cplusplus)
|
|
95
|
+
extern "C" {
|
|
96
|
+
#endif//__cplusplus
|
|
97
|
+
|
|
98
|
+
#if defined(X86_ASM)
|
|
99
|
+
void WelsDecoderI16x16LumaPredPlane_sse2 (uint8_t* pPred, const int32_t kiStride);
|
|
100
|
+
void WelsDecoderI16x16LumaPredH_sse2 (uint8_t* pPred, const int32_t kiStride);
|
|
101
|
+
void WelsDecoderI16x16LumaPredV_sse2 (uint8_t* pPred, const int32_t kiStride);
|
|
102
|
+
void WelsDecoderI16x16LumaPredDc_sse2 (uint8_t* pPred, const int32_t kiStride);
|
|
103
|
+
void WelsDecoderI16x16LumaPredDcTop_sse2 (uint8_t* pPred, const int32_t kiStride);
|
|
104
|
+
void WelsDecoderI16x16LumaPredDcNA_sse2 (uint8_t* pPred, const int32_t kiStride);
|
|
105
|
+
|
|
106
|
+
void WelsDecoderIChromaPredDcTop_sse2 (uint8_t* pPred, const int32_t kiStride);
|
|
107
|
+
void WelsDecoderIChromaPredPlane_sse2 (uint8_t* pPred, const int32_t kiStride);
|
|
108
|
+
void WelsDecoderIChromaPredDc_sse2 (uint8_t* pPred, const int32_t kiStride);
|
|
109
|
+
void WelsDecoderIChromaPredH_mmx (uint8_t* pPred, const int32_t kiStride);
|
|
110
|
+
void WelsDecoderIChromaPredV_mmx (uint8_t* pPred, const int32_t kiStride);
|
|
111
|
+
void WelsDecoderIChromaPredDcLeft_mmx (uint8_t* pPred, const int32_t kiStride);
|
|
112
|
+
void WelsDecoderIChromaPredDcNA_mmx (uint8_t* pPred, const int32_t kiStride);
|
|
113
|
+
|
|
114
|
+
void WelsDecoderI4x4LumaPredH_sse2 (uint8_t* pPred, const int32_t kiStride);
|
|
115
|
+
void WelsDecoderI4x4LumaPredDDR_mmx (uint8_t* pPred, const int32_t kiStride);
|
|
116
|
+
void WelsDecoderI4x4LumaPredHD_mmx (uint8_t* pPred, const int32_t kiStride);
|
|
117
|
+
void WelsDecoderI4x4LumaPredHU_mmx (uint8_t* pPred, const int32_t kiStride);
|
|
118
|
+
void WelsDecoderI4x4LumaPredVR_mmx (uint8_t* pPred, const int32_t kiStride);
|
|
119
|
+
void WelsDecoderI4x4LumaPredDDL_mmx (uint8_t* pPred, const int32_t kiStride);
|
|
120
|
+
void WelsDecoderI4x4LumaPredVL_mmx (uint8_t* pPred, const int32_t kiStride);
|
|
121
|
+
#endif//X86_ASM
|
|
122
|
+
|
|
123
|
+
#if defined(HAVE_NEON)
|
|
124
|
+
void WelsDecoderI16x16LumaPredV_neon (uint8_t* pPred, const int32_t kiStride);
|
|
125
|
+
void WelsDecoderI16x16LumaPredH_neon (uint8_t* pPred, const int32_t kiStride);
|
|
126
|
+
void WelsDecoderI16x16LumaPredDc_neon (uint8_t* pPred, const int32_t kiStride);
|
|
127
|
+
void WelsDecoderI16x16LumaPredPlane_neon (uint8_t* pPred, const int32_t kiStride);
|
|
128
|
+
|
|
129
|
+
void WelsDecoderI4x4LumaPredV_neon (uint8_t* pPred, const int32_t kiStride);
|
|
130
|
+
void WelsDecoderI4x4LumaPredH_neon (uint8_t* pPred, const int32_t kiStride);
|
|
131
|
+
void WelsDecoderI4x4LumaPredDDL_neon (uint8_t* pPred, const int32_t kiStride);
|
|
132
|
+
void WelsDecoderI4x4LumaPredDDR_neon (uint8_t* pPred, const int32_t kiStride);
|
|
133
|
+
void WelsDecoderI4x4LumaPredVL_neon (uint8_t* pPred, const int32_t kiStride);
|
|
134
|
+
void WelsDecoderI4x4LumaPredVR_neon (uint8_t* pPred, const int32_t kiStride);
|
|
135
|
+
void WelsDecoderI4x4LumaPredHU_neon (uint8_t* pPred, const int32_t kiStride);
|
|
136
|
+
void WelsDecoderI4x4LumaPredHD_neon (uint8_t* pPred, const int32_t kiStride);
|
|
137
|
+
|
|
138
|
+
void WelsDecoderIChromaPredV_neon (uint8_t* pPred, const int32_t kiStride);
|
|
139
|
+
void WelsDecoderIChromaPredH_neon (uint8_t* pPred, const int32_t kiStride);
|
|
140
|
+
void WelsDecoderIChromaPredDc_neon (uint8_t* pPred, const int32_t kiStride);
|
|
141
|
+
void WelsDecoderIChromaPredPlane_neon (uint8_t* pPred, const int32_t kiStride);
|
|
142
|
+
#endif//HAVE_NEON
|
|
143
|
+
|
|
144
|
+
#if defined(HAVE_NEON_AARCH64)
|
|
145
|
+
void WelsDecoderI16x16LumaPredV_AArch64_neon (uint8_t* pPred, const int32_t kiStride);
|
|
146
|
+
void WelsDecoderI16x16LumaPredH_AArch64_neon (uint8_t* pPred, const int32_t kiStride);
|
|
147
|
+
void WelsDecoderI16x16LumaPredDc_AArch64_neon (uint8_t* pPred, const int32_t kiStride);
|
|
148
|
+
void WelsDecoderI16x16LumaPredPlane_AArch64_neon (uint8_t* pPred, const int32_t kiStride);
|
|
149
|
+
void WelsDecoderI16x16LumaPredDcTop_AArch64_neon (uint8_t* pPred, const int32_t kiStride);
|
|
150
|
+
void WelsDecoderI16x16LumaPredDcLeft_AArch64_neon (uint8_t* pPred, const int32_t kiStride);
|
|
151
|
+
|
|
152
|
+
void WelsDecoderI4x4LumaPredH_AArch64_neon (uint8_t* pPred, const int32_t kiStride);
|
|
153
|
+
void WelsDecoderI4x4LumaPredDDL_AArch64_neon (uint8_t* pPred, const int32_t kiStride);
|
|
154
|
+
void WelsDecoderI4x4LumaPredDDLTop_AArch64_neon (uint8_t* pPred, const int32_t kiStride);
|
|
155
|
+
void WelsDecoderI4x4LumaPredVL_AArch64_neon (uint8_t* pPred, const int32_t kiStride);
|
|
156
|
+
void WelsDecoderI4x4LumaPredVLTop_AArch64_neon (uint8_t* pPred, const int32_t kiStride);
|
|
157
|
+
void WelsDecoderI4x4LumaPredVR_AArch64_neon (uint8_t* pPred, const int32_t kiStride);
|
|
158
|
+
void WelsDecoderI4x4LumaPredHU_AArch64_neon (uint8_t* pPred, const int32_t kiStride);
|
|
159
|
+
void WelsDecoderI4x4LumaPredHD_AArch64_neon (uint8_t* pPred, const int32_t kiStride);
|
|
160
|
+
void WelsDecoderI4x4LumaPredDc_AArch64_neon (uint8_t* pPred, const int32_t kiStride);
|
|
161
|
+
void WelsDecoderI4x4LumaPredDcTop_AArch64_neon (uint8_t* pPred, const int32_t kiStride);
|
|
162
|
+
|
|
163
|
+
void WelsDecoderIChromaPredV_AArch64_neon (uint8_t* pPred, const int32_t kiStride);
|
|
164
|
+
void WelsDecoderIChromaPredH_AArch64_neon (uint8_t* pPred, const int32_t kiStride);
|
|
165
|
+
void WelsDecoderIChromaPredDc_AArch64_neon (uint8_t* pPred, const int32_t kiStride);
|
|
166
|
+
void WelsDecoderIChromaPredPlane_AArch64_neon (uint8_t* pPred, const int32_t kiStride);
|
|
167
|
+
void WelsDecoderIChromaPredDcTop_AArch64_neon (uint8_t* pPred, const int32_t kiStride);
|
|
168
|
+
#endif//HAVE_NEON_AARCH64
|
|
169
|
+
|
|
170
|
+
#if defined(HAVE_MMI)
|
|
171
|
+
void WelsDecoderI16x16LumaPredDc_mmi (uint8_t* pPred, const int32_t kiStride);
|
|
172
|
+
void WelsDecoderI16x16LumaPredPlane_mmi (uint8_t* pPred, const int32_t kiStride);
|
|
173
|
+
void WelsDecoderI16x16LumaPredH_mmi (uint8_t* pPred, const int32_t kiStride);
|
|
174
|
+
void WelsDecoderI16x16LumaPredV_mmi (uint8_t* pPred, const int32_t kiStride);
|
|
175
|
+
void WelsDecoderI16x16LumaPredDcTop_mmi (uint8_t* pPred, const int32_t kiStride);
|
|
176
|
+
void WelsDecoderI16x16LumaPredDcNA_mmi (uint8_t* pPred, const int32_t kiStride);
|
|
177
|
+
|
|
178
|
+
void WelsDecoderIChromaPredDcTop_mmi (uint8_t* pPred, const int32_t kiStride);
|
|
179
|
+
void WelsDecoderIChromaPredPlane_mmi (uint8_t* pPred, const int32_t kiStride);
|
|
180
|
+
void WelsDecoderIChromaPredDc_mmi (uint8_t* pPred, const int32_t kiStride);
|
|
181
|
+
void WelsDecoderI4x4LumaPredH_mmi (uint8_t* pPred, const int32_t kiStride);
|
|
182
|
+
#endif//HAVE_MMI
|
|
183
|
+
#if defined(__cplusplus)
|
|
184
|
+
}
|
|
185
|
+
#endif//__cplusplus
|
|
186
|
+
|
|
187
|
+
} // namespace WelsDec
|
|
188
|
+
|
|
189
|
+
#endif //WELS_GET_INTRA_PREDICTOR_H__
|
|
190
|
+
|
|
191
|
+
|
|
@@ -0,0 +1,62 @@
|
|
|
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 manage_dec_ref.h
|
|
33
|
+
*
|
|
34
|
+
* Abstract
|
|
35
|
+
* Interface for managing reference picture
|
|
36
|
+
*
|
|
37
|
+
* History
|
|
38
|
+
* 08/14/2009 Created
|
|
39
|
+
*
|
|
40
|
+
*****************************************************************************/
|
|
41
|
+
#ifndef WELS_MANAGE_DEC_REF_H__
|
|
42
|
+
#define WELS_MANAGE_DEC_REF_H__
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
#include "typedefs.h"
|
|
46
|
+
#include "decoder_context.h"
|
|
47
|
+
|
|
48
|
+
namespace WelsDec {
|
|
49
|
+
|
|
50
|
+
void WelsResetRefPic (PWelsDecoderContext pCtx);
|
|
51
|
+
void WelsResetRefPicWithoutUnRef (PWelsDecoderContext pCtx);
|
|
52
|
+
int32_t WelsInitRefList (PWelsDecoderContext pCtx, int32_t iPoc);
|
|
53
|
+
int32_t WelsInitBSliceRefList (PWelsDecoderContext pCtx, int32_t iPoc);
|
|
54
|
+
int32_t WelsReorderRefList (PWelsDecoderContext pCtx);
|
|
55
|
+
int32_t WelsReorderRefList2 (PWelsDecoderContext pCtx);
|
|
56
|
+
int32_t WelsMarkAsRef (PWelsDecoderContext pCtx, PPicture pLastDec = NULL);
|
|
57
|
+
|
|
58
|
+
} // namespace WelsDec
|
|
59
|
+
|
|
60
|
+
#endif//WELS_MANAGE_DEC_REF_H__
|
|
61
|
+
|
|
62
|
+
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* \copy
|
|
3
|
+
* Copyright (c) 2013, Cisco Systems
|
|
4
|
+
* All rights reserved.
|
|
5
|
+
*
|
|
6
|
+
* Redistribution and use in source and binary forms, with or without
|
|
7
|
+
* modification, are permitted provided that the following conditions
|
|
8
|
+
* are met:
|
|
9
|
+
*
|
|
10
|
+
* * Redistributions of source code must retain the above copyright
|
|
11
|
+
* notice, this list of conditions and the following disclaimer.
|
|
12
|
+
*
|
|
13
|
+
* * Redistributions in binary form must reproduce the above copyright
|
|
14
|
+
* notice, this list of conditions and the following disclaimer in
|
|
15
|
+
* the documentation and/or other materials provided with the
|
|
16
|
+
* distribution.
|
|
17
|
+
*
|
|
18
|
+
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
|
19
|
+
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
|
20
|
+
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
|
21
|
+
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
|
22
|
+
* COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
|
23
|
+
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
|
24
|
+
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
|
25
|
+
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
|
26
|
+
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
|
27
|
+
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
|
28
|
+
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
|
29
|
+
* POSSIBILITY OF SUCH DAMAGE.
|
|
30
|
+
*
|
|
31
|
+
*/
|
|
32
|
+
|
|
33
|
+
//mb_cache.h
|
|
34
|
+
#ifndef WELS_MACROBLOCK_CACHE_H__
|
|
35
|
+
#define WELS_MACROBLOCK_CACHE_H__
|
|
36
|
+
|
|
37
|
+
#include "typedefs.h"
|
|
38
|
+
|
|
39
|
+
namespace WelsDec {
|
|
40
|
+
|
|
41
|
+
#define REF_NOT_AVAIL -2
|
|
42
|
+
#define REF_NOT_IN_LIST -1 //intra
|
|
43
|
+
|
|
44
|
+
/*
|
|
45
|
+
* MB Cache information, such one cache should be defined within a slice
|
|
46
|
+
*/
|
|
47
|
+
/*
|
|
48
|
+
* Cache for Luma Cache for Chroma(Cb, Cr)
|
|
49
|
+
*
|
|
50
|
+
* TL T T T T TL T T
|
|
51
|
+
* L - - - - L - -
|
|
52
|
+
* L - - - - L - - TR
|
|
53
|
+
* L - - - -
|
|
54
|
+
* L - - - - TR
|
|
55
|
+
*
|
|
56
|
+
*/
|
|
57
|
+
|
|
58
|
+
////////////////////////mapping scan index////////////////////////
|
|
59
|
+
|
|
60
|
+
extern const uint8_t g_kuiScan4[16];
|
|
61
|
+
|
|
62
|
+
typedef struct TagNeighborAvail {
|
|
63
|
+
int32_t iTopAvail;
|
|
64
|
+
int32_t iLeftAvail;
|
|
65
|
+
int32_t iRightTopAvail;
|
|
66
|
+
int32_t iLeftTopAvail; //used for check intra_pred_mode avail or not //1: avail; 0: unavail
|
|
67
|
+
|
|
68
|
+
int32_t iLeftType;
|
|
69
|
+
int32_t iTopType;
|
|
70
|
+
int32_t iLeftTopType;
|
|
71
|
+
int32_t iRightTopType;
|
|
72
|
+
|
|
73
|
+
int8_t iTopCbp;
|
|
74
|
+
int8_t iLeftCbp;
|
|
75
|
+
int8_t iDummy[2]; //for align
|
|
76
|
+
} SWelsNeighAvail, *PWelsNeighAvail;
|
|
77
|
+
|
|
78
|
+
} // namespace WelsDec
|
|
79
|
+
|
|
80
|
+
#endif//WELS_MACROBLOCK_CACHE_H__
|
|
@@ -0,0 +1,66 @@
|
|
|
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
|
+
* memmgr_nal_unit.h
|
|
33
|
+
*
|
|
34
|
+
* Abstract
|
|
35
|
+
* memory manager utils for NAL Unit list available
|
|
36
|
+
*
|
|
37
|
+
* History
|
|
38
|
+
* 07/10/2008 Created
|
|
39
|
+
*
|
|
40
|
+
*****************************************************************************/
|
|
41
|
+
#ifndef WELS_MEMORY_MANAGER_NAL_UNIT_H__
|
|
42
|
+
#define WELS_MEMORY_MANAGER_NAL_UNIT_H__
|
|
43
|
+
|
|
44
|
+
#include "typedefs.h"
|
|
45
|
+
#include "wels_common_basis.h"
|
|
46
|
+
#include "nalu.h"
|
|
47
|
+
#include "memory_align.h"
|
|
48
|
+
|
|
49
|
+
namespace WelsDec {
|
|
50
|
+
|
|
51
|
+
int32_t MemInitNalList (PAccessUnit* ppAu, const uint32_t kuiSize, CMemoryAlign* pMa);
|
|
52
|
+
|
|
53
|
+
int32_t MemFreeNalList (PAccessUnit* ppAu, CMemoryAlign* pMa);
|
|
54
|
+
|
|
55
|
+
/*
|
|
56
|
+
* MemGetNextNal
|
|
57
|
+
* Get next NAL Unit for using.
|
|
58
|
+
* Need expand NAL Unit list if exceeding count number of available NAL Units withing an Access Unit
|
|
59
|
+
*/
|
|
60
|
+
PNalUnit MemGetNextNal (PAccessUnit* ppAu, CMemoryAlign* pMa);
|
|
61
|
+
|
|
62
|
+
} // namespace WelsDec
|
|
63
|
+
|
|
64
|
+
#endif//WELS_MEMORY_MANAGER_NAL_UNIT_H__
|
|
65
|
+
|
|
66
|
+
|
|
@@ -0,0 +1,195 @@
|
|
|
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 mv_pred.h
|
|
33
|
+
*
|
|
34
|
+
* \brief Get MV predictor and update motion vector of mb cache
|
|
35
|
+
*
|
|
36
|
+
* \date 05/22/2009 Created
|
|
37
|
+
*
|
|
38
|
+
*************************************************************************************
|
|
39
|
+
*/
|
|
40
|
+
|
|
41
|
+
#ifndef WELS_MV_PRED_H__
|
|
42
|
+
#define WELS_MV_PRED_H__
|
|
43
|
+
|
|
44
|
+
#include "dec_frame.h"
|
|
45
|
+
#include "decoder_context.h"
|
|
46
|
+
|
|
47
|
+
#define RETURN_ERR_IF_NULL(pRefPic0) \
|
|
48
|
+
if ( pRefPic0 == NULL) \
|
|
49
|
+
return GENERATE_ERROR_NO(ERR_LEVEL_MB_DATA, ERR_INFO_INVALID_REF_INDEX)
|
|
50
|
+
|
|
51
|
+
namespace WelsDec {
|
|
52
|
+
|
|
53
|
+
/*!
|
|
54
|
+
* \brief update mv and ref_index cache for current MB, only for P_16x16 (SKIP inclusive)
|
|
55
|
+
* \param
|
|
56
|
+
* \param
|
|
57
|
+
*/
|
|
58
|
+
void UpdateP16x16MotionInfo (PDqLayer pCurDqLayer, int32_t listIdx, int8_t iRef, int16_t iMVs[2]);
|
|
59
|
+
|
|
60
|
+
/*!
|
|
61
|
+
* \brief update ref_index cache for current MB, only for P_16x16 (SKIP inclusive)
|
|
62
|
+
* \param
|
|
63
|
+
* \param
|
|
64
|
+
*/
|
|
65
|
+
void UpdateP16x16RefIdx (PDqLayer pCurDqLayer, int32_t listIdx, int8_t iRef);
|
|
66
|
+
|
|
67
|
+
/*!
|
|
68
|
+
* \brief update mv only cache for current MB, only for P_16x16 (SKIP inclusive)
|
|
69
|
+
* \param
|
|
70
|
+
* \param
|
|
71
|
+
*/
|
|
72
|
+
void UpdateP16x16MotionOnly (PDqLayer pCurDqLayer, int32_t listIdx, int16_t iMVs[2]);
|
|
73
|
+
|
|
74
|
+
/*!
|
|
75
|
+
* \brief update mv and ref_index cache for current MB, only for P_16x8
|
|
76
|
+
* \param
|
|
77
|
+
* \param
|
|
78
|
+
*/
|
|
79
|
+
void UpdateP16x8MotionInfo (PDqLayer pCurDqLayer, int16_t iMotionVector[LIST_A][30][MV_A],
|
|
80
|
+
int8_t iRefIndex[LIST_A][30],
|
|
81
|
+
int32_t listIdx, int32_t iPartIdx, int8_t iRef, int16_t iMVs[2]);
|
|
82
|
+
|
|
83
|
+
|
|
84
|
+
/*!
|
|
85
|
+
* \brief update mv and ref_index cache for current MB, only for P_8x16
|
|
86
|
+
* \param
|
|
87
|
+
* \param
|
|
88
|
+
*/
|
|
89
|
+
void UpdateP8x16MotionInfo (PDqLayer pCurDqLayer, int16_t iMotionVector[LIST_A][30][MV_A],
|
|
90
|
+
int8_t iRefIndex[LIST_A][30],
|
|
91
|
+
int32_t listIdx, int32_t iPartIdx, int8_t iRef, int16_t iMVs[2]);
|
|
92
|
+
|
|
93
|
+
/*!
|
|
94
|
+
* \brief get the motion predictor for skip mode
|
|
95
|
+
* \param
|
|
96
|
+
* \param output iMvp[]
|
|
97
|
+
*/
|
|
98
|
+
void PredPSkipMvFromNeighbor (PDqLayer pCurDqLayer, int16_t iMvp[2]);
|
|
99
|
+
|
|
100
|
+
/*!
|
|
101
|
+
* \brief get the motion predictor and reference for B-slice direct mode version 2
|
|
102
|
+
* \param
|
|
103
|
+
* \param output iMvp[] and ref
|
|
104
|
+
*/
|
|
105
|
+
int32_t PredMvBDirectSpatial (PWelsDecoderContext pCtx, int16_t iMvp[LIST_A][2], int8_t ref[LIST_A],
|
|
106
|
+
SubMbType& subMbType);
|
|
107
|
+
|
|
108
|
+
/*!
|
|
109
|
+
* \brief get Colocated MB for both Spatial and Temporal Direct Mode
|
|
110
|
+
* \param
|
|
111
|
+
* \param output MbType and SubMbType
|
|
112
|
+
*/
|
|
113
|
+
int32_t GetColocatedMb (PWelsDecoderContext pCtx, MbType& mbType, SubMbType& subMbType);
|
|
114
|
+
|
|
115
|
+
/*!
|
|
116
|
+
* \brief get the motion predictor for B-slice temporal direct mode 16x16
|
|
117
|
+
*/
|
|
118
|
+
int32_t PredBDirectTemporal (PWelsDecoderContext pCtx, int16_t iMvp[LIST_A][2], int8_t ref[LIST_A],
|
|
119
|
+
SubMbType& subMbType);
|
|
120
|
+
|
|
121
|
+
/*!
|
|
122
|
+
* \brief get the motion params for B-slice spatial direct mode
|
|
123
|
+
* \param
|
|
124
|
+
* \param output iMvp[]
|
|
125
|
+
*/
|
|
126
|
+
|
|
127
|
+
/*!
|
|
128
|
+
* \brief get the motion predictor for 4*4 or 8*8 or 16*16 block
|
|
129
|
+
* \param
|
|
130
|
+
* \param output iMvp[]
|
|
131
|
+
*/
|
|
132
|
+
void PredMv (int16_t iMotionVector[LIST_A][30][MV_A], int8_t iRefIndex[LIST_A][30],
|
|
133
|
+
int32_t listIdx, int32_t iPartIdx, int32_t iPartWidth, int8_t iRef, int16_t iMVP[2]);
|
|
134
|
+
|
|
135
|
+
/*!
|
|
136
|
+
* \brief get the motion predictor for inter16x8 MB
|
|
137
|
+
* \param
|
|
138
|
+
* \param output mvp_x and mvp_y
|
|
139
|
+
*/
|
|
140
|
+
void PredInter16x8Mv (int16_t iMotionVector[LIST_A][30][MV_A], int8_t iRefIndex[LIST_A][30],
|
|
141
|
+
int32_t listIdx, int32_t iPartIdx, int8_t iRef, int16_t iMVP[2]);
|
|
142
|
+
|
|
143
|
+
/*!
|
|
144
|
+
* \brief get the motion predictor for inter8x16 MB
|
|
145
|
+
* \param
|
|
146
|
+
* \param output mvp_x and mvp_y
|
|
147
|
+
*/
|
|
148
|
+
void PredInter8x16Mv (int16_t iMotionVector[LIST_A][30][MV_A], int8_t iRefIndex[LIST_A][30],
|
|
149
|
+
int32_t listIdx, int32_t iPartIdx, int8_t iRef, int16_t iMVP[2]);
|
|
150
|
+
|
|
151
|
+
/*!
|
|
152
|
+
* \brief Fill the spatial direct motion vectors for 8x8 direct MB
|
|
153
|
+
* \param
|
|
154
|
+
* \param output motion vector cache and motion vector deviation cache
|
|
155
|
+
*/
|
|
156
|
+
void FillSpatialDirect8x8Mv (PDqLayer pCurDqLayer, const int16_t& iIdx8, const int8_t& iPartCount, const int8_t& iPartW,
|
|
157
|
+
const SubMbType& subMbType, const bool& bIsLongRef, int16_t pMvDirect[LIST_A][2], int8_t iRef[LIST_A],
|
|
158
|
+
int16_t pMotionVector[LIST_A][30][MV_A], int16_t pMvdCache[LIST_A][30][MV_A]);
|
|
159
|
+
|
|
160
|
+
/*!
|
|
161
|
+
* \brief Fill the temporal direct motion vectors for 8x8 direct MB
|
|
162
|
+
* \param
|
|
163
|
+
* \param output motion vector cache and motion vector deviation cache
|
|
164
|
+
*/
|
|
165
|
+
void FillTemporalDirect8x8Mv (PDqLayer pCurDqLayer, const int16_t& iIdx8, const int8_t& iPartCount,
|
|
166
|
+
const int8_t& iPartW,
|
|
167
|
+
const SubMbType& subMbType, int8_t iRef[LIST_A], int16_t (*mvColoc)[2],
|
|
168
|
+
int16_t pMotionVector[LIST_A][30][MV_A], int16_t pMvdCache[LIST_A][30][MV_A]);
|
|
169
|
+
|
|
170
|
+
/*!
|
|
171
|
+
* \brief returns ref_index in List_0 from the colocated ref_index in LIST_0.
|
|
172
|
+
* \param
|
|
173
|
+
* returns ref_index in List_0 of ref picture LIST_0
|
|
174
|
+
*/
|
|
175
|
+
int8_t MapColToList0 (PWelsDecoderContext& pCtx, const int8_t& colocRefIndexL0,
|
|
176
|
+
const int32_t& ref0Count); //ISO/IEC 14496-10:2009(E) (8-193)
|
|
177
|
+
|
|
178
|
+
/*!
|
|
179
|
+
* \brief update ref_index cache for current MB, for 8x8
|
|
180
|
+
* \param
|
|
181
|
+
* \param
|
|
182
|
+
*/
|
|
183
|
+
void Update8x8RefIdx (PDqLayer& pCurDqLayer, const int16_t& iPartIdx, const int32_t& listIdx, const int8_t& iRef);
|
|
184
|
+
|
|
185
|
+
inline uint32_t* GetMbType (PDqLayer& pCurDqLayer) {
|
|
186
|
+
if (pCurDqLayer->pDec != NULL) {
|
|
187
|
+
return pCurDqLayer->pDec->pMbType;
|
|
188
|
+
} else {
|
|
189
|
+
return pCurDqLayer->pMbType;
|
|
190
|
+
}
|
|
191
|
+
}
|
|
192
|
+
|
|
193
|
+
} // namespace WelsDec
|
|
194
|
+
|
|
195
|
+
#endif//WELS_MV_PRED_H__
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* \copy
|
|
3
|
+
* Copyright (c) 2013, Cisco Systems
|
|
4
|
+
* All rights reserved.
|
|
5
|
+
*
|
|
6
|
+
* Redistribution and use in source and binary forms, with or without
|
|
7
|
+
* modification, are permitted provided that the following conditions
|
|
8
|
+
* are met:
|
|
9
|
+
*
|
|
10
|
+
* * Redistributions of source code must retain the above copyright
|
|
11
|
+
* notice, this list of conditions and the following disclaimer.
|
|
12
|
+
*
|
|
13
|
+
* * Redistributions in binary form must reproduce the above copyright
|
|
14
|
+
* notice, this list of conditions and the following disclaimer in
|
|
15
|
+
* the documentation and/or other materials provided with the
|
|
16
|
+
* distribution.
|
|
17
|
+
*
|
|
18
|
+
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
|
19
|
+
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
|
20
|
+
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
|
21
|
+
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
|
22
|
+
* COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
|
23
|
+
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
|
24
|
+
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
|
25
|
+
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
|
26
|
+
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
|
27
|
+
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
|
28
|
+
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
|
29
|
+
* POSSIBILITY OF SUCH DAMAGE.
|
|
30
|
+
*
|
|
31
|
+
*/
|
|
32
|
+
|
|
33
|
+
//nal_prefix.h - definitions for NAL Unit Header(/Ext) and PrefixNALUnit
|
|
34
|
+
#ifndef WELS_NAL_UNIT_PREFIX_H__
|
|
35
|
+
#define WELS_NAL_UNIT_PREFIX_H__
|
|
36
|
+
|
|
37
|
+
#include "typedefs.h"
|
|
38
|
+
#include "wels_common_basis.h"
|
|
39
|
+
#include "slice.h"
|
|
40
|
+
|
|
41
|
+
namespace WelsDec {
|
|
42
|
+
|
|
43
|
+
///////////////////////////////////NAL Unit prefix/headers///////////////////////////////////
|
|
44
|
+
|
|
45
|
+
/* Prefix NAL Unix syntax, refer to Page 392 in JVT X201wcm */
|
|
46
|
+
typedef struct TagPrefixNalUnit {
|
|
47
|
+
SRefBasePicMarking sRefPicBaseMarking;
|
|
48
|
+
bool bStoreRefBasePicFlag;
|
|
49
|
+
bool bPrefixNalUnitAdditionalExtFlag;
|
|
50
|
+
bool bPrefixNalUnitExtFlag;
|
|
51
|
+
bool bPrefixNalCorrectFlag;
|
|
52
|
+
} SPrefixNalUnit, *PPrefixNalUnit;
|
|
53
|
+
|
|
54
|
+
} // namespace WelsDec
|
|
55
|
+
|
|
56
|
+
#endif//WELS_NAL_UNIT_PREFIX_H__
|