# HG changeset patch # User kostya # Date 1153714849 0 # Node ID db3335b2b8f1ef1123bb9cf0d5ad44487d53a239 # Parent 634ad7b3a19832d4bef95be5645ceb5edec43c6c Some fixes for decode_p_mb() diff -r 634ad7b3a198 -r db3335b2b8f1 vc1.c --- a/vc1.c Sun Jul 23 20:45:20 2006 +0000 +++ b/vc1.c Mon Jul 24 04:20:49 2006 +0000 @@ -2540,7 +2540,7 @@ if(!coded_inter) coded_inter = !is_intra[i] & is_coded[i]; } // if there are no coded blocks then don't do anything more - if(!intra_count && !coded_inter) return; + if(!intra_count && !coded_inter) return 0; dst_idx = 0; GET_MQUANT(); s->current_picture.qscale_table[mb_pos] = mquant; @@ -2559,7 +2559,7 @@ else s->ac_pred = 0; } if (!v->ttmbf && coded_inter) - ttmb = get_vlc2(gb, vc1_ttmb_vlc[v->tt_index].table, VC1_TTMB_VLC_BITS, 12); + ttmb = get_vlc2(gb, vc1_ttmb_vlc[v->tt_index].table, VC1_TTMB_VLC_BITS, 2); for (i=0; i<6; i++) { dst_idx += i >> 2; @@ -2596,6 +2596,7 @@ else //Skipped MB { s->mb_intra = 0; + s->current_picture.qscale_table[mb_pos] = 0; for (i=0; i<6; i++) { v->mb_type[0][s->block_index[i]] = 0; s->dc_val[0][s->block_index[i]] = 0;