1
0
mirror of https://github.com/FFmpeg/FFmpeg.git synced 2025-08-04 22:03:09 +02:00

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 <andreas.rheinhardt@outlook.com>
This commit is contained in:
Andreas Rheinhardt
2025-05-19 17:18:38 +02:00
parent 6af1bcb180
commit eb5d900f87

View File

@ -48,7 +48,6 @@
#include "profiles.h" #include "profiles.h"
#include "qpeldsp.h" #include "qpeldsp.h"
#include "threadprogress.h" #include "threadprogress.h"
#include "xvididct.h"
#include "unary.h" #include "unary.h"
#if 0 //3IV1 is quite rare and it slows things down a tiny bit #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_shift, s1->sprite_shift, sizeof(s1->sprite_shift));
memcpy(s->sprite_traj, s1->sprite_traj, sizeof(s1->sprite_traj)); 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); return av_buffer_replace(&s->bitstream_buffer, s1->bitstream_buffer);
} }