if( mbb_xy >= 0 ) {
if( cbp_b >= 0 ) {
static int decode_cabac_mb_cbp_luma( H264Context *h) {    MpegEncContext * const s = &h->s;    const int mb_xy = s->mb_x + s->mb_y*s->mb_stride;    int cbp = 0;    int i8x8;    h->cbp_table[mb_xy] = 0;  /* FIXME aaahahahah beurk */    for( i8x8 = 0; i8x8 < 4; i8x8++ ) {        int mba_xy = -1;        int mbb_xy = -1;        int x, y;        int ctx = 0;        x = block_idx_x[4*i8x8];        y = block_idx_y[4*i8x8];        if( x > 0 )            mba_xy = mb_xy;        else if( s->mb_x > 0 ) {            mba_xy = mb_xy - 1;            if (h->slice_table[mba_xy] != h->slice_num) {                mba_xy = -1;            }        }        if( y > 0 )            mbb_xy = mb_xy;        else if( s->mb_y > 0 ) {            mbb_xy = mb_xy - s->mb_stride;            if (h->slice_table[mbb_xy] != h->slice_num) {                mbb_xy = -1;            }        }        /* No need to test for skip as we put 0 for skip block */        /* No need to test for IPCM as we put 1 for IPCM block */        if( mba_xy >= 0 ) {            int i8x8a = block_idx_xy[(x-1)&0x03][y]/4;            if( ((h->cbp_table[mba_xy] >> i8x8a)&0x01) == 0 )                ctx++;        }        if( mbb_xy >= 0 ) {            int i8x8b = block_idx_xy[x][(y-1)&0x03]/4;            if( ((h->cbp_table[mbb_xy] >> i8x8b)&0x01) == 0 )                ctx += 2;        }        if( get_cabac( &h->cabac, &h->cabac_state[73 + ctx] ) ) {            cbp |= 1 << i8x8;            h->cbp_table[mb_xy] = cbp;  /* FIXME aaahahahah beurk */        }    }    return cbp;}