This patchset adds a H263DecContext and moves the fields of MpegEncContext that are only used by the H.263-based decoders (those using h263dec.c) to it. It also adds a special slice context for the MPEG-1/2 decoders and moves the GetBitContext from MpegEncContext to the actual decoder contexts (no get_bits.h inclusion in encoders any longer). Furthermore, MpegEncContext. is put into the codec contexts and no longer separately allocated.
Andreas Rheinhardt (48): avcodec/ituh263dec: Use correct logcontext avcodec/rl: Avoid branch in index lookup avcodec/ituh263enc: Simplify creating LUT avcodec/ituh263dec: Only initialize ff_h263_rl_inter when needed avcodec/mpegvideoenc: Allocate blocks as part of MPVEncContext avcodec/mpegvideo: Add MPVContext typedef avcodec/mpegvideo_dec: Factor debugging dct coefficients out avcodec/mpegvideo_dec: Reindent after the previous commit avcodec/mpeg_er: Don't use MpegEncContext.block avcodec/mpegvideodec: Remove size expectation from ff_mpv_reconstruct_mb avcodec/h261dec: Stop using MpegEncContext.gb avcodec/h261dec: Don't use MpegEncContext.block avcodec/mpeg12dec: Put GetBitContext on the stack where advantageous avcodec/mpeg12dec: Remove unused function parameter avcodec/rv34: Don't use MpegEncContext.gb avcodec/rv34: Don't use MpegEncContext.block avcodec/intrax8: Don't pretend to need more than one int16_t[64] avcodec/vc1: Stop using MpegEncContext.gb avcodec/vc1: Don't use MpegEncContext.block avcodec/mpeg12dec: Deduplicate variables avcodec/mpegvideo: Move flipflop_rounding to {MSMPEG4Dec,MPVEnc}Context avcodec/mpegvideo: Move unrestricted_mv to MotionEstContext avcodec/mpeg4videodec: Avoid unnecessary indirections avcodec/{h263,mpeg4video}dec: Pass MPVContext*, not Mpeg4DecContext* avcodec/mpegvideo: Move dct_precision to Mpeg4DecContext avcodec/h263dec: Add H263DecContext avcodec/h263dec: Remove redundant block parameter from decode_mb avcodec/h263dec: Don't use MpegEncContext.block avcodec/h263dec: Stop using MpegEncContext.gb avcodec/mpeg12dec: Add Mpeg12SliceContext avcodec/mpegvideo: Add missing headers avcodec/mpeg12dec: Move MpegEncContext.gb to Mpeg12SliceContext avcodec/mpeg12dec: Don't use MPVContext.block avcodec/mpegvideo: Move fields only used by H.263 decoders to H263DecCtx avcodec/mpegvideo: Move mb_num_left to {H263,RV34}DecContext avcodec/mpeg12dec: Put mb_skip_run on the stack avcodec/mpegvideo: Move mb_skip_run to {RV34Dec,MPVEnc}Context avcodec/mpegvideo: Move SLICE_* defs to h263dec.h, h261dec.c avcodec/msmpeg4dec: Move ff_msmpeg4_decode_init() down avcodec/h263dec: Use function ptr for decode_picture_header avcodec/ituh263enc: Inline value of h263_flv avcodec/flvdec: Binarize h263_flv avcodec/mpegvideo: Move fields to {H263Dec,MPVEnc}Context when possible avcodec/mpeg_er: Allow to skip setting partitioned_frame, p[pb]_time avcodec/mpegvideo: Move partitioned_frame to {H263Dec,MPVEnc}Context avcodec/mpegvideo: Move loop_filter to {H263Dec,MPVEnc,VC1}Context avcodec/rv34: Don't report progress unnecessarily avcodec/rv34: Fix spelling mistake libavcodec/dxva2_vc1.c | 6 +- libavcodec/error_resilience.c | 2 + libavcodec/flvdec.c | 60 +- libavcodec/flvdec.h | 4 +- libavcodec/flvenc.c | 4 +- libavcodec/h261dec.c | 95 +- libavcodec/h261enc.c | 18 +- libavcodec/h263data.h | 4 + libavcodec/h263dec.c | 427 +++--- libavcodec/h263dec.h | 81 +- libavcodec/h263enc.h | 2 +- libavcodec/intelh263dec.c | 110 +- libavcodec/intrax8.c | 16 +- libavcodec/intrax8.h | 4 +- libavcodec/ituh263dec.c | 950 ++++++------- libavcodec/ituh263enc.c | 112 +- libavcodec/me_cmp.c | 1 + libavcodec/mips/mpegvideo_msa.c | 1 + libavcodec/motion_est.c | 4 +- libavcodec/motion_est.h | 1 + libavcodec/mpeg12dec.c | 909 +++++++------ libavcodec/mpeg12enc.c | 11 +- libavcodec/mpeg4video_parser.c | 4 +- libavcodec/mpeg4videodec.c | 1741 ++++++++++++------------ libavcodec/mpeg4videodec.h | 13 +- libavcodec/mpeg4videoenc.c | 21 +- libavcodec/mpeg_er.c | 7 +- libavcodec/mpeg_er.h | 9 + libavcodec/mpegvideo.c | 28 +- libavcodec/mpegvideo.h | 49 +- libavcodec/mpegvideo_dec.c | 37 +- libavcodec/mpegvideo_enc.c | 178 +-- libavcodec/mpegvideodec.h | 8 +- libavcodec/mpegvideoenc.h | 21 + libavcodec/msmpeg4.c | 1 + libavcodec/msmpeg4dec.c | 586 ++++---- libavcodec/msmpeg4dec.h | 11 +- libavcodec/msmpeg4enc.c | 10 +- libavcodec/mss2.c | 6 +- libavcodec/nvdec_mpeg4.c | 4 +- libavcodec/nvdec_vc1.c | 2 +- libavcodec/ppc/mpegvideo_altivec.c | 1 + libavcodec/ratecontrol.c | 4 +- libavcodec/rl.h | 6 +- libavcodec/rv10.c | 340 ++--- libavcodec/rv10dec.h | 4 +- libavcodec/rv20enc.c | 12 +- libavcodec/rv30.c | 2 +- libavcodec/rv34.c | 61 +- libavcodec/rv34.h | 6 + libavcodec/rv40.c | 10 +- libavcodec/snowenc.c | 4 +- libavcodec/speedhqenc.c | 1 + libavcodec/svq1enc.c | 2 +- libavcodec/vaapi_mpeg4.c | 12 +- libavcodec/vaapi_vc1.c | 4 +- libavcodec/vc1.c | 30 +- libavcodec/vc1.h | 7 + libavcodec/vc1_block.c | 134 +- libavcodec/vc1_pred.c | 12 +- libavcodec/vc1dec.c | 54 +- libavcodec/vdpau_mpeg4.c | 2 +- libavcodec/vdpau_vc1.c | 2 +- libavcodec/wmv2.h | 4 +- libavcodec/wmv2dec.c | 326 ++--- libavcodec/wmv2dec.h | 4 +- libavcodec/wmv2enc.c | 8 +- libavcodec/x86/mpegvideo.c | 2 +- libavcodec/x86/mpegvideoenc.c | 1 - libavcodec/x86/mpegvideoenc_template.c | 1 + 70 files changed, 3347 insertions(+), 3267 deletions(-) base-commit: e6298e0759430f64e9bd9298775de92597be8a50 Published-As: https://github.com/ffstaging/FFmpeg/releases/tag/pr-ffstaging-102%2Fmkver%2FH263DecContext-v1 Fetch-It-Via: git fetch https://github.com/ffstaging/FFmpeg pr-ffstaging-102/mkver/H263DecContext-v1 Pull-Request: https://github.com/ffstaging/FFmpeg/pull/102 -- ffmpeg-codebot _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".