if( s->mb_y > 0 && !IS_INTRA4x4( s->current_picture.mb_type[mb_xy-s->mb_stride] ) )
if( h->slice_table[mbb_xy] == h->slice_num && !IS_INTRA4x4( s->current_picture.mb_type[mbb_xy] ) )
static int decode_cabac_intra_mb_type(H264Context *h, int ctx_base, int intra_slice) {    uint8_t *state= &h->cabac_state[ctx_base];    int mb_type;        if(intra_slice){        MpegEncContext * const s = &h->s;        const int mb_xy= s->mb_x + s->mb_y*s->mb_stride;        int ctx=0;        if( s->mb_x > 0 && !IS_INTRA4x4( s->current_picture.mb_type[mb_xy-1] ) )            ctx++;        if( s->mb_y > 0 && !IS_INTRA4x4( s->current_picture.mb_type[mb_xy-s->mb_stride] ) )            ctx++;        if( get_cabac( &h->cabac, &state[ctx] ) == 0 )            return 0;   /* I4x4 */        state += 2;    }else{        if( get_cabac( &h->cabac, &state[0] ) == 0 )            return 0;   /* I4x4 */    }    if( get_cabac_terminate( &h->cabac ) )        return 25;  /* PCM */    mb_type = 1; /* I16x16 */    if( get_cabac( &h->cabac, &state[1] ) )        mb_type += 12;  /* cbp_luma != 0 */    if( get_cabac( &h->cabac, &state[2] ) ) {        if( get_cabac( &h->cabac, &state[2+intra_slice] ) )            mb_type += 4 * 2;   /* cbp_chroma == 2 */        else            mb_type += 4 * 1;   /* cbp_chroma == 1 */    }    if( get_cabac( &h->cabac, &state[3+intra_slice] ) )        mb_type += 2;    if( get_cabac( &h->cabac, &state[3+2*intra_slice] ) )        mb_type += 1;    return mb_type;}