This fixes Ticket 4389 differently
Fixes Ticket5371
Fixes null pointer dereference

Signed-off-by: Michael Niedermayer <mich...@niedermayer.cc>
---
 libavcodec/h264_slice.c |    3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/libavcodec/h264_slice.c b/libavcodec/h264_slice.c
index 9a5bc3f..c4340dc 100644
--- a/libavcodec/h264_slice.c
+++ b/libavcodec/h264_slice.c
@@ -1188,6 +1188,7 @@ int ff_h264_decode_slice_header(H264Context *h, 
H264SliceContext *sl)
             if (h->cur_pic_ptr && FIELD_PICTURE(h) && h->first_field) {
                 ret = ff_h264_field_end(h, h->slice_ctx, 1);
                 h->current_slice = 0;
+                first_slice = 1;
                 if (ret < 0)
                     return ret;
             } else if (h->cur_pic_ptr && !FIELD_PICTURE(h) && !h->first_field 
&& h->nal_unit_type  == NAL_IDR_SLICE) {
@@ -1422,7 +1423,7 @@ int ff_h264_decode_slice_header(H264Context *h, 
H264SliceContext *sl)
         }
     }
 
-    if (!h->current_slice && h->dequant_coeff_pps != pps_id) {
+    if (first_slice && h->dequant_coeff_pps != pps_id) {
         h->dequant_coeff_pps = pps_id;
         ff_h264_init_dequant_tables(h);
     }
-- 
1.7.9.5

_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel

Reply via email to