Revision 9873ae0d libavcodec/h264_loopfilter.c
libavcodec/h264_loopfilter.c | ||
---|---|---|
479 | 479 |
if( IS_INTRA(mb_type|s->current_picture.mb_type[mbn_xy]) ) { |
480 | 480 |
*(uint64_t*)bS= 0x0003000300030003ULL; |
481 | 481 |
} else { |
482 |
const uint8_t *mbn_nnz = h->non_zero_count[mbn_xy] + 4+3*8; //FIXME 8x8dct? |
|
482 |
if(!CABAC && IS_8x8DCT(s->current_picture.mb_type[mbn_xy])){ |
|
483 |
bS[0]= 1+((h->cbp_table[mbn_xy] & 4)||h->non_zero_count_cache[scan8[0]+0]); |
|
484 |
bS[1]= 1+((h->cbp_table[mbn_xy] & 4)||h->non_zero_count_cache[scan8[0]+1]); |
|
485 |
bS[2]= 1+((h->cbp_table[mbn_xy] & 8)||h->non_zero_count_cache[scan8[0]+2]); |
|
486 |
bS[3]= 1+((h->cbp_table[mbn_xy] & 8)||h->non_zero_count_cache[scan8[0]+3]); |
|
487 |
}else{ |
|
488 |
const uint8_t *mbn_nnz = h->non_zero_count[mbn_xy] + 4+3*8; |
|
483 | 489 |
int i; |
484 | 490 |
for( i = 0; i < 4; i++ ) { |
485 | 491 |
bS[i] = 1 + !!(h->non_zero_count_cache[scan8[0]+i] | mbn_nnz[i]); |
486 | 492 |
} |
493 |
} |
|
487 | 494 |
} |
488 | 495 |
// Do not use s->qscale as luma quantizer because it has not the same |
489 | 496 |
// value in IPCM macroblocks. |
Also available in: Unified diff