h263dec: restore error concealment functionality after merge
authorMichael Niedermayer <michaelni@gmx.at>
Tue, 13 Dec 2011 00:25:08 +0000 (01:25 +0100)
committerMichael Niedermayer <michaelni@gmx.at>
Tue, 13 Dec 2011 00:26:00 +0000 (01:26 +0100)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
libavcodec/h263dec.c
libavcodec/ituh263dec.c

index 2c9385c..7a34e7f 100644 (file)
@@ -310,7 +310,7 @@ static int decode_slice(MpegEncContext *s){
             max_extra+= 17;
 
         /* buggy padding but the frame should still end approximately at the bitstream end */
-        if((s->workaround_bugs&FF_BUG_NO_PADDING) && (s->err_recognition&AV_EF_BUFFER))
+        if((s->workaround_bugs&FF_BUG_NO_PADDING) && (s->err_recognition&(AV_EF_BUFFER|AV_EF_AGGRESSIVE)))
             max_extra+= 48;
         else if((s->workaround_bugs&FF_BUG_NO_PADDING))
             max_extra+= 256*256*256*64;
index c622961..bf03e1a 100644 (file)
@@ -484,7 +484,7 @@ static int h263_decode_block(MpegEncContext * s, DCTELEM * block,
             level = get_bits(&s->gb, 8);
             if((level&0x7F) == 0){
                 av_log(s->avctx, AV_LOG_ERROR, "illegal dc %d at %d %d\n", level, s->mb_x, s->mb_y);
-                if(s->err_recognition & AV_EF_BITSTREAM)
+                if(s->err_recognition & (AV_EF_BITSTREAM|AV_EF_COMPLIANT))
                     return -1;
             }
             if (level == 255)