[FFmpeg-cvslog] r21248 - trunk/libavcodec/h264_loopfilter.c

michael subversion
Sat Jan 16 17:14:33 CET 2010


Author: michael
Date: Sat Jan 16 17:14:32 2010
New Revision: 21248

Log:
Another microopt, 4 cpu cycles for avoidance of FFABS().

Modified:
   trunk/libavcodec/h264_loopfilter.c

Modified: trunk/libavcodec/h264_loopfilter.c
==============================================================================
--- trunk/libavcodec/h264_loopfilter.c	Sat Jan 16 16:54:01 2010	(r21247)
+++ trunk/libavcodec/h264_loopfilter.c	Sat Jan 16 17:14:32 2010	(r21248)
@@ -555,7 +555,7 @@ static av_always_inline void filter_mb_d
 
                 for( l = 0; !v && l < 1 + (h->slice_type_nos == FF_B_TYPE); l++ ) {
                     v |= ref2frm[l][h->ref_cache[l][b_idx]] != ref2frmn[l][h->ref_cache[l][bn_idx]] |
-                         FFABS( h->mv_cache[l][b_idx][0] - h->mv_cache[l][bn_idx][0] ) >= 4 |
+                         h->mv_cache[l][b_idx][0] - h->mv_cache[l][bn_idx][0] + 3 >= 7U |
                          FFABS( h->mv_cache[l][b_idx][1] - h->mv_cache[l][bn_idx][1] ) >= mvy_limit;
                 }
 
@@ -564,7 +564,7 @@ static av_always_inline void filter_mb_d
                     for( l = 0; !v && l < 2; l++ ) {
                         int ln= 1-l;
                         v |= ref2frm[l][h->ref_cache[l][b_idx]] != ref2frmn[ln][h->ref_cache[ln][bn_idx]] |
-                            FFABS( h->mv_cache[l][b_idx][0] - h->mv_cache[ln][bn_idx][0] ) >= 4 |
+                            h->mv_cache[l][b_idx][0] - h->mv_cache[ln][bn_idx][0] + 3 >= 7U |
                             FFABS( h->mv_cache[l][b_idx][1] - h->mv_cache[ln][bn_idx][1] ) >= mvy_limit;
                     }
                 }



More information about the ffmpeg-cvslog mailing list