Mercurial > libavcodec.hg
comparison vc1.c @ 4486:1d2320afa864 libavcodec
B-frames could not be determined from broken_link/closed_entry, use fixed value
author | kostya |
---|---|
date | Tue, 06 Feb 2007 07:11:20 +0000 |
parents | 81a120f5f8d0 |
children | 0a0a9f0c9c2d |
comparison
equal
deleted
inserted
replaced
4485:81a120f5f8d0 | 4486:1d2320afa864 |
---|---|
1302 v->psf = get_bits1(gb); | 1302 v->psf = get_bits1(gb); |
1303 if(v->psf) { //PsF, 6.1.13 | 1303 if(v->psf) { //PsF, 6.1.13 |
1304 av_log(v->s.avctx, AV_LOG_ERROR, "Progressive Segmented Frame mode: not supported (yet)\n"); | 1304 av_log(v->s.avctx, AV_LOG_ERROR, "Progressive Segmented Frame mode: not supported (yet)\n"); |
1305 return -1; | 1305 return -1; |
1306 } | 1306 } |
1307 v->s.max_b_frames = v->s.avctx->max_b_frames = 7; | |
1307 if(get_bits1(gb)) { //Display Info - decoding is not affected by it | 1308 if(get_bits1(gb)) { //Display Info - decoding is not affected by it |
1308 int w, h, ar = 0; | 1309 int w, h, ar = 0; |
1309 av_log(v->s.avctx, AV_LOG_DEBUG, "Display extended info:\n"); | 1310 av_log(v->s.avctx, AV_LOG_DEBUG, "Display extended info:\n"); |
1310 v->s.avctx->width = v->s.width = w = get_bits(gb, 14) + 1; | 1311 v->s.avctx->width = v->s.width = w = get_bits(gb, 14) + 1; |
1311 v->s.avctx->height = v->s.height = h = get_bits(gb, 14) + 1; | 1312 v->s.avctx->height = v->s.height = h = get_bits(gb, 14) + 1; |
1357 } | 1358 } |
1358 | 1359 |
1359 static int decode_entry_point(AVCodecContext *avctx, GetBitContext *gb) | 1360 static int decode_entry_point(AVCodecContext *avctx, GetBitContext *gb) |
1360 { | 1361 { |
1361 VC1Context *v = avctx->priv_data; | 1362 VC1Context *v = avctx->priv_data; |
1362 int i, blink, refdist; | 1363 int i, blink, clentry, refdist; |
1363 | 1364 |
1364 av_log(avctx, AV_LOG_DEBUG, "Entry point: %08X\n", show_bits_long(gb, 32)); | 1365 av_log(avctx, AV_LOG_DEBUG, "Entry point: %08X\n", show_bits_long(gb, 32)); |
1365 blink = get_bits1(gb); // broken link | 1366 blink = get_bits1(gb); // broken link |
1366 avctx->max_b_frames = 1 - get_bits1(gb); // 'closed entry' also signalize possible B-frames | 1367 clentry = get_bits1(gb); // closed entry |
1367 v->panscanflag = get_bits1(gb); | 1368 v->panscanflag = get_bits1(gb); |
1368 refdist = get_bits1(gb); // refdist flag | 1369 refdist = get_bits1(gb); // refdist flag |
1369 v->s.loop_filter = get_bits1(gb); | 1370 v->s.loop_filter = get_bits1(gb); |
1370 v->fastuvmc = get_bits1(gb); | 1371 v->fastuvmc = get_bits1(gb); |
1371 v->extended_mv = get_bits1(gb); | 1372 v->extended_mv = get_bits1(gb); |
1397 | 1398 |
1398 av_log(avctx, AV_LOG_DEBUG, "Entry point info:\n" | 1399 av_log(avctx, AV_LOG_DEBUG, "Entry point info:\n" |
1399 "BrokenLink=%i, ClosedEntry=%i, PanscanFlag=%i\n" | 1400 "BrokenLink=%i, ClosedEntry=%i, PanscanFlag=%i\n" |
1400 "RefDist=%i, Postproc=%i, FastUVMC=%i, ExtMV=%i\n" | 1401 "RefDist=%i, Postproc=%i, FastUVMC=%i, ExtMV=%i\n" |
1401 "DQuant=%i, VSTransform=%i, Overlap=%i, Qmode=%i\n", | 1402 "DQuant=%i, VSTransform=%i, Overlap=%i, Qmode=%i\n", |
1402 blink, 1 - avctx->max_b_frames, v->panscanflag, refdist, v->s.loop_filter, | 1403 blink, clentry, v->panscanflag, refdist, v->s.loop_filter, |
1403 v->fastuvmc, v->extended_mv, v->dquant, v->vstransform, v->overlap, v->quantizer_mode); | 1404 v->fastuvmc, v->extended_mv, v->dquant, v->vstransform, v->overlap, v->quantizer_mode); |
1404 | 1405 |
1405 return 0; | 1406 return 0; |
1406 } | 1407 } |
1407 | 1408 |