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