do not fail on qscale==0 if error resilience is high, fix broken quicktime h261,...
authorBaptiste Coudurier <baptiste.coudurier@gmail.com>
Sat, 2 Aug 2008 22:51:49 +0000 (22:51 +0000)
committerBaptiste Coudurier <baptiste.coudurier@gmail.com>
Sat, 2 Aug 2008 22:51:49 +0000 (22:51 +0000)
Originally committed as revision 14510 to svn://svn.ffmpeg.org/ffmpeg/trunk

libavcodec/h261dec.c

index 07be335..5369830 100644 (file)
@@ -133,8 +133,11 @@ static int h261_decode_gob_header(H261Context *h){
         skip_bits(&s->gb, 8);
     }
 
-    if(s->qscale==0)
-        return -1;
+    if(s->qscale==0) {
+        av_log(s->avctx, AV_LOG_ERROR, "qscale has forbidden 0 value\n");
+        if (s->avctx->error_resilience >= FF_ER_COMPLIANT)
+            return -1;
+    }
 
     // For the first transmitted macroblock in a GOB, MBA is the absolute address. For
     // subsequent macroblocks, MBA is the difference between the absolute addresses of