summaryrefslogtreecommitdiff
path: root/libavcodec/mpegvideo_dec.c
diff options
context:
space:
mode:
Diffstat (limited to 'libavcodec/mpegvideo_dec.c')
-rw-r--r--libavcodec/mpegvideo_dec.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/libavcodec/mpegvideo_dec.c b/libavcodec/mpegvideo_dec.c
index 57465e41a0..bb581840ae 100644
--- a/libavcodec/mpegvideo_dec.c
+++ b/libavcodec/mpegvideo_dec.c
@@ -62,10 +62,12 @@ int ff_mpeg_update_thread_context(AVCodecContext *dst,
// FIXME can parameters change on I-frames?
// in that case dst may need a reinit
if (!s->context_initialized) {
+ void *private_ctx = s->private_ctx;
int err;
memcpy(s, s1, sizeof(*s));
s->avctx = dst;
+ s->private_ctx = private_ctx;
s->bitstream_buffer = NULL;
s->bitstream_buffer_size = s->allocated_bitstream_buffer_size = 0;
@@ -76,6 +78,7 @@ int ff_mpeg_update_thread_context(AVCodecContext *dst,
if ((err = ff_mpv_common_init(s)) < 0) {
memset(s, 0, sizeof(*s));
s->avctx = dst;
+ s->private_ctx = private_ctx;
return err;
}
}