Mercurial > libavcodec.hg
comparison vc1.c @ 4433:8187c306ffcd libavcodec
Fix BI-frames decoding for Adv. profile
author | kostya |
---|---|
date | Mon, 29 Jan 2007 14:23:00 +0000 |
parents | 7c42c51b1130 |
children | 33f181383a21 |
comparison
equal
deleted
inserted
replaced
4432:a848b652f0ac | 4433:8187c306ffcd |
---|---|
1832 { | 1832 { |
1833 v->y_ac_table_index = decode012(gb); | 1833 v->y_ac_table_index = decode012(gb); |
1834 } | 1834 } |
1835 /* DC Syntax */ | 1835 /* DC Syntax */ |
1836 v->s.dc_table_index = get_bits(gb, 1); | 1836 v->s.dc_table_index = get_bits(gb, 1); |
1837 if (v->s.pict_type == I_TYPE && v->dquant) { | 1837 if ((v->s.pict_type == I_TYPE || v->s.pict_type == BI_TYPE) && v->dquant) { |
1838 av_log(v->s.avctx, AV_LOG_DEBUG, "VOP DQuant info\n"); | 1838 av_log(v->s.avctx, AV_LOG_DEBUG, "VOP DQuant info\n"); |
1839 vop_dquant_decoding(v); | 1839 vop_dquant_decoding(v); |
1840 } | 1840 } |
1841 | 1841 |
1842 v->bi_type = 0; | 1842 v->bi_type = 0; |
4081 vc1_decode_skip_blocks(v); | 4081 vc1_decode_skip_blocks(v); |
4082 else | 4082 else |
4083 vc1_decode_p_blocks(v); | 4083 vc1_decode_p_blocks(v); |
4084 break; | 4084 break; |
4085 case B_TYPE: | 4085 case B_TYPE: |
4086 if(v->bi_type) | 4086 if(v->bi_type){ |
4087 vc1_decode_i_blocks(v); | 4087 if(v->profile == PROFILE_ADVANCED) |
4088 else | 4088 vc1_decode_i_blocks_adv(v); |
4089 else | |
4090 vc1_decode_i_blocks(v); | |
4091 }else | |
4089 vc1_decode_b_blocks(v); | 4092 vc1_decode_b_blocks(v); |
4090 break; | 4093 break; |
4091 } | 4094 } |
4092 } | 4095 } |
4093 | 4096 |