diff --git a/libavcodec/vc1.c b/libavcodec/vc1.c index df3e706723..d344d03682 100644 --- a/libavcodec/vc1.c +++ b/libavcodec/vc1.c @@ -1304,6 +1304,7 @@ static int decode_sequence_header_adv(VC1Context *v, GetBitContext *gb) av_log(v->s.avctx, AV_LOG_ERROR, "Progressive Segmented Frame mode: not supported (yet)\n"); return -1; } + v->s.max_b_frames = v->s.avctx->max_b_frames = 7; if(get_bits1(gb)) { //Display Info - decoding is not affected by it int w, h, ar = 0; av_log(v->s.avctx, AV_LOG_DEBUG, "Display extended info:\n"); @@ -1359,11 +1360,11 @@ static int decode_sequence_header_adv(VC1Context *v, GetBitContext *gb) static int decode_entry_point(AVCodecContext *avctx, GetBitContext *gb) { VC1Context *v = avctx->priv_data; - int i, blink, refdist; + int i, blink, clentry, refdist; av_log(avctx, AV_LOG_DEBUG, "Entry point: %08X\n", show_bits_long(gb, 32)); blink = get_bits1(gb); // broken link - avctx->max_b_frames = 1 - get_bits1(gb); // 'closed entry' also signalize possible B-frames + clentry = get_bits1(gb); // closed entry v->panscanflag = get_bits1(gb); refdist = get_bits1(gb); // refdist flag v->s.loop_filter = get_bits1(gb); @@ -1399,7 +1400,7 @@ static int decode_entry_point(AVCodecContext *avctx, GetBitContext *gb) "BrokenLink=%i, ClosedEntry=%i, PanscanFlag=%i\n" "RefDist=%i, Postproc=%i, FastUVMC=%i, ExtMV=%i\n" "DQuant=%i, VSTransform=%i, Overlap=%i, Qmode=%i\n", - blink, 1 - avctx->max_b_frames, v->panscanflag, refdist, v->s.loop_filter, + blink, clentry, v->panscanflag, refdist, v->s.loop_filter, v->fastuvmc, v->extended_mv, v->dquant, v->vstransform, v->overlap, v->quantizer_mode); return 0;