From 2cf0d46d4c3e4590086ec29860772ea54ccd98e6 Mon Sep 17 00:00:00 2001
From: Michael Niedermayer <michaelni@gmx.at>
Date: Thu, 28 Jan 2010 11:12:46 +0000
Subject: [PATCH] Restructure check_mv() ~20 cpu cycles faster loopfilter

Originally committed as revision 21505 to svn://svn.ffmpeg.org/ffmpeg/trunk
---
 libavcodec/h264_loopfilter.c | 11 +++++------
 1 file changed, 5 insertions(+), 6 deletions(-)

diff --git a/libavcodec/h264_loopfilter.c b/libavcodec/h264_loopfilter.c
index 20f846dee4..c9d8aecf1e 100644
--- a/libavcodec/h264_loopfilter.c
+++ b/libavcodec/h264_loopfilter.c
@@ -439,14 +439,13 @@ static int check_mv(H264Context *h, long b_idx, long bn_idx, int mvy_limit){
 
     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;
     }
     }
 
-- 
2.18.1