diff --git a/libavcodec/vc1.c b/libavcodec/vc1.c index c24951b2d8..c1b73d635a 100644 --- a/libavcodec/vc1.c +++ b/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); diff --git a/libavcodec/vc1dec.c b/libavcodec/vc1dec.c index 3832b2afba..fde1dda994 100644 --- a/libavcodec/vc1dec.c +++ b/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;