changeset 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
files vc1.c
diffstat 1 files changed, 4 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- 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;