]> git.sesse.net Git - ffmpeg/blobdiff - libavcodec/rv40.c
Merge remote-tracking branch 'qatar/master'
[ffmpeg] / libavcodec / rv40.c
index 67676c26cc5fe5d8ab91815ede8b7a24a04cfce0..02229830872d2cd5cf622af8f0dab39443827187 100644 (file)
@@ -231,8 +231,11 @@ static int rv40_decode_mb_info(RV34DecContext *r)
     int blocks[RV34_MB_TYPES] = {0};
     int count = 0;
 
-    if(!r->s.mb_skip_run)
+    if(!r->s.mb_skip_run) {
         r->s.mb_skip_run = svq3_get_ue_golomb(gb) + 1;
+        if(r->s.mb_skip_run > (unsigned)s->mb_num)
+            return -1;
+    }
 
     if(--r->s.mb_skip_run)
          return RV34_MB_SKIP;
@@ -677,7 +680,7 @@ AVCodec ff_rv40_decoder = {
     .close          = ff_rv34_decode_end,
     .decode         = ff_rv34_decode_frame,
     .capabilities   = CODEC_CAP_DR1 | CODEC_CAP_DELAY,
-    .flush = ff_mpeg_flush,
-    .long_name = NULL_IF_CONFIG_SMALL("RealVideo 4.0"),
-    .pix_fmts= ff_pixfmt_list_420,
+    .flush          = ff_mpeg_flush,
+    .long_name      = NULL_IF_CONFIG_SMALL("RealVideo 4.0"),
+    .pix_fmts       = ff_pixfmt_list_420,
 };