[FFmpeg-devel] [PATCH 00/48] H263DecContext
ffmpegagent
ffmpegagent at gmail.com
Mon Jun 23 16:36:00 EEST 2025
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
More information about the ffmpeg-devel
mailing list