vc1: skip motion compensation when data for last picture is invalid
authorSean McGovern <gseanmcg@gmail.com>
Sun, 28 Jan 2018 02:19:30 +0000 (21:19 -0500)
committerSean McGovern <gseanmcg@gmail.com>
Wed, 31 Jan 2018 00:04:07 +0000 (19:04 -0500)
Bug-Id: 1101
Cc: libav-stable@libav.org
libavcodec/vc1_mc.c

index f4632d6..18ac47a 100644 (file)
@@ -689,6 +689,11 @@ void ff_vc1_mc_4mv_chroma4(VC1Context *v, int dir, int dir2, int avg)
     if (s->avctx->flags & AV_CODEC_FLAG_GRAY)
         return;
 
+    if (!s->last_picture.f->data[1]) {
+      av_log(s->avctx, AV_LOG_ERROR, "Bad data in last picture frame.\n");
+      return;
+    }
+
     for (i = 0; i < 4; i++) {
         int d = i < 2 ? dir: dir2;
         tx = s->mv[d][i][0];