diff options
author | Michael Niedermayer <michaelni@gmx.at> | 2012-10-04 13:11:45 +0200 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2012-10-04 13:11:45 +0200 |
commit | 0f1446a4d010a1210c8b13562e83c9b157553764 (patch) | |
tree | d774ba3ebddf721dfac6357d8d958ce757a63fa3 /libavcodec/mpegvideo.c | |
parent | 741f5b021a0494676de0dab543f8a9591ec2e01e (diff) | |
parent | ab35ec29a4071871934856c00da7d6ebcc0c095b (diff) | |
download | ffmpeg-streaming-0f1446a4d010a1210c8b13562e83c9b157553764.zip ffmpeg-streaming-0f1446a4d010a1210c8b13562e83c9b157553764.tar.gz |
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.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/libavcodec/mpegvideo.c b/libavcodec/mpegvideo.c index 461ecaf..f4cc0f2 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); |