summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libavcodec/mpeg4videodec.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/libavcodec/mpeg4videodec.c b/libavcodec/mpeg4videodec.c
index cb88f7716f..863dd29c7c 100644
--- a/libavcodec/mpeg4videodec.c
+++ b/libavcodec/mpeg4videodec.c
@@ -2539,14 +2539,19 @@ static int mpeg4_update_thread_context(AVCodecContext *dst,
{
Mpeg4DecContext *s = dst->priv_data;
const Mpeg4DecContext *s1 = src->priv_data;
+ int init = s->m.context_initialized;
int ret = ff_mpeg_update_thread_context(dst, src);
if (ret < 0)
return ret;
+ if (CONFIG_MPEG4_DECODER && !init && s1->xvid_build >= 0)
+ ff_xvididct_init(&s->m.idsp, dst);
+
s->shape = s1->shape;
s->time_increment_bits = s1->time_increment_bits;
+ s->xvid_build = s1->xvid_build;
return 0;
}