# HG changeset patch # User kostya # Date 1170745880 0 # Node ID 1d2320afa864e458b82d957819a6f41f712b4e9f # Parent 81a120f5f8d0f99aef6d59f27729e046eaf52c0d B-frames could not be determined from broken_link/closed_entry, use fixed value diff -r 81a120f5f8d0 -r 1d2320afa864 vc1.c --- a/vc1.c Tue Feb 06 07:07:29 2007 +0000 +++ b/vc1.c Tue Feb 06 07:11:20 2007 +0000 @@ -1304,6 +1304,7 @@ 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_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 @@ "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;