[FFmpeg-cvslog] r21344 - trunk/libavcodec/h264_loopfilter.c
michael
subversion
Wed Jan 20 04:00:08 CET 2010
Author: michael
Date: Wed Jan 20 04:00:08 2010
New Revision: 21344
Log:
Simplify/Optimize another of the mbaff loop filter cases.
Its faster but too rarely used to make a differnce.
Modified:
trunk/libavcodec/h264_loopfilter.c
Modified: trunk/libavcodec/h264_loopfilter.c
==============================================================================
--- trunk/libavcodec/h264_loopfilter.c Wed Jan 20 03:26:32 2010 (r21343)
+++ trunk/libavcodec/h264_loopfilter.c Wed Jan 20 04:00:08 2010 (r21344)
@@ -453,21 +453,18 @@ static av_always_inline void filter_mb_d
unsigned int tmp_linesize = 2 * linesize;
unsigned int tmp_uvlinesize = 2 * uvlinesize;
int mbn_xy = mb_xy - 2 * s->mb_stride;
- int qp;
- int i, j;
- int16_t bS[4];
+ int j;
for(j=0; j<2; j++, mbn_xy += s->mb_stride){
+ int16_t bS[4];
+ int qp;
if( IS_INTRA(mb_type|s->current_picture.mb_type[mbn_xy]) ) {
*(uint64_t*)bS= 0x0003000300030003ULL;
} else {
- const uint8_t *mbn_nnz = h->non_zero_count[mbn_xy];
+ const uint8_t *mbn_nnz = h->non_zero_count[mbn_xy] + 4+3*8;
+ int i;
for( i = 0; i < 4; i++ ) {
- if( h->non_zero_count_cache[scan8[0]+i] != 0 ||
- mbn_nnz[i+4+3*8] != 0 )
- bS[i] = 2;
- else
- bS[i] = 1;
+ bS[i] = 1 + !!(h->non_zero_count_cache[scan8[0]+i] | mbn_nnz[i]);
}
}
// Do not use s->qscale as luma quantizer because it has not the same
More information about the ffmpeg-cvslog
mailing list