changeset 11040:f0b31169d04d libavcodec

Restructure check_mv() ~20 cpu cycles faster loopfilter
author michael
date Thu, 28 Jan 2010 11:12:46 +0000
parents b9a6d26f48eb
children 6d74270c4f6f
files h264_loopfilter.c
diffstat 1 files changed, 5 insertions(+), 6 deletions(-) [+]
line wrap: on
line diff
--- a/h264_loopfilter.c	Thu Jan 28 10:38:43 2010 +0000
+++ b/h264_loopfilter.c	Thu Jan 28 11:12:46 2010 +0000
@@ -439,14 +439,13 @@
 
     if(v){
         if(h->ref_cache[0][b_idx] != h->ref_cache[1][bn_idx] |
-           h->mv_cache[0][b_idx][0] - h->mv_cache[1][bn_idx][0] + 3 >= 7U |
-           FFABS( h->mv_cache[0][b_idx][1] - h->mv_cache[1][bn_idx][1] ) >= mvy_limit)
+           h->ref_cache[1][b_idx] != h->ref_cache[0][bn_idx])
             return 1;
-        if(h->ref_cache[1][b_idx] != h->ref_cache[0][bn_idx] |
+        return
+           h->mv_cache[0][b_idx][0] - h->mv_cache[1][bn_idx][0] + 3 >= 7U |
+           FFABS( h->mv_cache[0][b_idx][1] - h->mv_cache[1][bn_idx][1] ) >= mvy_limit |
            h->mv_cache[1][b_idx][0] - h->mv_cache[0][bn_idx][0] + 3 >= 7U |
-           FFABS( h->mv_cache[1][b_idx][1] - h->mv_cache[0][bn_idx][1] ) >= mvy_limit)
-            return 1;
-        return 0;
+           FFABS( h->mv_cache[1][b_idx][1] - h->mv_cache[0][bn_idx][1] ) >= mvy_limit;
     }
     }