OSDN Git Service

log aspect ratio forbidden value, and fail if error resilience is high
authorBaptiste Coudurier <baptiste.coudurier@gmail.com>
Fri, 14 Mar 2008 09:33:38 +0000 (09:33 +0000)
committerBaptiste Coudurier <baptiste.coudurier@gmail.com>
Fri, 14 Mar 2008 09:33:38 +0000 (09:33 +0000)
Originally committed as revision 12438 to svn://svn.ffmpeg.org/ffmpeg/trunk

libavcodec/mpeg12.c

index 59ed278..c16adaf 100644 (file)
@@ -1970,6 +1970,11 @@ static int mpeg1_decode_sequence(AVCodecContext *avctx,
         (width % 2) != 0 || (height % 2) != 0)
         return -1;
     s->aspect_ratio_info= get_bits(&s->gb, 4);
+    if (s->aspect_ratio_info == 0) {
+        av_log(avctx, AV_LOG_ERROR, "aspect ratio has forbidden 0 value\n");
+        if (avctx->error_resilience >= FF_ER_COMPLIANT)
+            return -1;
+    }
     s->frame_rate_index = get_bits(&s->gb, 4);
     if (s->frame_rate_index == 0 || s->frame_rate_index > 13)
         return -1;