summaryrefslogtreecommitdiff
path: root/libavcodec/vc1.c
diff options
context:
space:
mode:
authorKostya Shishkov <kostya.shishkov@gmail.com>2007-02-13 07:48:23 +0000
committerKostya Shishkov <kostya.shishkov@gmail.com>2007-02-13 07:48:23 +0000
commit674678b04ab7ce757af715e608a1527836fc141d (patch)
tree0c5f5ad616b6cc0f842c5a78e8aa5ce0c3623d1c /libavcodec/vc1.c
parent6d29fba9505ffda6d261d81301ca88011c21e912 (diff)
Intensity compensation for B-frames in AP was missing
Originally committed as revision 7962 to svn://svn.ffmpeg.org/ffmpeg/trunk
Diffstat (limited to 'libavcodec/vc1.c')
-rw-r--r--libavcodec/vc1.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/libavcodec/vc1.c b/libavcodec/vc1.c
index 1cf31a3bcb..b2fc5ffcbc 100644
--- a/libavcodec/vc1.c
+++ b/libavcodec/vc1.c
@@ -1684,6 +1684,8 @@ static int vc1_parse_frame_header_adv(VC1Context *v, GetBitContext* gb)
if (v->quantizer_mode == QUANT_FRAME_EXPLICIT)
v->pquantizer = get_bits(gb, 1);
+ if(v->s.pict_type == I_TYPE || v->s.pict_type == P_TYPE) v->use_ic = 0;
+
switch(v->s.pict_type) {
case I_TYPE:
case BI_TYPE:
@@ -1741,6 +1743,7 @@ static int vc1_parse_frame_header_adv(VC1Context *v, GetBitContext* gb)
v->luty[i] = clip_uint8((scale * i + shift + 32) >> 6);
v->lutuv[i] = clip_uint8((scale * (i - 128) + 128*64 + 32) >> 6);
}
+ v->use_ic = 1;
}
if(v->mv_mode == MV_PMODE_1MV_HPEL || v->mv_mode == MV_PMODE_1MV_HPEL_BILIN)
v->s.quarter_sample = 0;