summaryrefslogtreecommitdiff
path: root/libavcodec/mpegvideo.c
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2012-10-04 13:11:45 +0200
committerMichael Niedermayer <michaelni@gmx.at>2012-10-04 13:11:45 +0200
commit0f1446a4d010a1210c8b13562e83c9b157553764 (patch)
treed774ba3ebddf721dfac6357d8d958ce757a63fa3 /libavcodec/mpegvideo.c
parent741f5b021a0494676de0dab543f8a9591ec2e01e (diff)
parentab35ec29a4071871934856c00da7d6ebcc0c095b (diff)
Merge commit 'ab35ec29a4071871934856c00da7d6ebcc0c095b'
* commit 'ab35ec29a4071871934856c00da7d6ebcc0c095b': vf_overlay: get rid of pointless messing with timebase. samplefmt: make av_samples_alloc() initialize the data to silence. libspeexdec: handle NULL return value from speex_packet_to_header() h264probe: Don't error out on bits that no longer are reserved mpegvideo: set extended_data in ff_update_duplicate_context() libspeexdec: properly handle DTX for multiple frames-per-packet libspeexdec: move the SpeexHeader from LibSpeexContext to where it is used libspeexdec: simplify setting of frame_size libspeexdec: set channel_layout Conflicts: libavfilter/vf_overlay.c libavformat/h264dec.c libavutil/version.h Merged-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libavcodec/mpegvideo.c')
-rw-r--r--libavcodec/mpegvideo.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/libavcodec/mpegvideo.c b/libavcodec/mpegvideo.c
index 461ecaf88f..f4cc0f2652 100644
--- a/libavcodec/mpegvideo.c
+++ b/libavcodec/mpegvideo.c
@@ -531,6 +531,7 @@ void ff_update_duplicate_context(MpegEncContext *dst, MpegEncContext *src)
int ff_mpeg_update_thread_context(AVCodecContext *dst,
const AVCodecContext *src)
{
+ int i;
MpegEncContext *s = dst->priv_data, *s1 = src->priv_data;
if (dst == src)
@@ -574,6 +575,10 @@ int ff_mpeg_update_thread_context(AVCodecContext *dst,
memcpy(&s->last_picture, &s1->last_picture,
(char *) &s1->last_picture_ptr - (char *) &s1->last_picture);
+ // reset s->picture[].f.extended_data to s->picture[].f.data
+ for (i = 0; i < s->picture_count; i++)
+ s->picture[i].f.extended_data = s->picture[i].f.data;
+
s->last_picture_ptr = REBASE_PICTURE(s1->last_picture_ptr, s, s1);
s->current_picture_ptr = REBASE_PICTURE(s1->current_picture_ptr, s, s1);
s->next_picture_ptr = REBASE_PICTURE(s1->next_picture_ptr, s, s1);