Browse Source

vc1: only disable interlaced b-frames for software decoding

Tested-by: Gwenole Beauchesne <gb.devel@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Hendrik Leppkes 12 years ago
parent
commit
33f2a49423
2 changed files with 3 additions and 1 deletions
  1. 0 1
      libavcodec/vc1.c
  2. 3 0
      libavcodec/vc1dec.c

+ 0 - 1
libavcodec/vc1.c

@@ -1158,7 +1158,6 @@ int ff_vc1_parse_frame_header_adv(VC1Context *v, GetBitContext* gb)
             if (v->bfraction == 0) {
                 return -1;
             }
-            return -1; // This codepath is still incomplete thus it is disabled
         }
         if (v->extended_mv)
             v->mvrange = get_unary(gb, 0, 3);

+ 3 - 0
libavcodec/vc1dec.c

@@ -5603,6 +5603,9 @@ static int vc1_decode_frame(AVCodecContext *avctx, void *data,
                 goto err;
         }
     } else {
+        if (v->fcm == ILACE_FRAME && s->pict_type == AV_PICTURE_TYPE_B)
+            goto err; // This codepath is still incomplete thus it is disabled
+
         ff_er_frame_start(s);
 
         v->bits = buf_size * 8;