[FFmpeg-devel] [PATCH 00/47] avcodec/mpeg4videodec: Don't zero blocks twice
Andreas Rheinhardt
andreas.rheinhardt at outlook.com
Fri Jun 20 18:11:27 EEST 2025
ffmpegagent:
> This patchset is a mix of mpegvideo-related patches. The second half
> (beginning with avcodec/ituh263dec: Simplify AIC handling) mostly has a
> theme, namely improving dc_val and ac_val handling in mpegvideo. The first
> is just other stuff which I found while investigating the latter.
>
> Andreas Rheinhardt (47):
> avcodec/mpeg4videodec: Don't zero blocks twice
> avcodec/rv10: Perform RV20 initialization during init
> avcodec/rv10: Perform RV20 check only for RV20
> avcodec/ituh263dec: Don't process unnecessarily many coefficients
> avcodec/ituh263dec: Remove redundant store
> avcodec/ituh263enc: Don't use array unnecessarily
> avcodec/ituh263enc: Fix indentation
> avcodec/mpeg12dec: Don't store block_last_index unnecessarily
> avcodec/rv10: Avoid indirection when reading VLC codes
> avcodec/mpeg_er: Mark ff_mpeg_er_init() as av_cold
> avcodec/mpegvideo_enc: Remove always-true branch
> avcodec/motion_est: Fix indentation
> avcodec/svq1enc: Don't free scratchbuf upon error
> avcodec/svq1enc: Allocate motion_val{8,16} during init
> avcodec/svq1enc: Stop calling ff_mpv_common_init()
> avcodec/svq1enc: Remove write-only c_block_{width,height}
> avcodec/svq1enc: Set MpegEncContext.avctx only once
> avcodec/svq1enc: Don't initialize unneeded block_index
> configure: Factor mpegvideoencdsp out of mpegvideoenc
> configure: Relax svq1enc->mpegvideoenc dependency
> configure: Relax diracdec->mpegvideoenc dependency
> configure: Relax snowenc->mpegvideoenc dependency
> avcodec/mpegvideo: Don't reset thread_context ptrs unnecessarily
> avcodec/mpegvideo: Don't zero unnecessarily
> avcodec/mpegvideo: Defer init of enc slice ctxs in
> ff_mpv_common_init()
> avcodec/mpegvideo_enc: Simplify allocating non-slice buffers
> avcodec/ituh263dec: Simplify AIC handling
> avcodec/ituh263enc: Simplify AIC handling
> avcodec/flvenc: Combine writing bits
> avcodec/flvenc: Move ff_flv2_encode_ac_esc() to ituh263enc.c
> avcodec/mpegvideo: Redo resetting intra table entry
> avcodec/mpegvideo: Avoid {a,d}c_val[{1,2}]
> avcodec/mpegvideo: Provide alignment hint to compiler
> avcodec/mpegvideo: Don't reset AC values of upper-left luma block
> avcodec/mpegvideo: Combine stores
> avcodec/mpeg4video: Don't use ac_val[1], ac_val[2] when cleaning
> buffers
> avcodec/mpegvideo: Only use a single ac_val pointer
> avcodec/mpegvideo: Allocate ac_val jointly
> avcodec/mpegvideo: Zero-init mbintra_table
> avcodec/mpegvideo: Only keep MpegEncContext.dc_val[0]
> avcodec/vc1: Only keep mb_type[0]
> avcodec/mpegvideo: Allocate dc_val for each encoder slice
> avcodec/{ituh263,mpeg4video}enc: Simplify out-of-slice DC prediction
> avcodec/mpeg4video: Move ff_mpeg4_pred_dc() to decoder
> avcodec/ituh263enc: Simplify encoding umotion vectors
> avcodec/mpegvideo: Reduce stack usage when copying MpegEncContext
> avcodec/mpeg4videoenc: Fix data race when using AC prediction
>
> configure | 9 +-
> libavcodec/Makefile | 9 +-
> libavcodec/aarch64/Makefile | 4 +-
> libavcodec/arm/Makefile | 4 +-
> libavcodec/flvenc.c | 19 ----
> libavcodec/flvenc.h | 4 -
> libavcodec/h263.c | 5 +-
> libavcodec/h263.h | 8 ++
> libavcodec/h263dec.c | 3 +-
> libavcodec/h263enc.h | 1 +
> libavcodec/ituh263dec.c | 47 ++++-----
> libavcodec/ituh263enc.c | 181 ++++++++++++++++++-----------------
> libavcodec/mathops.h | 1 +
> libavcodec/mathtables.c | 39 ++++++++
> libavcodec/me_cmp.c | 36 -------
> libavcodec/me_cmp.h | 5 -
> libavcodec/mips/Makefile | 6 +-
> libavcodec/motion_est.c | 180 +++++++++++++++++-----------------
> libavcodec/mpeg12.c | 4 +-
> libavcodec/mpeg12dec.c | 3 -
> libavcodec/mpeg4video.c | 13 ++-
> libavcodec/mpeg4video.h | 45 ---------
> libavcodec/mpeg4videodec.c | 65 ++++++++++---
> libavcodec/mpeg4videoenc.c | 40 +++++++-
> libavcodec/mpeg_er.c | 10 +-
> libavcodec/mpegvideo.c | 155 +++++++++++++++---------------
> libavcodec/mpegvideo.h | 4 +-
> libavcodec/mpegvideo_enc.c | 179 +++++++++++++++++++---------------
> libavcodec/mpegvideoencdsp.c | 2 +-
> libavcodec/msmpeg4.c | 3 +-
> libavcodec/ppc/Makefile | 2 +-
> libavcodec/riscv/Makefile | 4 +-
> libavcodec/rv10.c | 53 +++++-----
> libavcodec/svq1enc.c | 65 ++++---------
> libavcodec/vc1.h | 2 +-
> libavcodec/vc1_block.c | 138 +++++++++++++-------------
> libavcodec/vc1_loopfilter.c | 10 +-
> libavcodec/vc1_mc.c | 8 +-
> libavcodec/vc1_pred.c | 14 +--
> libavcodec/vc1dec.c | 4 +-
> libavcodec/x86/Makefile | 6 +-
> tests/checkasm/Makefile | 2 +-
> tests/checkasm/checkasm.c | 2 +-
> 43 files changed, 697 insertions(+), 697 deletions(-)
>
Will apply this patchset tomorrow unless there are objections.
- Andreas
More information about the ffmpeg-devel
mailing list