ffmpeg | branch: release/2.2 | Anton Khirnov <an...@khirnov.net> | Thu Feb 12 12:26:58 2015 +0100| [03fbb6ff3d28f639ea5a35aba3c6dca09c17225d] | committer: Anton Khirnov
h264: only ref cur_pic in update_thread_context if it is initialized It may be empty if the previous thread's decode call did not contain a valid frame. (cherry picked from commit 0dea4c77ccf5956561bb8991311b3d834bb5fa40) Signed-off-by: Anton Khirnov <an...@khirnov.net> (cherry picked from commit 1dbfaa34e615606cb3f1a3ecabb117e354459edc) Signed-off-by: Anton Khirnov <an...@khirnov.net> Conflicts: libavcodec/h264_slice.c > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=03fbb6ff3d28f639ea5a35aba3c6dca09c17225d --- libavcodec/h264.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/libavcodec/h264.c b/libavcodec/h264.c index 7e62881..3c07477 100644 --- a/libavcodec/h264.c +++ b/libavcodec/h264.c @@ -1776,8 +1776,11 @@ static int decode_update_thread_context(AVCodecContext *dst, h->cur_pic_ptr = REBASE_PICTURE(h1->cur_pic_ptr, h, h1); unref_picture(h, &h->cur_pic); - if ((ret = ref_picture(h, &h->cur_pic, &h1->cur_pic)) < 0) - return ret; + if (h1->cur_pic.f.buf[0]) { + ret = ref_picture(h, &h->cur_pic, &h1->cur_pic); + if (ret < 0) + return ret; + } h->workaround_bugs = h1->workaround_bugs; h->low_delay = h1->low_delay; _______________________________________________ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog