diff options
author | Michael Niedermayer <michaelni@gmx.at> | 2010-01-28 04:31:06 +0300 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2010-01-28 04:31:06 +0300 |
commit | b304767301eb7e6c8d4677da8ffeaededc52df67 (patch) | |
tree | 365772cb45a7dd8d76700fce13917b22caa0bb8f /libavcodec/h264_loopfilter.c | |
parent | 980bcc554db5f601e0ceaf364f4c032d33e5fbd4 (diff) |
get rid of the start variable.
a few cycles faster
Originally committed as revision 21494 to svn://svn.ffmpeg.org/ffmpeg/trunk
Diffstat (limited to 'libavcodec/h264_loopfilter.c')
-rw-r--r-- | libavcodec/h264_loopfilter.c | 17 |
1 files changed, 7 insertions, 10 deletions
diff --git a/libavcodec/h264_loopfilter.c b/libavcodec/h264_loopfilter.c index 155a3238bb..4bf2d94fc9 100644 --- a/libavcodec/h264_loopfilter.c +++ b/libavcodec/h264_loopfilter.c @@ -431,12 +431,12 @@ static av_always_inline void filter_mb_dir(H264Context *h, int mb_x, int mb_y, u // how often to recheck mv-based bS when iterating along each edge const int mask_par0 = mb_type & (MB_TYPE_16x16 | (MB_TYPE_8x16 >> dir)); - int start = h->slice_table[mbm_xy] == 0xFFFF - || first_vertical_edge_done - || (h->deblocking_filter==2 && h->slice_table[mbm_xy] != h->slice_num); + if(!(h->slice_table[mbm_xy] == 0xFFFF + || first_vertical_edge_done + || (h->deblocking_filter==2 && h->slice_table[mbm_xy] != h->slice_num))){ - if (FRAME_MBAFF && (dir == 1) && ((mb_y&1) == 0) && start == 0 + if (FRAME_MBAFF && (dir == 1) && ((mb_y&1) == 0) && IS_INTERLACED(mbm_type&~mb_type) ) { // This is a special case in the norm where the filtering must @@ -471,12 +471,7 @@ static av_always_inline void filter_mb_dir(H264Context *h, int mb_x, int mb_y, u filter_mb_edgech( &img_cr[j*uvlinesize], tmp_uvlinesize, bS, ( h->chroma_qp[1] + get_chroma_qp( h, 1, s->current_picture.qscale_table[mbn_xy] ) + 1 ) >> 1, h); } - - start = 1; - } - - /* Calculate bS */ - if(start==0) { + }else{ DECLARE_ALIGNED_8(int16_t, bS)[4]; int qp; @@ -588,6 +583,8 @@ static av_always_inline void filter_mb_dir(H264Context *h, int mb_x, int mb_y, u } } } + } + /* Calculate bS */ for( edge = 1; edge < edges; edge++ ) { DECLARE_ALIGNED_8(int16_t, bS)[4]; |