summaryrefslogtreecommitdiff
path: root/libavcodec/mpeg4videodec.c
diff options
context:
space:
mode:
authorAnton Khirnov <anton@khirnov.net>2014-08-03 04:59:03 -0700
committerDiego Biurrun <diego@biurrun.de>2014-08-03 15:18:58 -0700
commitf89d76c10355242c39b08f253c1d1524f45ef778 (patch)
tree4c63988afad1e4ec52b700f96dddf8b84bc1b293 /libavcodec/mpeg4videodec.c
parenta238b83b13640e3192d7d4aaad2242f13a9a84a1 (diff)
mpeg4video: Initialize xvididct for all threads
Signed-off-by: Diego Biurrun <diego@biurrun.de>
Diffstat (limited to 'libavcodec/mpeg4videodec.c')
-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;
}