From 69aa303d9623b0317fcc20836c1f80bf1d87d28e Mon Sep 17 00:00:00 2001
From: Aaron Watry <awatry@gmail.com>
Date: Thu, 29 Sep 2011 17:25:48 -0500
Subject: [PATCH] Reduce computational complexity of generic C loop filter.

Change-Id: I1e7f9ed3cd907844a495b9e0073bc140b87e5c06
---
 vp8/common/loopfilter_filters.c | 17 ++++++++---------
 1 file changed, 8 insertions(+), 9 deletions(-)

diff --git a/vp8/common/loopfilter_filters.c b/vp8/common/loopfilter_filters.c
index 10228ae09b..1412797c2b 100644
--- a/vp8/common/loopfilter_filters.c
+++ b/vp8/common/loopfilter_filters.c
@@ -29,15 +29,14 @@ static __inline signed char vp8_filter_mask(uc limit, uc blimit,
                                      uc q0, uc q1, uc q2, uc q3)
 {
     signed char mask = 0;
-    mask |= (abs(p3 - p2) > limit) * -1;
-    mask |= (abs(p2 - p1) > limit) * -1;
-    mask |= (abs(p1 - p0) > limit) * -1;
-    mask |= (abs(q1 - q0) > limit) * -1;
-    mask |= (abs(q2 - q1) > limit) * -1;
-    mask |= (abs(q3 - q2) > limit) * -1;
-    mask |= (abs(p0 - q0) * 2 + abs(p1 - q1) / 2  > blimit) * -1;
-    mask = ~mask;
-    return mask;
+    mask |= (abs(p3 - p2) > limit);
+    mask |= (abs(p2 - p1) > limit);
+    mask |= (abs(p1 - p0) > limit);
+    mask |= (abs(q1 - q0) > limit);
+    mask |= (abs(q2 - q1) > limit);
+    mask |= (abs(q3 - q2) > limit);
+    mask |= (abs(p0 - q0) * 2 + abs(p1 - q1) / 2  > blimit);
+    return mask - 1;
 }
 
 /* is there high variance internal edge ( 11111111 yes, 00000000 no) */
-- 
GitLab