int i;
MpegEncContext *s = &v->s; GetBitContext *gb = &v->s.gb; int mb_offset, i ; int b_mv_type = BMV_TYPE_BACKWARD; int mquant, mqdiff;  int ttmb;   static const int size_table[6] = { 0, 2, 3, 4, 5, 8 }, offset_table[6] = { 0, 1, 3, 7, 15, 31 }; int mb_has_coeffs = 1;  int dmv1_x, dmv1_y, dmv2_x, dmv2_y;  int index, index1;  int val, sign;   mb_offset = s->mb_width*s->mb_y + s->mb_x;  if (v->direct_mb_plane.is_raw) v->direct_mb_plane.data[mb_offset] = get_bits(gb, 1); if (v->skip_mb_plane.is_raw) v->skip_mb_plane.data[mb_offset] = get_bits(gb, 1);  if (!v->direct_mb_plane.data[mb_offset]) { if (v->skip_mb_plane.data[mb_offset]) { b_mv_type = decode012(gb); if (v->bfraction > 420  && b_mv_type < 3) b_mv_type = 1-b_mv_type; } else { GET_MVDATA(dmv1_x, dmv1_y); if (!s->mb_intra ) { b_mv_type = decode012(gb); if (v->bfraction > 420  && b_mv_type < 3) b_mv_type = 1-b_mv_type; } } } if (!v->skip_mb_plane.data[mb_offset]) { if (mb_has_coeffs ) { GET_MQUANT(); if (s->mb_intra ) s->ac_pred = get_bits(gb, 1); } else {  if (b_mv_type == BMV_TYPE_INTERPOLATED) { GET_MVDATA(dmv2_x, dmv2_y); mquant = v->pq; }  if (mb_has_coeffs ) { if (s->mb_intra ) s->ac_pred = get_bits(gb, 1); GET_MQUANT(); } } }   if (v->ttmbf) ttmb = get_vlc2(gb, vc9_ttmb_vlc[v->tt_index].table, VC9_TTMB_VLC_BITS, 12);
int vc9_decode_b_mb(VC9Context *v, DCTELEM block[6][64]){    int i;    //Decode CBP    for (i=0; i<6; i++)    {        vc9_decode_block(v, block[i], i, 0 /*cbp[i]*/, v->pq /*Should be mquant*/); //FIXME    }    return 0;}