B-frames could not be determined from broken_link/closed_entry, use fixed value

Originally committed as revision 7848 to svn://svn.ffmpeg.org/ffmpeg/trunk
pull/126/head
Kostya Shishkov 18 years ago
parent 02c823d4f3
commit 6eda6e37a9
  1. 7
      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;

Loading…
Cancel
Save