[FFmpeg-cvslog] avcodec/h264_slice: Only call ff_h264_flush_change() on initialized contexts

James Almer git at videolan.org
Fri Jul 1 21:42:53 CEST 2016


ffmpeg | branch: master | James Almer <jamrial at gmail.com> | Fri Jul  1 20:59:41 2016 +0200| [77eb05a2f11f03c98837fa5350d17a8a1c5a2a3d] | committer: Michael Niedermayer

avcodec/h264_slice: Only call ff_h264_flush_change() on initialized contexts

Changed by committer to ensure context_initialized is reset
Signed-off-by: Michael Niedermayer <michael at niedermayer.cc>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=77eb05a2f11f03c98837fa5350d17a8a1c5a2a3d
---

 libavcodec/h264_slice.c |    4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/libavcodec/h264_slice.c b/libavcodec/h264_slice.c
index 427554c..ca492ba 100644
--- a/libavcodec/h264_slice.c
+++ b/libavcodec/h264_slice.c
@@ -1415,6 +1415,7 @@ static int h264_slice_header_parse(H264Context *h, H264SliceContext *sl)
     }
 
     if (!h->context_initialized || must_reinit || needs_reinit) {
+        int flush_changes = h->context_initialized;
         h->context_initialized = 0;
         if (sl != h->slice_ctx) {
             av_log(h->avctx, AV_LOG_ERROR,
@@ -1428,7 +1429,8 @@ static int h264_slice_header_parse(H264Context *h, H264SliceContext *sl)
 
         av_assert1(first_slice);
 
-        ff_h264_flush_change(h);
+        if(flush_changes)
+            ff_h264_flush_change(h);
 
         if ((ret = get_pixel_format(h, 1)) < 0)
             return ret;



More information about the ffmpeg-cvslog mailing list