get rid of the start variable.
authorMichael Niedermayer <michaelni@gmx.at>
Thu, 28 Jan 2010 01:31:06 +0000 (01:31 +0000)
committerMichael Niedermayer <michaelni@gmx.at>
Thu, 28 Jan 2010 01:31:06 +0000 (01:31 +0000)
a few cycles faster

Originally committed as revision 21494 to svn://svn.ffmpeg.org/ffmpeg/trunk

libavcodec/h264_loopfilter.c

index 155a323..4bf2d94 100644 (file)
@@ -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));
 
     // 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
         && 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);
         }
             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;
 
         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];
     /* Calculate bS */
     for( edge = 1; edge < edges; edge++ ) {
         DECLARE_ALIGNED_8(int16_t, bS)[4];