[SCM] libav/experimental: keep decoding nal units after an error

siretart at users.alioth.debian.org siretart at users.alioth.debian.org
Sun Jun 30 15:44:30 UTC 2013


The following commit has been merged in the experimental branch:
commit 3d15acf27bb57d61ae555d4b2c7bed5053a47c20
Author: Michael Niedermayer <michaelni at gmx.at>
Date:   Mon Jun 27 09:37:16 2005 +0000

    keep decoding nal units after an error
    
    Originally committed as revision 4399 to svn://svn.ffmpeg.org/ffmpeg/trunk

diff --git a/libavcodec/h264.c b/libavcodec/h264.c
index 4594eb9..9517f3c 100644
--- a/libavcodec/h264.c
+++ b/libavcodec/h264.c
@@ -7222,7 +7222,10 @@ static int decode_nal_units(H264Context *h, uint8_t *buf, int buf_size){
             h->inter_gb_ptr= &s->gb;
             s->data_partitioning = 0;
             
-            if(decode_slice_header(h) < 0) return -1;
+            if(decode_slice_header(h) < 0){
+                av_log(h->s.avctx, AV_LOG_ERROR, "decode_slice_header error\n");
+                break;
+            }
             if(h->redundant_pic_count==0 && s->hurry_up < 5 )
                 decode_slice(h);
             break;
@@ -7232,7 +7235,9 @@ static int decode_nal_units(H264Context *h, uint8_t *buf, int buf_size){
             h->inter_gb_ptr= NULL;
             s->data_partitioning = 1;
             
-            if(decode_slice_header(h) < 0) return -1;
+            if(decode_slice_header(h) < 0){
+                av_log(h->s.avctx, AV_LOG_ERROR, "decode_slice_header error\n");
+            }
             break;
         case NAL_DPB:
             init_get_bits(&h->intra_gb, ptr, bit_length);

-- 
Libav/FFmpeg packaging



More information about the pkg-multimedia-commits mailing list