}
static int decode_cabac_mb_chroma_pre_mode( H264Context *h) {    MpegEncContext * const s = &h->s;    const int mb_xy = s->mb_x + s->mb_y*s->mb_stride;    const int mba_xy = mb_xy - 1;    const int mbb_xy = mb_xy - s->mb_stride;    int ctx = 0;    if( s->mb_x > 0 &&        ( IS_INTRA4x4( s->current_picture.mb_type[mba_xy] ) || IS_INTRA16x16( s->current_picture.mb_type[mba_xy] ) ) &&        h->chroma_pred_mode_table[mba_xy] != 0 ) {        ctx++;    }    if( s->mb_y > 0 &&        ( IS_INTRA4x4( s->current_picture.mb_type[mbb_xy] ) || IS_INTRA16x16( s->current_picture.mb_type[mbb_xy] ) ) &&        h->chroma_pred_mode_table[mbb_xy] != 0 ) {        ctx++;    }    if( get_cabac( &h->cabac, &h->cabac_state[64+ctx] ) == 0 )        return 0;    if( get_cabac( &h->cabac, &h->cabac_state[64+3] ) == 0 )        return 1;    if( get_cabac( &h->cabac, &h->cabac_state[64+3] ) == 0 )        return 2;    else        return 3;}