From 73c3e1c408c3d758c440afa0975795e44aae504e Mon Sep 17 00:00:00 2001 From: Andreas Rheinhardt Date: Mon, 19 May 2025 17:18:38 +0200 Subject: [PATCH 10/19] avcodec/mpeg4videodec: Remove unnecessary ff_xvid_idct_init() It is unnecessary: If the dst context is not already initialized, then it will be initialized by memcpy(dst, src, sizeof(*dst), which already initializes the IDCT to the desired one, potentially followed by ff_mpv_common_init(), which does not touch the IDCT. (This call has been added in f89d76c10355242c39b08f253c1d1524f45ef778; the aforementioned copying took place back then, too, but ff_mpv_common_init() reinitialized the IDCT to a non-xvid one, therefore the initialization here has been added to fix multithreaded decoding.) Signed-off-by: Andreas Rheinhardt --- libavcodec/mpeg4videodec.c | 4 ---- 1 file changed, 4 deletions(-) diff --git a/libavcodec/mpeg4videodec.c b/libavcodec/mpeg4videodec.c index 82b552356a..c4eed9136a 100644 --- a/libavcodec/mpeg4videodec.c +++ b/libavcodec/mpeg4videodec.c @@ -48,7 +48,6 @@ #include "profiles.h" #include "qpeldsp.h" #include "threadprogress.h" -#include "xvididct.h" #include "unary.h" #if 0 //3IV1 is quite rare and it slows things down a tiny bit @@ -3880,9 +3879,6 @@ static int mpeg4_update_thread_context(AVCodecContext *dst, memcpy(s->sprite_shift, s1->sprite_shift, sizeof(s1->sprite_shift)); memcpy(s->sprite_traj, s1->sprite_traj, sizeof(s1->sprite_traj)); - if (!init && s1->xvid_build >= 0) - ff_xvid_idct_init(&s->m.idsp, dst); - return av_buffer_replace(&s->bitstream_buffer, s1->bitstream_buffer); } -- 2.45.2