aboutsummaryrefslogtreecommitdiff
path: root/common/scaler/intern.h
diff options
context:
space:
mode:
Diffstat (limited to 'common/scaler/intern.h')
-rw-r--r--common/scaler/intern.h19
1 files changed, 18 insertions, 1 deletions
diff --git a/common/scaler/intern.h b/common/scaler/intern.h
index e65e6f311a..02773bca93 100644
--- a/common/scaler/intern.h
+++ b/common/scaler/intern.h
@@ -95,11 +95,28 @@ static inline bool diffYUV(int yuv1, int yuv2) {
static const int trY = 0x00300000;
static const int trU = 0x00000700;
static const int trV = 0x00000006;
-
+
+ int diff;
+
+ diff = ((yuv1 & Ymask) - (yuv2 & Ymask));
+ if (diff < 0) diff = - diff;
+ if (diff > trY) return true;
+
+ diff = ((yuv1 & Umask) - (yuv2 & Umask));
+ if (diff < 0) diff = - diff;
+ if (diff > trU) return true;
+
+ diff = ((yuv1 & Vmask) - (yuv2 & Vmask));
+ if (diff < 0) diff = - diff;
+ if (diff > trV) return true;
+
+ return false;
+/*
return
( ( ABS((yuv1 & Ymask) - (yuv2 & Ymask)) > trY ) ||
( ABS((yuv1 & Umask) - (yuv2 & Umask)) > trU ) ||
( ABS((yuv1 & Vmask) - (yuv2 & Vmask)) > trV ) );
+*/
}
/**