Mercurial > libavcodec.hg
changeset 11033:b5577677b97d libavcodec
get rid of the start variable.
a few cycles faster
author | michael |
---|---|
date | Thu, 28 Jan 2010 01:31:06 +0000 |
parents | 01bd040f8607 |
children | fd5921186064 |
files | h264_loopfilter.c |
diffstat | 1 files changed, 7 insertions(+), 10 deletions(-) [+] |
line wrap: on
line diff
--- a/h264_loopfilter.c Thu Jan 28 01:24:25 2010 +0000 +++ b/h264_loopfilter.c Thu Jan 28 01:31:06 2010 +0000 @@ -431,12 +431,12 @@ // 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 + + if(!(h->slice_table[mbm_xy] == 0xFFFF || first_vertical_edge_done - || (h->deblocking_filter==2 && h->slice_table[mbm_xy] != h->slice_num); + || (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 @@ 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 @@ } } } + } + /* Calculate bS */ for( edge = 1; edge < edges; edge++ ) { DECLARE_ALIGNED_8(int16_t, bS)[4];