aboutsummaryrefslogtreecommitdiff
path: root/common
diff options
context:
space:
mode:
authorMax Horn2003-09-29 23:34:43 +0000
committerMax Horn2003-09-29 23:34:43 +0000
commit7ccafa467cf2d913a8c11a0b440f40c7ba06adf2 (patch)
tree9c5232f7e27b34c5ccec6cb06a704a7fbdcc5f8b /common
parente75eba1a1fbdf2dd025bca6086d1c8b59d5f252f (diff)
downloadscummvm-rg350-7ccafa467cf2d913a8c11a0b440f40c7ba06adf2.tar.gz
scummvm-rg350-7ccafa467cf2d913a8c11a0b440f40c7ba06adf2.tar.bz2
scummvm-rg350-7ccafa467cf2d913a8c11a0b440f40c7ba06adf2.zip
synced hq2x with upstream changes; some performance tweaks to hq2x/hq3x (I think for bigger speed improvement we'd have to use ASM (with C++ fallback of course)...
svn-id: r10494
Diffstat (limited to 'common')
-rw-r--r--common/scaler.cpp5
-rw-r--r--common/scaler/hq2x.cpp1084
-rw-r--r--common/scaler/hq3x.cpp404
-rw-r--r--common/scaler/intern.h19
4 files changed, 768 insertions, 744 deletions
diff --git a/common/scaler.cpp b/common/scaler.cpp
index 4bb51cc84e..d8522440af 100644
--- a/common/scaler.cpp
+++ b/common/scaler.cpp
@@ -175,10 +175,9 @@ void AdvMame2x(const uint8 *srcPtr, uint32 srcPitch, uint8 *dstPtr, uint32 dstPi
A = B; B = C; C = *(p - nextlineSrc);
D = E; E = F; F = *(p);
G = H; H = I; I = *(p + nextlineSrc);
-
- *(q) = D == B && B != F && D != H ? D : E;
+ *(q + 0) = D == B && B != F && D != H ? D : E;
*(q + 1) = B == F && B != D && F != H ? F : E;
- *(q + nextlineDst) = D == H && D != B && H != F ? D : E;
+ *(q + nextlineDst + 0) = D == H && D != B && H != F ? D : E;
*(q + nextlineDst + 1) = H == F && D != H && B != F ? F : E;
q += 2;
}
diff --git a/common/scaler/hq2x.cpp b/common/scaler/hq2x.cpp
index de134373dd..4eef8679e1 100644
--- a/common/scaler/hq2x.cpp
+++ b/common/scaler/hq2x.cpp
@@ -22,49 +22,59 @@
#include "common/scaler/intern.h"
-#define PIXEL00_0 *(q) = w[5];
-#define PIXEL00_10 *(q) = interpolate16_2<bitFormat,3,1>(w[5], w[1]);
-#define PIXEL00_11 *(q) = interpolate16_2<bitFormat,3,1>(w[5], w[4]);
-#define PIXEL00_12 *(q) = interpolate16_2<bitFormat,3,1>(w[5], w[2]);
-#define PIXEL00_20 *(q) = interpolate16_3<bitFormat,2,1,1>(w[5], w[4], w[2]);
-#define PIXEL00_30 *(q) = interpolate16_3<bitFormat,6,1,1>(w[5], w[4], w[2]);
-#define PIXEL00_40 *(q) = interpolate16_3<bitFormat,14,1,1>(w[5], w[4], w[2]);
-#define PIXEL00_50 *(q) = interpolate16_3<bitFormat,5,2,1>(w[5], w[2], w[4]);
-#define PIXEL00_51 *(q) = interpolate16_3<bitFormat,5,2,1>(w[5], w[4], w[2]);
-#define PIXEL00_60 *(q) = interpolate16_3<bitFormat,2,3,3>(w[5], w[4], w[2]);
+#define PIXEL00_0 *(q) = w[5];
+#define PIXEL00_10 *(q) = interpolate16_2<bitFormat,3,1>(w[5], w[1]);
+#define PIXEL00_11 *(q) = interpolate16_2<bitFormat,3,1>(w[5], w[4]);
+#define PIXEL00_12 *(q) = interpolate16_2<bitFormat,3,1>(w[5], w[2]);
+#define PIXEL00_20 *(q) = interpolate16_3<bitFormat,2,1,1>(w[5], w[4], w[2]);
+#define PIXEL00_21 *(q) = interpolate16_3<bitFormat,2,1,1>(w[5], w[1], w[2]);
+#define PIXEL00_22 *(q) = interpolate16_3<bitFormat,2,1,1>(w[5], w[1], w[4]);
+#define PIXEL00_60 *(q) = interpolate16_3<bitFormat,5,2,1>(w[5], w[2], w[4]);
+#define PIXEL00_61 *(q) = interpolate16_3<bitFormat,5,2,1>(w[5], w[4], w[2]);
+#define PIXEL00_70 *(q) = interpolate16_3<bitFormat,6,1,1>(w[5], w[4], w[2]);
+#define PIXEL00_90 *(q) = interpolate16_3<bitFormat,2,3,3>(w[5], w[4], w[2]);
+#define PIXEL00_100 *(q) = interpolate16_3<bitFormat,14,1,1>(w[5], w[4], w[2]);
-#define PIXEL01_0 *(q+1) = w[5];
-#define PIXEL01_10 *(q+1) = interpolate16_2<bitFormat,3,1>(w[5], w[3]);
-#define PIXEL01_11 *(q+1) = interpolate16_2<bitFormat,3,1>(w[5], w[2]);
-#define PIXEL01_12 *(q+1) = interpolate16_2<bitFormat,3,1>(w[5], w[6]);
-#define PIXEL01_20 *(q+1) = interpolate16_3<bitFormat,2,1,1>(w[5], w[2], w[6]);
-#define PIXEL01_30 *(q+1) = interpolate16_3<bitFormat,6,1,1>(w[5], w[2], w[6]);
-#define PIXEL01_40 *(q+1) = interpolate16_3<bitFormat,14,1,1>(w[5], w[2], w[6]);
-#define PIXEL01_50 *(q+1) = interpolate16_3<bitFormat,5,2,1>(w[5], w[6], w[2]);
-#define PIXEL01_51 *(q+1) = interpolate16_3<bitFormat,5,2,1>(w[5], w[2], w[6]);
-#define PIXEL01_60 *(q+1) = interpolate16_3<bitFormat,2,3,3>(w[5], w[2], w[6]);
+#define PIXEL01_0 *(q+1) = w[5];
+#define PIXEL01_10 *(q+1) = interpolate16_2<bitFormat,3,1>(w[5], w[3]);
+#define PIXEL01_11 *(q+1) = interpolate16_2<bitFormat,3,1>(w[5], w[2]);
+#define PIXEL01_12 *(q+1) = interpolate16_2<bitFormat,3,1>(w[5], w[6]);
+#define PIXEL01_20 *(q+1) = interpolate16_3<bitFormat,2,1,1>(w[5], w[2], w[6]);
+#define PIXEL01_21 *(q+1) = interpolate16_3<bitFormat,2,1,1>(w[5], w[3], w[6]);
+#define PIXEL01_22 *(q+1) = interpolate16_3<bitFormat,2,1,1>(w[5], w[3], w[2]);
+#define PIXEL01_60 *(q+1) = interpolate16_3<bitFormat,5,2,1>(w[5], w[6], w[2]);
+#define PIXEL01_61 *(q+1) = interpolate16_3<bitFormat,5,2,1>(w[5], w[2], w[6]);
+#define PIXEL01_70 *(q+1) = interpolate16_3<bitFormat,6,1,1>(w[5], w[2], w[6]);
+#define PIXEL01_90 *(q+1) = interpolate16_3<bitFormat,2,3,3>(w[5], w[2], w[6]);
+#define PIXEL01_100 *(q+1) = interpolate16_3<bitFormat,14,1,1>(w[5], w[2], w[6]);
-#define PIXEL10_0 *(q+nextlineDst) = w[5];
-#define PIXEL10_10 *(q+nextlineDst) = interpolate16_2<bitFormat,3,1>(w[5], w[7]);
-#define PIXEL10_11 *(q+nextlineDst) = interpolate16_2<bitFormat,3,1>(w[5], w[8]);
-#define PIXEL10_12 *(q+nextlineDst) = interpolate16_2<bitFormat,3,1>(w[5], w[4]);
-#define PIXEL10_20 *(q+nextlineDst) = interpolate16_3<bitFormat,2,1,1>(w[5], w[8], w[4]);
-#define PIXEL10_30 *(q+nextlineDst) = interpolate16_3<bitFormat,6,1,1>(w[5], w[8], w[4]);
-#define PIXEL10_40 *(q+nextlineDst) = interpolate16_3<bitFormat,14,1,1>(w[5], w[8], w[4]);
-#define PIXEL10_50 *(q+nextlineDst) = interpolate16_3<bitFormat,5,2,1>(w[5], w[4], w[8]);
-#define PIXEL10_51 *(q+nextlineDst) = interpolate16_3<bitFormat,5,2,1>(w[5], w[8], w[4]);
-#define PIXEL10_60 *(q+nextlineDst) = interpolate16_3<bitFormat,2,3,3>(w[5], w[8], w[4]);
+#define PIXEL10_0 *(q+nextlineDst) = w[5];
+#define PIXEL10_10 *(q+nextlineDst) = interpolate16_2<bitFormat,3,1>(w[5], w[7]);
+#define PIXEL10_11 *(q+nextlineDst) = interpolate16_2<bitFormat,3,1>(w[5], w[8]);
+#define PIXEL10_12 *(q+nextlineDst) = interpolate16_2<bitFormat,3,1>(w[5], w[4]);
+#define PIXEL10_20 *(q+nextlineDst) = interpolate16_3<bitFormat,2,1,1>(w[5], w[8], w[4]);
+#define PIXEL10_21 *(q+nextlineDst) = interpolate16_3<bitFormat,2,1,1>(w[5], w[7], w[4]);
+#define PIXEL10_22 *(q+nextlineDst) = interpolate16_3<bitFormat,2,1,1>(w[5], w[7], w[8]);
+#define PIXEL10_60 *(q+nextlineDst) = interpolate16_3<bitFormat,5,2,1>(w[5], w[4], w[8]);
+#define PIXEL10_61 *(q+nextlineDst) = interpolate16_3<bitFormat,5,2,1>(w[5], w[8], w[4]);
+#define PIXEL10_70 *(q+nextlineDst) = interpolate16_3<bitFormat,6,1,1>(w[5], w[8], w[4]);
+#define PIXEL10_90 *(q+nextlineDst) = interpolate16_3<bitFormat,2,3,3>(w[5], w[8], w[4]);
+#define PIXEL10_100 *(q+nextlineDst) = interpolate16_3<bitFormat,14,1,1>(w[5], w[8], w[4]);
-#define PIXEL11_0 *(q+1+nextlineDst) = w[5];
-#define PIXEL11_10 *(q+1+nextlineDst) = interpolate16_2<bitFormat,3,1>(w[5], w[9]);
-#define PIXEL11_11 *(q+1+nextlineDst) = interpolate16_2<bitFormat,3,1>(w[5], w[6]);
-#define PIXEL11_12 *(q+1+nextlineDst) = interpolate16_2<bitFormat,3,1>(w[5], w[8]);
-#define PIXEL11_20 *(q+1+nextlineDst) = interpolate16_3<bitFormat,2,1,1>(w[5], w[6], w[8]);
-#define PIXEL11_30 *(q+1+nextlineDst) = interpolate16_3<bitFormat,6,1,1>(w[5], w[6], w[8]);
-#define PIXEL11_40 *(q+1+nextlineDst) = interpolate16_3<bitFormat,14,1,1>(w[5], w[6], w[8]);
-#define PIXEL11_50 *(q+1+nextlineDst) = interpolate16_3<bitFormat,5,2,1>(w[5], w[8], w[6]);
-#define PIXEL11_51 *(q+1+nextlineDst) = interpolate16_3<bitFormat,5,2,1>(w[5], w[6], w[8]);
-#define PIXEL11_60 *(q+1+nextlineDst) = interpolate16_3<bitFormat,2,3,3>(w[5], w[6], w[8]);
+#define PIXEL11_0 *(q+1+nextlineDst) = w[5];
+#define PIXEL11_10 *(q+1+nextlineDst) = interpolate16_2<bitFormat,3,1>(w[5], w[9]);
+#define PIXEL11_11 *(q+1+nextlineDst) = interpolate16_2<bitFormat,3,1>(w[5], w[6]);
+#define PIXEL11_12 *(q+1+nextlineDst) = interpolate16_2<bitFormat,3,1>(w[5], w[8]);
+#define PIXEL11_20 *(q+1+nextlineDst) = interpolate16_3<bitFormat,2,1,1>(w[5], w[6], w[8]);
+#define PIXEL11_21 *(q+1+nextlineDst) = interpolate16_3<bitFormat,2,1,1>(w[5], w[9], w[8]);
+#define PIXEL11_22 *(q+1+nextlineDst) = interpolate16_3<bitFormat,2,1,1>(w[5], w[9], w[6]);
+#define PIXEL11_60 *(q+1+nextlineDst) = interpolate16_3<bitFormat,5,2,1>(w[5], w[8], w[6]);
+#define PIXEL11_61 *(q+1+nextlineDst) = interpolate16_3<bitFormat,5,2,1>(w[5], w[6], w[8]);
+#define PIXEL11_70 *(q+1+nextlineDst) = interpolate16_3<bitFormat,6,1,1>(w[5], w[6], w[8]);
+#define PIXEL11_90 *(q+1+nextlineDst) = interpolate16_3<bitFormat,2,3,3>(w[5], w[6], w[8]);
+#define PIXEL11_100 *(q+1+nextlineDst) = interpolate16_3<bitFormat,14,1,1>(w[5], w[6], w[8]);
+
+#define YUV(x) RGBtoYUV[w[x]]
/**
* The HQ2x high quality 2x graphics filter.
@@ -74,7 +84,6 @@
template<int bitFormat>
void HQ2x(const uint8 *srcPtr, uint32 srcPitch, uint8 *dstPtr, uint32 dstPitch, int width, int height) {
int w[10];
- int yuv[10];
const uint32 nextlineSrc = srcPitch / sizeof(uint16);
const uint16 *p = (const uint16 *)srcPtr;
@@ -94,42 +103,41 @@ void HQ2x(const uint8 *srcPtr, uint32 srcPitch, uint8 *dstPtr, uint32 dstPitch,
// +----+----+----+
while (height--) {
- w[2] = *(p - 1 - nextlineSrc); yuv[2] = RGBtoYUV[w[2]];
- w[5] = *(p - 1); yuv[5] = RGBtoYUV[w[5]];
- w[8] = *(p - 1 + nextlineSrc); yuv[8] = RGBtoYUV[w[8]];
+ w[2] = *(p - 1 - nextlineSrc);
+ w[5] = *(p - 1);
+ w[8] = *(p - 1 + nextlineSrc);
- w[3] = *(p - nextlineSrc); yuv[3] = RGBtoYUV[w[3]];
- w[6] = *(p); yuv[6] = RGBtoYUV[w[6]];
- w[9] = *(p + nextlineSrc); yuv[9] = RGBtoYUV[w[9]];
+ w[3] = *(p - nextlineSrc);
+ w[6] = *(p);
+ w[9] = *(p + nextlineSrc);
int tmpWidth = width;
while (tmpWidth--) {
p++;
- w[1] = w[2]; yuv[1] = yuv[2];
- w[4] = w[5]; yuv[4] = yuv[5];
- w[7] = w[8]; yuv[7] = yuv[8];
+ w[1] = w[2];
+ w[4] = w[5];
+ w[7] = w[8];
- w[2] = w[3]; yuv[2] = yuv[3];
- w[5] = w[6]; yuv[5] = yuv[6];
- w[8] = w[9]; yuv[8] = yuv[9];
+ w[2] = w[3];
+ w[5] = w[6];
+ w[8] = w[9];
- w[3] = *(p - nextlineSrc); yuv[3] = RGBtoYUV[w[3]];
- w[6] = *(p); yuv[6] = RGBtoYUV[w[6]];
- w[9] = *(p + nextlineSrc); yuv[9] = RGBtoYUV[w[9]];
+ w[3] = *(p - nextlineSrc);
+ w[6] = *(p);
+ w[9] = *(p + nextlineSrc);
int pattern = 0;
- int flag = 1;
-
- for (int k = 1; k <= 9; k++) {
- if (k == 5) continue;
+ const int yuv5 = YUV(5);
- if (w[k] != w[5]) {
- if (diffYUV(yuv[5], yuv[k]))
- pattern |= flag;
- }
- flag <<= 1;
- }
+ if (w[5] != w[1] && diffYUV(yuv5, YUV(1))) pattern |= 0x0001;
+ if (w[5] != w[2] && diffYUV(yuv5, YUV(2))) pattern |= 0x0002;
+ if (w[5] != w[3] && diffYUV(yuv5, YUV(3))) pattern |= 0x0004;
+ if (w[5] != w[4] && diffYUV(yuv5, YUV(4))) pattern |= 0x0008;
+ if (w[5] != w[6] && diffYUV(yuv5, YUV(6))) pattern |= 0x0010;
+ if (w[5] != w[7] && diffYUV(yuv5, YUV(7))) pattern |= 0x0020;
+ if (w[5] != w[8] && diffYUV(yuv5, YUV(8))) pattern |= 0x0040;
+ if (w[5] != w[9] && diffYUV(yuv5, YUV(9))) pattern |= 0x0080;
switch (pattern) {
case 0:
@@ -157,8 +165,8 @@ void HQ2x(const uint8 *srcPtr, uint32 srcPitch, uint8 *dstPtr, uint32 dstPitch,
case 34:
case 130:
case 162:
- PIXEL00_10
- PIXEL01_10
+ PIXEL00_22
+ PIXEL01_21
PIXEL10_20
PIXEL11_20
break;
@@ -167,9 +175,9 @@ void HQ2x(const uint8 *srcPtr, uint32 srcPitch, uint8 *dstPtr, uint32 dstPitch,
case 48:
case 49:
PIXEL00_20
- PIXEL01_10
+ PIXEL01_22
PIXEL10_20
- PIXEL11_10
+ PIXEL11_21
break;
case 64:
case 65:
@@ -177,16 +185,16 @@ void HQ2x(const uint8 *srcPtr, uint32 srcPitch, uint8 *dstPtr, uint32 dstPitch,
case 69:
PIXEL00_20
PIXEL01_20
- PIXEL10_10
- PIXEL11_10
+ PIXEL10_21
+ PIXEL11_22
break;
case 8:
case 12:
case 136:
case 140:
- PIXEL00_10
+ PIXEL00_21
PIXEL01_20
- PIXEL10_10
+ PIXEL10_22
PIXEL11_20
break;
case 3:
@@ -194,7 +202,7 @@ void HQ2x(const uint8 *srcPtr, uint32 srcPitch, uint8 *dstPtr, uint32 dstPitch,
case 131:
case 163:
PIXEL00_11
- PIXEL01_10
+ PIXEL01_21
PIXEL10_20
PIXEL11_20
break;
@@ -202,7 +210,7 @@ void HQ2x(const uint8 *srcPtr, uint32 srcPitch, uint8 *dstPtr, uint32 dstPitch,
case 38:
case 134:
case 166:
- PIXEL00_10
+ PIXEL00_22
PIXEL01_12
PIXEL10_20
PIXEL11_20
@@ -214,14 +222,14 @@ void HQ2x(const uint8 *srcPtr, uint32 srcPitch, uint8 *dstPtr, uint32 dstPitch,
PIXEL00_20
PIXEL01_11
PIXEL10_20
- PIXEL11_10
+ PIXEL11_21
break;
case 144:
case 145:
case 176:
case 177:
PIXEL00_20
- PIXEL01_10
+ PIXEL01_22
PIXEL10_20
PIXEL11_12
break;
@@ -231,7 +239,7 @@ void HQ2x(const uint8 *srcPtr, uint32 srcPitch, uint8 *dstPtr, uint32 dstPitch,
case 197:
PIXEL00_20
PIXEL01_20
- PIXEL10_10
+ PIXEL10_21
PIXEL11_11
break;
case 96:
@@ -241,13 +249,13 @@ void HQ2x(const uint8 *srcPtr, uint32 srcPitch, uint8 *dstPtr, uint32 dstPitch,
PIXEL00_20
PIXEL01_20
PIXEL10_12
- PIXEL11_10
+ PIXEL11_22
break;
case 40:
case 44:
case 168:
case 172:
- PIXEL00_10
+ PIXEL00_21
PIXEL01_20
PIXEL10_11
PIXEL11_20
@@ -258,26 +266,26 @@ void HQ2x(const uint8 *srcPtr, uint32 srcPitch, uint8 *dstPtr, uint32 dstPitch,
case 141:
PIXEL00_12
PIXEL01_20
- PIXEL10_10
+ PIXEL10_22
PIXEL11_20
break;
case 18:
case 50:
- PIXEL00_10
- if (diffYUV(yuv[2], yuv[6])) {
+ PIXEL00_22
+ if (diffYUV(YUV(2), YUV(6))) {
PIXEL01_10
} else {
PIXEL01_20
}
PIXEL10_20
- PIXEL11_10
+ PIXEL11_21
break;
case 80:
case 81:
PIXEL00_20
- PIXEL01_10
- PIXEL10_10
- if (diffYUV(yuv[6], yuv[8])) {
+ PIXEL01_22
+ PIXEL10_21
+ if (diffYUV(YUV(6), YUV(8))) {
PIXEL11_10
} else {
PIXEL11_20
@@ -285,37 +293,37 @@ void HQ2x(const uint8 *srcPtr, uint32 srcPitch, uint8 *dstPtr, uint32 dstPitch,
break;
case 72:
case 76:
- PIXEL00_10
+ PIXEL00_21
PIXEL01_20
- if (diffYUV(yuv[8], yuv[4])) {
+ if (diffYUV(YUV(8), YUV(4))) {
PIXEL10_10
} else {
PIXEL10_20
}
- PIXEL11_10
+ PIXEL11_22
break;
case 10:
case 138:
- if (diffYUV(yuv[4], yuv[2])) {
+ if (diffYUV(YUV(4), YUV(2))) {
PIXEL00_10
} else {
PIXEL00_20
}
- PIXEL01_10
- PIXEL10_10
+ PIXEL01_21
+ PIXEL10_22
PIXEL11_20
break;
case 66:
- PIXEL00_10
- PIXEL01_10
- PIXEL10_10
- PIXEL11_10
+ PIXEL00_22
+ PIXEL01_21
+ PIXEL10_21
+ PIXEL11_22
break;
case 24:
- PIXEL00_10
- PIXEL01_10
- PIXEL10_10
- PIXEL11_10
+ PIXEL00_21
+ PIXEL01_22
+ PIXEL10_22
+ PIXEL11_21
break;
case 7:
case 39:
@@ -351,21 +359,21 @@ void HQ2x(const uint8 *srcPtr, uint32 srcPitch, uint8 *dstPtr, uint32 dstPitch,
break;
case 22:
case 54:
- PIXEL00_10
- if (diffYUV(yuv[2], yuv[6])) {
+ PIXEL00_22
+ if (diffYUV(YUV(2), YUV(6))) {
PIXEL01_0
} else {
PIXEL01_20
}
PIXEL10_20
- PIXEL11_10
+ PIXEL11_21
break;
case 208:
case 209:
PIXEL00_20
- PIXEL01_10
- PIXEL10_10
- if (diffYUV(yuv[6], yuv[8])) {
+ PIXEL01_22
+ PIXEL10_21
+ if (diffYUV(YUV(6), YUV(8))) {
PIXEL11_0
} else {
PIXEL11_20
@@ -373,195 +381,195 @@ void HQ2x(const uint8 *srcPtr, uint32 srcPitch, uint8 *dstPtr, uint32 dstPitch,
break;
case 104:
case 108:
- PIXEL00_10
+ PIXEL00_21
PIXEL01_20
- if (diffYUV(yuv[8], yuv[4])) {
+ if (diffYUV(YUV(8), YUV(4))) {
PIXEL10_0
} else {
PIXEL10_20
}
- PIXEL11_10
+ PIXEL11_22
break;
case 11:
case 139:
- if (diffYUV(yuv[4], yuv[2])) {
+ if (diffYUV(YUV(4), YUV(2))) {
PIXEL00_0
} else {
PIXEL00_20
}
- PIXEL01_10
- PIXEL10_10
+ PIXEL01_21
+ PIXEL10_22
PIXEL11_20
break;
case 19:
case 51:
- if (diffYUV(yuv[2], yuv[6])) {
+ if (diffYUV(YUV(2), YUV(6))) {
PIXEL00_11
PIXEL01_10
} else {
- PIXEL00_50
- PIXEL01_60
+ PIXEL00_60
+ PIXEL01_90
}
PIXEL10_20
- PIXEL11_10
+ PIXEL11_21
break;
case 146:
case 178:
- PIXEL00_10
- if (diffYUV(yuv[2], yuv[6])) {
+ PIXEL00_22
+ if (diffYUV(YUV(2), YUV(6))) {
PIXEL01_10
PIXEL11_12
} else {
- PIXEL01_60
- PIXEL11_51
+ PIXEL01_90
+ PIXEL11_61
}
PIXEL10_20
break;
case 84:
case 85:
PIXEL00_20
- if (diffYUV(yuv[6], yuv[8])) {
+ if (diffYUV(YUV(6), YUV(8))) {
PIXEL01_11
PIXEL11_10
} else {
- PIXEL01_50
- PIXEL11_60
+ PIXEL01_60
+ PIXEL11_90
}
- PIXEL10_10
+ PIXEL10_21
break;
case 112:
case 113:
PIXEL00_20
- PIXEL01_10
- if (diffYUV(yuv[6], yuv[8])) {
+ PIXEL01_22
+ if (diffYUV(YUV(6), YUV(8))) {
PIXEL10_12
PIXEL11_10
} else {
- PIXEL10_51
- PIXEL11_60
+ PIXEL10_61
+ PIXEL11_90
}
break;
case 200:
case 204:
- PIXEL00_10
+ PIXEL00_21
PIXEL01_20
- if (diffYUV(yuv[8], yuv[4])) {
+ if (diffYUV(YUV(8), YUV(4))) {
PIXEL10_10
PIXEL11_11
} else {
- PIXEL10_60
- PIXEL11_50
+ PIXEL10_90
+ PIXEL11_60
}
break;
case 73:
case 77:
- if (diffYUV(yuv[8], yuv[4])) {
+ if (diffYUV(YUV(8), YUV(4))) {
PIXEL00_12
PIXEL10_10
} else {
- PIXEL00_51
- PIXEL10_60
+ PIXEL00_61
+ PIXEL10_90
}
PIXEL01_20
- PIXEL11_10
+ PIXEL11_22
break;
case 42:
case 170:
- if (diffYUV(yuv[4], yuv[2])) {
+ if (diffYUV(YUV(4), YUV(2))) {
PIXEL00_10
PIXEL10_11
} else {
- PIXEL00_60
- PIXEL10_50
+ PIXEL00_90
+ PIXEL10_60
}
- PIXEL01_10
+ PIXEL01_21
PIXEL11_20
break;
case 14:
case 142:
- if (diffYUV(yuv[4], yuv[2])) {
+ if (diffYUV(YUV(4), YUV(2))) {
PIXEL00_10
PIXEL01_12
} else {
- PIXEL00_60
- PIXEL01_51
+ PIXEL00_90
+ PIXEL01_61
}
- PIXEL10_10
+ PIXEL10_22
PIXEL11_20
break;
case 67:
PIXEL00_11
- PIXEL01_10
- PIXEL10_10
- PIXEL11_10
+ PIXEL01_21
+ PIXEL10_21
+ PIXEL11_22
break;
case 70:
- PIXEL00_10
+ PIXEL00_22
PIXEL01_12
- PIXEL10_10
- PIXEL11_10
+ PIXEL10_21
+ PIXEL11_22
break;
case 28:
- PIXEL00_10
+ PIXEL00_21
PIXEL01_11
- PIXEL10_10
- PIXEL11_10
+ PIXEL10_22
+ PIXEL11_21
break;
case 152:
- PIXEL00_10
- PIXEL01_10
- PIXEL10_10
+ PIXEL00_21
+ PIXEL01_22
+ PIXEL10_22
PIXEL11_12
break;
case 194:
- PIXEL00_10
- PIXEL01_10
- PIXEL10_10
+ PIXEL00_22
+ PIXEL01_21
+ PIXEL10_21
PIXEL11_11
break;
case 98:
- PIXEL00_10
- PIXEL01_10
+ PIXEL00_22
+ PIXEL01_21
PIXEL10_12
- PIXEL11_10
+ PIXEL11_22
break;
case 56:
- PIXEL00_10
- PIXEL01_10
+ PIXEL00_21
+ PIXEL01_22
PIXEL10_11
- PIXEL11_10
+ PIXEL11_21
break;
case 25:
PIXEL00_12
- PIXEL01_10
- PIXEL10_10
- PIXEL11_10
+ PIXEL01_22
+ PIXEL10_22
+ PIXEL11_21
break;
case 26:
case 31:
- if (diffYUV(yuv[4], yuv[2])) {
+ if (diffYUV(YUV(4), YUV(2))) {
PIXEL00_0
} else {
PIXEL00_20
}
- if (diffYUV(yuv[2], yuv[6])) {
+ if (diffYUV(YUV(2), YUV(6))) {
PIXEL01_0
} else {
PIXEL01_20
}
- PIXEL10_10
- PIXEL11_10
+ PIXEL10_22
+ PIXEL11_21
break;
case 82:
case 214:
- PIXEL00_10
- if (diffYUV(yuv[2], yuv[6])) {
+ PIXEL00_22
+ if (diffYUV(YUV(2), YUV(6))) {
PIXEL01_0
} else {
PIXEL01_20
}
- PIXEL10_10
- if (diffYUV(yuv[6], yuv[8])) {
+ PIXEL10_21
+ if (diffYUV(YUV(6), YUV(8))) {
PIXEL11_0
} else {
PIXEL11_20
@@ -569,14 +577,14 @@ void HQ2x(const uint8 *srcPtr, uint32 srcPitch, uint8 *dstPtr, uint32 dstPitch,
break;
case 88:
case 248:
- PIXEL00_10
- PIXEL01_10
- if (diffYUV(yuv[8], yuv[4])) {
+ PIXEL00_21
+ PIXEL01_22
+ if (diffYUV(YUV(8), YUV(4))) {
PIXEL10_0
} else {
PIXEL10_20
}
- if (diffYUV(yuv[6], yuv[8])) {
+ if (diffYUV(YUV(6), YUV(8))) {
PIXEL11_0
} else {
PIXEL11_20
@@ -584,44 +592,44 @@ void HQ2x(const uint8 *srcPtr, uint32 srcPitch, uint8 *dstPtr, uint32 dstPitch,
break;
case 74:
case 107:
- if (diffYUV(yuv[4], yuv[2])) {
+ if (diffYUV(YUV(4), YUV(2))) {
PIXEL00_0
} else {
PIXEL00_20
}
- PIXEL01_10
- if (diffYUV(yuv[8], yuv[4])) {
+ PIXEL01_21
+ if (diffYUV(YUV(8), YUV(4))) {
PIXEL10_0
} else {
PIXEL10_20
}
- PIXEL11_10
+ PIXEL11_22
break;
case 27:
- if (diffYUV(yuv[4], yuv[2])) {
+ if (diffYUV(YUV(4), YUV(2))) {
PIXEL00_0
} else {
PIXEL00_20
}
PIXEL01_10
- PIXEL10_10
- PIXEL11_10
+ PIXEL10_22
+ PIXEL11_21
break;
case 86:
- PIXEL00_10
- if (diffYUV(yuv[2], yuv[6])) {
+ PIXEL00_22
+ if (diffYUV(YUV(2), YUV(6))) {
PIXEL01_0
} else {
PIXEL01_20
}
- PIXEL10_10
+ PIXEL10_21
PIXEL11_10
break;
case 216:
- PIXEL00_10
- PIXEL01_10
+ PIXEL00_21
+ PIXEL01_22
PIXEL10_10
- if (diffYUV(yuv[6], yuv[8])) {
+ if (diffYUV(YUV(6), YUV(8))) {
PIXEL11_0
} else {
PIXEL11_20
@@ -629,38 +637,38 @@ void HQ2x(const uint8 *srcPtr, uint32 srcPitch, uint8 *dstPtr, uint32 dstPitch,
break;
case 106:
PIXEL00_10
- PIXEL01_10
- if (diffYUV(yuv[8], yuv[4])) {
+ PIXEL01_21
+ if (diffYUV(YUV(8), YUV(4))) {
PIXEL10_0
} else {
PIXEL10_20
}
- PIXEL11_10
+ PIXEL11_22
break;
case 30:
PIXEL00_10
- if (diffYUV(yuv[2], yuv[6])) {
+ if (diffYUV(YUV(2), YUV(6))) {
PIXEL01_0
} else {
PIXEL01_20
}
- PIXEL10_10
- PIXEL11_10
+ PIXEL10_22
+ PIXEL11_21
break;
case 210:
- PIXEL00_10
+ PIXEL00_22
PIXEL01_10
- PIXEL10_10
- if (diffYUV(yuv[6], yuv[8])) {
+ PIXEL10_21
+ if (diffYUV(YUV(6), YUV(8))) {
PIXEL11_0
} else {
PIXEL11_20
}
break;
case 120:
- PIXEL00_10
- PIXEL01_10
- if (diffYUV(yuv[8], yuv[4])) {
+ PIXEL00_21
+ PIXEL01_22
+ if (diffYUV(YUV(8), YUV(4))) {
PIXEL10_0
} else {
PIXEL10_20
@@ -668,321 +676,321 @@ void HQ2x(const uint8 *srcPtr, uint32 srcPitch, uint8 *dstPtr, uint32 dstPitch,
PIXEL11_10
break;
case 75:
- if (diffYUV(yuv[4], yuv[2])) {
+ if (diffYUV(YUV(4), YUV(2))) {
PIXEL00_0
} else {
PIXEL00_20
}
- PIXEL01_10
+ PIXEL01_21
PIXEL10_10
- PIXEL11_10
+ PIXEL11_22
break;
case 29:
PIXEL00_12
PIXEL01_11
- PIXEL10_10
- PIXEL11_10
+ PIXEL10_22
+ PIXEL11_21
break;
case 198:
- PIXEL00_10
+ PIXEL00_22
PIXEL01_12
- PIXEL10_10
+ PIXEL10_21
PIXEL11_11
break;
case 184:
- PIXEL00_10
- PIXEL01_10
+ PIXEL00_21
+ PIXEL01_22
PIXEL10_11
PIXEL11_12
break;
case 99:
PIXEL00_11
- PIXEL01_10
+ PIXEL01_21
PIXEL10_12
- PIXEL11_10
+ PIXEL11_22
break;
case 57:
PIXEL00_12
- PIXEL01_10
+ PIXEL01_22
PIXEL10_11
- PIXEL11_10
+ PIXEL11_21
break;
case 71:
PIXEL00_11
PIXEL01_12
- PIXEL10_10
- PIXEL11_10
+ PIXEL10_21
+ PIXEL11_22
break;
case 156:
- PIXEL00_10
+ PIXEL00_21
PIXEL01_11
- PIXEL10_10
+ PIXEL10_22
PIXEL11_12
break;
case 226:
- PIXEL00_10
- PIXEL01_10
+ PIXEL00_22
+ PIXEL01_21
PIXEL10_12
PIXEL11_11
break;
case 60:
- PIXEL00_10
+ PIXEL00_21
PIXEL01_11
PIXEL10_11
- PIXEL11_10
+ PIXEL11_21
break;
case 195:
PIXEL00_11
- PIXEL01_10
- PIXEL10_10
+ PIXEL01_21
+ PIXEL10_21
PIXEL11_11
break;
case 102:
- PIXEL00_10
+ PIXEL00_22
PIXEL01_12
PIXEL10_12
- PIXEL11_10
+ PIXEL11_22
break;
case 153:
PIXEL00_12
- PIXEL01_10
- PIXEL10_10
+ PIXEL01_22
+ PIXEL10_22
PIXEL11_12
break;
case 58:
- if (diffYUV(yuv[4], yuv[2])) {
+ if (diffYUV(YUV(4), YUV(2))) {
PIXEL00_10
} else {
- PIXEL00_30
+ PIXEL00_70
}
- if (diffYUV(yuv[2], yuv[6])) {
+ if (diffYUV(YUV(2), YUV(6))) {
PIXEL01_10
} else {
- PIXEL01_30
+ PIXEL01_70
}
PIXEL10_11
- PIXEL11_10
+ PIXEL11_21
break;
case 83:
PIXEL00_11
- if (diffYUV(yuv[2], yuv[6])) {
+ if (diffYUV(YUV(2), YUV(6))) {
PIXEL01_10
} else {
- PIXEL01_30
+ PIXEL01_70
}
- PIXEL10_10
- if (diffYUV(yuv[6], yuv[8])) {
+ PIXEL10_21
+ if (diffYUV(YUV(6), YUV(8))) {
PIXEL11_10
} else {
- PIXEL11_30
+ PIXEL11_70
}
break;
case 92:
- PIXEL00_10
+ PIXEL00_21
PIXEL01_11
- if (diffYUV(yuv[8], yuv[4])) {
+ if (diffYUV(YUV(8), YUV(4))) {
PIXEL10_10
} else {
- PIXEL10_30
+ PIXEL10_70
}
- if (diffYUV(yuv[6], yuv[8])) {
+ if (diffYUV(YUV(6), YUV(8))) {
PIXEL11_10
} else {
- PIXEL11_30
+ PIXEL11_70
}
break;
case 202:
- if (diffYUV(yuv[4], yuv[2])) {
+ if (diffYUV(YUV(4), YUV(2))) {
PIXEL00_10
} else {
- PIXEL00_30
+ PIXEL00_70
}
- PIXEL01_10
- if (diffYUV(yuv[8], yuv[4])) {
+ PIXEL01_21
+ if (diffYUV(YUV(8), YUV(4))) {
PIXEL10_10
} else {
- PIXEL10_30
+ PIXEL10_70
}
PIXEL11_11
break;
case 78:
- if (diffYUV(yuv[4], yuv[2])) {
+ if (diffYUV(YUV(4), YUV(2))) {
PIXEL00_10
} else {
- PIXEL00_30
+ PIXEL00_70
}
PIXEL01_12
- if (diffYUV(yuv[8], yuv[4])) {
+ if (diffYUV(YUV(8), YUV(4))) {
PIXEL10_10
} else {
- PIXEL10_30
+ PIXEL10_70
}
- PIXEL11_10
+ PIXEL11_22
break;
case 154:
- if (diffYUV(yuv[4], yuv[2])) {
+ if (diffYUV(YUV(4), YUV(2))) {
PIXEL00_10
} else {
- PIXEL00_30
+ PIXEL00_70
}
- if (diffYUV(yuv[2], yuv[6])) {
+ if (diffYUV(YUV(2), YUV(6))) {
PIXEL01_10
} else {
- PIXEL01_30
+ PIXEL01_70
}
- PIXEL10_10
+ PIXEL10_22
PIXEL11_12
break;
case 114:
- PIXEL00_10
- if (diffYUV(yuv[2], yuv[6])) {
+ PIXEL00_22
+ if (diffYUV(YUV(2), YUV(6))) {
PIXEL01_10
} else {
- PIXEL01_30
+ PIXEL01_70
}
PIXEL10_12
- if (diffYUV(yuv[6], yuv[8])) {
+ if (diffYUV(YUV(6), YUV(8))) {
PIXEL11_10
} else {
- PIXEL11_30
+ PIXEL11_70
}
break;
case 89:
PIXEL00_12
- PIXEL01_10
- if (diffYUV(yuv[8], yuv[4])) {
+ PIXEL01_22
+ if (diffYUV(YUV(8), YUV(4))) {
PIXEL10_10
} else {
- PIXEL10_30
+ PIXEL10_70
}
- if (diffYUV(yuv[6], yuv[8])) {
+ if (diffYUV(YUV(6), YUV(8))) {
PIXEL11_10
} else {
- PIXEL11_30
+ PIXEL11_70
}
break;
case 90:
- if (diffYUV(yuv[4], yuv[2])) {
+ if (diffYUV(YUV(4), YUV(2))) {
PIXEL00_10
} else {
- PIXEL00_30
+ PIXEL00_70
}
- if (diffYUV(yuv[2], yuv[6])) {
+ if (diffYUV(YUV(2), YUV(6))) {
PIXEL01_10
} else {
- PIXEL01_30
+ PIXEL01_70
}
- if (diffYUV(yuv[8], yuv[4])) {
+ if (diffYUV(YUV(8), YUV(4))) {
PIXEL10_10
} else {
- PIXEL10_30
+ PIXEL10_70
}
- if (diffYUV(yuv[6], yuv[8])) {
+ if (diffYUV(YUV(6), YUV(8))) {
PIXEL11_10
} else {
- PIXEL11_30
+ PIXEL11_70
}
break;
case 55:
case 23:
- if (diffYUV(yuv[2], yuv[6])) {
+ if (diffYUV(YUV(2), YUV(6))) {
PIXEL00_11
PIXEL01_0
} else {
- PIXEL00_50
- PIXEL01_60
+ PIXEL00_60
+ PIXEL01_90
}
PIXEL10_20
- PIXEL11_10
+ PIXEL11_21
break;
case 182:
case 150:
- PIXEL00_10
- if (diffYUV(yuv[2], yuv[6])) {
+ PIXEL00_22
+ if (diffYUV(YUV(2), YUV(6))) {
PIXEL01_0
PIXEL11_12
} else {
- PIXEL01_60
- PIXEL11_51
+ PIXEL01_90
+ PIXEL11_61
}
PIXEL10_20
break;
case 213:
case 212:
PIXEL00_20
- if (diffYUV(yuv[6], yuv[8])) {
+ if (diffYUV(YUV(6), YUV(8))) {
PIXEL01_11
PIXEL11_0
} else {
- PIXEL01_50
- PIXEL11_60
+ PIXEL01_60
+ PIXEL11_90
}
- PIXEL10_10
+ PIXEL10_21
break;
case 241:
case 240:
PIXEL00_20
- PIXEL01_10
- if (diffYUV(yuv[6], yuv[8])) {
+ PIXEL01_22
+ if (diffYUV(YUV(6), YUV(8))) {
PIXEL10_12
PIXEL11_0
} else {
- PIXEL10_51
- PIXEL11_60
+ PIXEL10_61
+ PIXEL11_90
}
break;
case 236:
case 232:
- PIXEL00_10
+ PIXEL00_21
PIXEL01_20
- if (diffYUV(yuv[8], yuv[4])) {
+ if (diffYUV(YUV(8), YUV(4))) {
PIXEL10_0
PIXEL11_11
} else {
- PIXEL10_60
- PIXEL11_50
+ PIXEL10_90
+ PIXEL11_60
}
break;
case 109:
case 105:
- if (diffYUV(yuv[8], yuv[4])) {
+ if (diffYUV(YUV(8), YUV(4))) {
PIXEL00_12
PIXEL10_0
} else {
- PIXEL00_51
- PIXEL10_60
+ PIXEL00_61
+ PIXEL10_90
}
PIXEL01_20
- PIXEL11_10
+ PIXEL11_22
break;
case 171:
case 43:
- if (diffYUV(yuv[4], yuv[2])) {
+ if (diffYUV(YUV(4), YUV(2))) {
PIXEL00_0
PIXEL10_11
} else {
- PIXEL00_60
- PIXEL10_50
+ PIXEL00_90
+ PIXEL10_60
}
- PIXEL01_10
+ PIXEL01_21
PIXEL11_20
break;
case 143:
case 15:
- if (diffYUV(yuv[4], yuv[2])) {
+ if (diffYUV(YUV(4), YUV(2))) {
PIXEL00_0
PIXEL01_12
} else {
- PIXEL00_60
- PIXEL01_51
+ PIXEL00_90
+ PIXEL01_61
}
- PIXEL10_10
+ PIXEL10_22
PIXEL11_20
break;
case 124:
- PIXEL00_10
+ PIXEL00_21
PIXEL01_11
- if (diffYUV(yuv[8], yuv[4])) {
+ if (diffYUV(YUV(8), YUV(4))) {
PIXEL10_0
} else {
PIXEL10_20
@@ -990,38 +998,38 @@ void HQ2x(const uint8 *srcPtr, uint32 srcPitch, uint8 *dstPtr, uint32 dstPitch,
PIXEL11_10
break;
case 203:
- if (diffYUV(yuv[4], yuv[2])) {
+ if (diffYUV(YUV(4), YUV(2))) {
PIXEL00_0
} else {
PIXEL00_20
}
- PIXEL01_10
+ PIXEL01_21
PIXEL10_10
PIXEL11_11
break;
case 62:
PIXEL00_10
- if (diffYUV(yuv[2], yuv[6])) {
+ if (diffYUV(YUV(2), YUV(6))) {
PIXEL01_0
} else {
PIXEL01_20
}
PIXEL10_11
- PIXEL11_10
+ PIXEL11_21
break;
case 211:
PIXEL00_11
PIXEL01_10
- PIXEL10_10
- if (diffYUV(yuv[6], yuv[8])) {
+ PIXEL10_21
+ if (diffYUV(YUV(6), YUV(8))) {
PIXEL11_0
} else {
PIXEL11_20
}
break;
case 118:
- PIXEL00_10
- if (diffYUV(yuv[2], yuv[6])) {
+ PIXEL00_22
+ if (diffYUV(YUV(2), YUV(6))) {
PIXEL01_0
} else {
PIXEL01_20
@@ -1031,9 +1039,9 @@ void HQ2x(const uint8 *srcPtr, uint32 srcPitch, uint8 *dstPtr, uint32 dstPitch,
break;
case 217:
PIXEL00_12
- PIXEL01_10
+ PIXEL01_22
PIXEL10_10
- if (diffYUV(yuv[6], yuv[8])) {
+ if (diffYUV(YUV(6), YUV(8))) {
PIXEL11_0
} else {
PIXEL11_20
@@ -1042,32 +1050,32 @@ void HQ2x(const uint8 *srcPtr, uint32 srcPitch, uint8 *dstPtr, uint32 dstPitch,
case 110:
PIXEL00_10
PIXEL01_12
- if (diffYUV(yuv[8], yuv[4])) {
+ if (diffYUV(YUV(8), YUV(4))) {
PIXEL10_0
} else {
PIXEL10_20
}
- PIXEL11_10
+ PIXEL11_22
break;
case 155:
- if (diffYUV(yuv[4], yuv[2])) {
+ if (diffYUV(YUV(4), YUV(2))) {
PIXEL00_0
} else {
PIXEL00_20
}
PIXEL01_10
- PIXEL10_10
+ PIXEL10_22
PIXEL11_12
break;
case 188:
- PIXEL00_10
+ PIXEL00_21
PIXEL01_11
PIXEL10_11
PIXEL11_12
break;
case 185:
PIXEL00_12
- PIXEL01_10
+ PIXEL01_22
PIXEL10_11
PIXEL11_12
break;
@@ -1075,28 +1083,28 @@ void HQ2x(const uint8 *srcPtr, uint32 srcPitch, uint8 *dstPtr, uint32 dstPitch,
PIXEL00_12
PIXEL01_11
PIXEL10_11
- PIXEL11_10
+ PIXEL11_21
break;
case 157:
PIXEL00_12
PIXEL01_11
- PIXEL10_10
+ PIXEL10_22
PIXEL11_12
break;
case 103:
PIXEL00_11
PIXEL01_12
PIXEL10_12
- PIXEL11_10
+ PIXEL11_22
break;
case 227:
PIXEL00_11
- PIXEL01_10
+ PIXEL01_21
PIXEL10_12
PIXEL11_11
break;
case 230:
- PIXEL00_10
+ PIXEL00_22
PIXEL01_12
PIXEL10_12
PIXEL11_11
@@ -1104,45 +1112,45 @@ void HQ2x(const uint8 *srcPtr, uint32 srcPitch, uint8 *dstPtr, uint32 dstPitch,
case 199:
PIXEL00_11
PIXEL01_12
- PIXEL10_10
+ PIXEL10_21
PIXEL11_11
break;
case 220:
- PIXEL00_10
+ PIXEL00_21
PIXEL01_11
- if (diffYUV(yuv[8], yuv[4])) {
+ if (diffYUV(YUV(8), YUV(4))) {
PIXEL10_10
} else {
- PIXEL10_30
+ PIXEL10_70
}
- if (diffYUV(yuv[6], yuv[8])) {
+ if (diffYUV(YUV(6), YUV(8))) {
PIXEL11_0
} else {
PIXEL11_20
}
break;
case 158:
- if (diffYUV(yuv[4], yuv[2])) {
+ if (diffYUV(YUV(4), YUV(2))) {
PIXEL00_10
} else {
- PIXEL00_30
+ PIXEL00_70
}
- if (diffYUV(yuv[2], yuv[6])) {
+ if (diffYUV(YUV(2), YUV(6))) {
PIXEL01_0
} else {
PIXEL01_20
}
- PIXEL10_10
+ PIXEL10_22
PIXEL11_12
break;
case 234:
- if (diffYUV(yuv[4], yuv[2])) {
+ if (diffYUV(YUV(4), YUV(2))) {
PIXEL00_10
} else {
- PIXEL00_30
+ PIXEL00_70
}
- PIXEL01_10
- if (diffYUV(yuv[8], yuv[4])) {
+ PIXEL01_21
+ if (diffYUV(YUV(8), YUV(4))) {
PIXEL10_0
} else {
PIXEL10_20
@@ -1150,161 +1158,161 @@ void HQ2x(const uint8 *srcPtr, uint32 srcPitch, uint8 *dstPtr, uint32 dstPitch,
PIXEL11_11
break;
case 242:
- PIXEL00_10
- if (diffYUV(yuv[2], yuv[6])) {
+ PIXEL00_22
+ if (diffYUV(YUV(2), YUV(6))) {
PIXEL01_10
} else {
- PIXEL01_30
+ PIXEL01_70
}
PIXEL10_12
- if (diffYUV(yuv[6], yuv[8])) {
+ if (diffYUV(YUV(6), YUV(8))) {
PIXEL11_0
} else {
PIXEL11_20
}
break;
case 59:
- if (diffYUV(yuv[4], yuv[2])) {
+ if (diffYUV(YUV(4), YUV(2))) {
PIXEL00_0
} else {
PIXEL00_20
}
- if (diffYUV(yuv[2], yuv[6])) {
+ if (diffYUV(YUV(2), YUV(6))) {
PIXEL01_10
} else {
- PIXEL01_30
+ PIXEL01_70
}
PIXEL10_11
- PIXEL11_10
+ PIXEL11_21
break;
case 121:
PIXEL00_12
- PIXEL01_10
- if (diffYUV(yuv[8], yuv[4])) {
+ PIXEL01_22
+ if (diffYUV(YUV(8), YUV(4))) {
PIXEL10_0
} else {
PIXEL10_20
}
- if (diffYUV(yuv[6], yuv[8])) {
+ if (diffYUV(YUV(6), YUV(8))) {
PIXEL11_10
} else {
- PIXEL11_30
+ PIXEL11_70
}
break;
case 87:
PIXEL00_11
- if (diffYUV(yuv[2], yuv[6])) {
+ if (diffYUV(YUV(2), YUV(6))) {
PIXEL01_0
} else {
PIXEL01_20
}
- PIXEL10_10
- if (diffYUV(yuv[6], yuv[8])) {
+ PIXEL10_21
+ if (diffYUV(YUV(6), YUV(8))) {
PIXEL11_10
} else {
- PIXEL11_30
+ PIXEL11_70
}
break;
case 79:
- if (diffYUV(yuv[4], yuv[2])) {
+ if (diffYUV(YUV(4), YUV(2))) {
PIXEL00_0
} else {
PIXEL00_20
}
PIXEL01_12
- if (diffYUV(yuv[8], yuv[4])) {
+ if (diffYUV(YUV(8), YUV(4))) {
PIXEL10_10
} else {
- PIXEL10_30
+ PIXEL10_70
}
- PIXEL11_10
+ PIXEL11_22
break;
case 122:
- if (diffYUV(yuv[4], yuv[2])) {
+ if (diffYUV(YUV(4), YUV(2))) {
PIXEL00_10
} else {
- PIXEL00_30
+ PIXEL00_70
}
- if (diffYUV(yuv[2], yuv[6])) {
+ if (diffYUV(YUV(2), YUV(6))) {
PIXEL01_10
} else {
- PIXEL01_30
+ PIXEL01_70
}
- if (diffYUV(yuv[8], yuv[4])) {
+ if (diffYUV(YUV(8), YUV(4))) {
PIXEL10_0
} else {
PIXEL10_20
}
- if (diffYUV(yuv[6], yuv[8])) {
+ if (diffYUV(YUV(6), YUV(8))) {
PIXEL11_10
} else {
- PIXEL11_30
+ PIXEL11_70
}
break;
case 94:
- if (diffYUV(yuv[4], yuv[2])) {
+ if (diffYUV(YUV(4), YUV(2))) {
PIXEL00_10
} else {
- PIXEL00_30
+ PIXEL00_70
}
- if (diffYUV(yuv[2], yuv[6])) {
+ if (diffYUV(YUV(2), YUV(6))) {
PIXEL01_0
} else {
PIXEL01_20
}
- if (diffYUV(yuv[8], yuv[4])) {
+ if (diffYUV(YUV(8), YUV(4))) {
PIXEL10_10
} else {
- PIXEL10_30
+ PIXEL10_70
}
- if (diffYUV(yuv[6], yuv[8])) {
+ if (diffYUV(YUV(6), YUV(8))) {
PIXEL11_10
} else {
- PIXEL11_30
+ PIXEL11_70
}
break;
case 218:
- if (diffYUV(yuv[4], yuv[2])) {
+ if (diffYUV(YUV(4), YUV(2))) {
PIXEL00_10
} else {
- PIXEL00_30
+ PIXEL00_70
}
- if (diffYUV(yuv[2], yuv[6])) {
+ if (diffYUV(YUV(2), YUV(6))) {
PIXEL01_10
} else {
- PIXEL01_30
+ PIXEL01_70
}
- if (diffYUV(yuv[8], yuv[4])) {
+ if (diffYUV(YUV(8), YUV(4))) {
PIXEL10_10
} else {
- PIXEL10_30
+ PIXEL10_70
}
- if (diffYUV(yuv[6], yuv[8])) {
+ if (diffYUV(YUV(6), YUV(8))) {
PIXEL11_0
} else {
PIXEL11_20
}
break;
case 91:
- if (diffYUV(yuv[4], yuv[2])) {
+ if (diffYUV(YUV(4), YUV(2))) {
PIXEL00_0
} else {
PIXEL00_20
}
- if (diffYUV(yuv[2], yuv[6])) {
+ if (diffYUV(YUV(2), YUV(6))) {
PIXEL01_10
} else {
- PIXEL01_30
+ PIXEL01_70
}
- if (diffYUV(yuv[8], yuv[4])) {
+ if (diffYUV(YUV(8), YUV(4))) {
PIXEL10_10
} else {
- PIXEL10_30
+ PIXEL10_70
}
- if (diffYUV(yuv[6], yuv[8])) {
+ if (diffYUV(YUV(6), YUV(8))) {
PIXEL11_10
} else {
- PIXEL11_30
+ PIXEL11_70
}
break;
case 229:
@@ -1332,58 +1340,58 @@ void HQ2x(const uint8 *srcPtr, uint32 srcPitch, uint8 *dstPtr, uint32 dstPitch,
PIXEL11_12
break;
case 186:
- if (diffYUV(yuv[4], yuv[2])) {
+ if (diffYUV(YUV(4), YUV(2))) {
PIXEL00_10
} else {
- PIXEL00_30
+ PIXEL00_70
}
- if (diffYUV(yuv[2], yuv[6])) {
+ if (diffYUV(YUV(2), YUV(6))) {
PIXEL01_10
} else {
- PIXEL01_30
+ PIXEL01_70
}
PIXEL10_11
PIXEL11_12
break;
case 115:
PIXEL00_11
- if (diffYUV(yuv[2], yuv[6])) {
+ if (diffYUV(YUV(2), YUV(6))) {
PIXEL01_10
} else {
- PIXEL01_30
+ PIXEL01_70
}
PIXEL10_12
- if (diffYUV(yuv[6], yuv[8])) {
+ if (diffYUV(YUV(6), YUV(8))) {
PIXEL11_10
} else {
- PIXEL11_30
+ PIXEL11_70
}
break;
case 93:
PIXEL00_12
PIXEL01_11
- if (diffYUV(yuv[8], yuv[4])) {
+ if (diffYUV(YUV(8), YUV(4))) {
PIXEL10_10
} else {
- PIXEL10_30
+ PIXEL10_70
}
- if (diffYUV(yuv[6], yuv[8])) {
+ if (diffYUV(YUV(6), YUV(8))) {
PIXEL11_10
} else {
- PIXEL11_30
+ PIXEL11_70
}
break;
case 206:
- if (diffYUV(yuv[4], yuv[2])) {
+ if (diffYUV(YUV(4), YUV(2))) {
PIXEL00_10
} else {
- PIXEL00_30
+ PIXEL00_70
}
PIXEL01_12
- if (diffYUV(yuv[8], yuv[4])) {
+ if (diffYUV(YUV(8), YUV(4))) {
PIXEL10_10
} else {
- PIXEL10_30
+ PIXEL10_70
}
PIXEL11_11
break;
@@ -1391,19 +1399,19 @@ void HQ2x(const uint8 *srcPtr, uint32 srcPitch, uint8 *dstPtr, uint32 dstPitch,
case 201:
PIXEL00_12
PIXEL01_20
- if (diffYUV(yuv[8], yuv[4])) {
+ if (diffYUV(YUV(8), YUV(4))) {
PIXEL10_10
} else {
- PIXEL10_30
+ PIXEL10_70
}
PIXEL11_11
break;
case 174:
case 46:
- if (diffYUV(yuv[4], yuv[2])) {
+ if (diffYUV(YUV(4), YUV(2))) {
PIXEL00_10
} else {
- PIXEL00_30
+ PIXEL00_70
}
PIXEL01_12
PIXEL10_11
@@ -1412,10 +1420,10 @@ void HQ2x(const uint8 *srcPtr, uint32 srcPitch, uint8 *dstPtr, uint32 dstPitch,
case 179:
case 147:
PIXEL00_11
- if (diffYUV(yuv[2], yuv[6])) {
+ if (diffYUV(YUV(2), YUV(6))) {
PIXEL01_10
} else {
- PIXEL01_30
+ PIXEL01_70
}
PIXEL10_20
PIXEL11_12
@@ -1425,10 +1433,10 @@ void HQ2x(const uint8 *srcPtr, uint32 srcPitch, uint8 *dstPtr, uint32 dstPitch,
PIXEL00_20
PIXEL01_11
PIXEL10_12
- if (diffYUV(yuv[6], yuv[8])) {
+ if (diffYUV(YUV(6), YUV(8))) {
PIXEL11_10
} else {
- PIXEL11_30
+ PIXEL11_70
}
break;
case 189:
@@ -1445,12 +1453,12 @@ void HQ2x(const uint8 *srcPtr, uint32 srcPitch, uint8 *dstPtr, uint32 dstPitch,
break;
case 126:
PIXEL00_10
- if (diffYUV(yuv[2], yuv[6])) {
+ if (diffYUV(YUV(2), YUV(6))) {
PIXEL01_0
} else {
PIXEL01_20
}
- if (diffYUV(yuv[8], yuv[4])) {
+ if (diffYUV(YUV(8), YUV(4))) {
PIXEL10_0
} else {
PIXEL10_20
@@ -1458,48 +1466,48 @@ void HQ2x(const uint8 *srcPtr, uint32 srcPitch, uint8 *dstPtr, uint32 dstPitch,
PIXEL11_10
break;
case 219:
- if (diffYUV(yuv[4], yuv[2])) {
+ if (diffYUV(YUV(4), YUV(2))) {
PIXEL00_0
} else {
PIXEL00_20
}
PIXEL01_10
PIXEL10_10
- if (diffYUV(yuv[6], yuv[8])) {
+ if (diffYUV(YUV(6), YUV(8))) {
PIXEL11_0
} else {
PIXEL11_20
}
break;
case 125:
- if (diffYUV(yuv[8], yuv[4])) {
+ if (diffYUV(YUV(8), YUV(4))) {
PIXEL00_12
PIXEL10_0
} else {
- PIXEL00_51
- PIXEL10_60
+ PIXEL00_61
+ PIXEL10_90
}
PIXEL01_11
PIXEL11_10
break;
case 221:
PIXEL00_12
- if (diffYUV(yuv[6], yuv[8])) {
+ if (diffYUV(YUV(6), YUV(8))) {
PIXEL01_11
PIXEL11_0
} else {
- PIXEL01_50
- PIXEL11_60
+ PIXEL01_60
+ PIXEL11_90
}
PIXEL10_10
break;
case 207:
- if (diffYUV(yuv[4], yuv[2])) {
+ if (diffYUV(YUV(4), YUV(2))) {
PIXEL00_0
PIXEL01_12
} else {
- PIXEL00_60
- PIXEL01_51
+ PIXEL00_90
+ PIXEL01_61
}
PIXEL10_10
PIXEL11_11
@@ -1507,32 +1515,32 @@ void HQ2x(const uint8 *srcPtr, uint32 srcPitch, uint8 *dstPtr, uint32 dstPitch,
case 238:
PIXEL00_10
PIXEL01_12
- if (diffYUV(yuv[8], yuv[4])) {
+ if (diffYUV(YUV(8), YUV(4))) {
PIXEL10_0
PIXEL11_11
} else {
- PIXEL10_60
- PIXEL11_50
+ PIXEL10_90
+ PIXEL11_60
}
break;
case 190:
PIXEL00_10
- if (diffYUV(yuv[2], yuv[6])) {
+ if (diffYUV(YUV(2), YUV(6))) {
PIXEL01_0
PIXEL11_12
} else {
- PIXEL01_60
- PIXEL11_51
+ PIXEL01_90
+ PIXEL11_61
}
PIXEL10_11
break;
case 187:
- if (diffYUV(yuv[4], yuv[2])) {
+ if (diffYUV(YUV(4), YUV(2))) {
PIXEL00_0
PIXEL10_11
} else {
- PIXEL00_60
- PIXEL10_50
+ PIXEL00_90
+ PIXEL10_60
}
PIXEL01_10
PIXEL11_12
@@ -1540,21 +1548,21 @@ void HQ2x(const uint8 *srcPtr, uint32 srcPitch, uint8 *dstPtr, uint32 dstPitch,
case 243:
PIXEL00_11
PIXEL01_10
- if (diffYUV(yuv[6], yuv[8])) {
+ if (diffYUV(YUV(6), YUV(8))) {
PIXEL10_12
PIXEL11_0
} else {
- PIXEL10_51
- PIXEL11_60
+ PIXEL10_61
+ PIXEL11_90
}
break;
case 119:
- if (diffYUV(yuv[2], yuv[6])) {
+ if (diffYUV(YUV(2), YUV(6))) {
PIXEL00_11
PIXEL01_0
} else {
- PIXEL00_50
- PIXEL01_60
+ PIXEL00_60
+ PIXEL01_90
}
PIXEL10_12
PIXEL11_10
@@ -1563,19 +1571,19 @@ void HQ2x(const uint8 *srcPtr, uint32 srcPitch, uint8 *dstPtr, uint32 dstPitch,
case 233:
PIXEL00_12
PIXEL01_20
- if (diffYUV(yuv[8], yuv[4])) {
+ if (diffYUV(YUV(8), YUV(4))) {
PIXEL10_0
} else {
- PIXEL10_40
+ PIXEL10_100
}
PIXEL11_11
break;
case 175:
case 47:
- if (diffYUV(yuv[4], yuv[2])) {
+ if (diffYUV(YUV(4), YUV(2))) {
PIXEL00_0
} else {
- PIXEL00_40
+ PIXEL00_100
}
PIXEL01_12
PIXEL10_11
@@ -1584,10 +1592,10 @@ void HQ2x(const uint8 *srcPtr, uint32 srcPitch, uint8 *dstPtr, uint32 dstPitch,
case 183:
case 151:
PIXEL00_11
- if (diffYUV(yuv[2], yuv[6])) {
+ if (diffYUV(YUV(2), YUV(6))) {
PIXEL01_0
} else {
- PIXEL01_40
+ PIXEL01_100
}
PIXEL10_20
PIXEL11_12
@@ -1597,34 +1605,34 @@ void HQ2x(const uint8 *srcPtr, uint32 srcPitch, uint8 *dstPtr, uint32 dstPitch,
PIXEL00_20
PIXEL01_11
PIXEL10_12
- if (diffYUV(yuv[6], yuv[8])) {
+ if (diffYUV(YUV(6), YUV(8))) {
PIXEL11_0
} else {
- PIXEL11_40
+ PIXEL11_100
}
break;
case 250:
PIXEL00_10
PIXEL01_10
- if (diffYUV(yuv[8], yuv[4])) {
+ if (diffYUV(YUV(8), YUV(4))) {
PIXEL10_0
} else {
PIXEL10_20
}
- if (diffYUV(yuv[6], yuv[8])) {
+ if (diffYUV(YUV(6), YUV(8))) {
PIXEL11_0
} else {
PIXEL11_20
}
break;
case 123:
- if (diffYUV(yuv[4], yuv[2])) {
+ if (diffYUV(YUV(4), YUV(2))) {
PIXEL00_0
} else {
PIXEL00_20
}
PIXEL01_10
- if (diffYUV(yuv[8], yuv[4])) {
+ if (diffYUV(YUV(8), YUV(4))) {
PIXEL10_0
} else {
PIXEL10_20
@@ -1632,12 +1640,12 @@ void HQ2x(const uint8 *srcPtr, uint32 srcPitch, uint8 *dstPtr, uint32 dstPitch,
PIXEL11_10
break;
case 95:
- if (diffYUV(yuv[4], yuv[2])) {
+ if (diffYUV(YUV(4), YUV(2))) {
PIXEL00_0
} else {
PIXEL00_20
}
- if (diffYUV(yuv[2], yuv[6])) {
+ if (diffYUV(YUV(2), YUV(6))) {
PIXEL01_0
} else {
PIXEL01_20
@@ -1647,206 +1655,206 @@ void HQ2x(const uint8 *srcPtr, uint32 srcPitch, uint8 *dstPtr, uint32 dstPitch,
break;
case 222:
PIXEL00_10
- if (diffYUV(yuv[2], yuv[6])) {
+ if (diffYUV(YUV(2), YUV(6))) {
PIXEL01_0
} else {
PIXEL01_20
}
PIXEL10_10
- if (diffYUV(yuv[6], yuv[8])) {
+ if (diffYUV(YUV(6), YUV(8))) {
PIXEL11_0
} else {
PIXEL11_20
}
break;
case 252:
- PIXEL00_10
+ PIXEL00_21
PIXEL01_11
- if (diffYUV(yuv[8], yuv[4])) {
+ if (diffYUV(YUV(8), YUV(4))) {
PIXEL10_0
} else {
PIXEL10_20
}
- if (diffYUV(yuv[6], yuv[8])) {
+ if (diffYUV(YUV(6), YUV(8))) {
PIXEL11_0
} else {
- PIXEL11_40
+ PIXEL11_100
}
break;
case 249:
PIXEL00_12
- PIXEL01_10
- if (diffYUV(yuv[8], yuv[4])) {
+ PIXEL01_22
+ if (diffYUV(YUV(8), YUV(4))) {
PIXEL10_0
} else {
- PIXEL10_40
+ PIXEL10_100
}
- if (diffYUV(yuv[6], yuv[8])) {
+ if (diffYUV(YUV(6), YUV(8))) {
PIXEL11_0
} else {
PIXEL11_20
}
break;
case 235:
- if (diffYUV(yuv[4], yuv[2])) {
+ if (diffYUV(YUV(4), YUV(2))) {
PIXEL00_0
} else {
PIXEL00_20
}
- PIXEL01_10
- if (diffYUV(yuv[8], yuv[4])) {
+ PIXEL01_21
+ if (diffYUV(YUV(8), YUV(4))) {
PIXEL10_0
} else {
- PIXEL10_40
+ PIXEL10_100
}
PIXEL11_11
break;
case 111:
- if (diffYUV(yuv[4], yuv[2])) {
+ if (diffYUV(YUV(4), YUV(2))) {
PIXEL00_0
} else {
- PIXEL00_40
+ PIXEL00_100
}
PIXEL01_12
- if (diffYUV(yuv[8], yuv[4])) {
+ if (diffYUV(YUV(8), YUV(4))) {
PIXEL10_0
} else {
PIXEL10_20
}
- PIXEL11_10
+ PIXEL11_22
break;
case 63:
- if (diffYUV(yuv[4], yuv[2])) {
+ if (diffYUV(YUV(4), YUV(2))) {
PIXEL00_0
} else {
- PIXEL00_40
+ PIXEL00_100
}
- if (diffYUV(yuv[2], yuv[6])) {
+ if (diffYUV(YUV(2), YUV(6))) {
PIXEL01_0
} else {
PIXEL01_20
}
PIXEL10_11
- PIXEL11_10
+ PIXEL11_21
break;
case 159:
- if (diffYUV(yuv[4], yuv[2])) {
+ if (diffYUV(YUV(4), YUV(2))) {
PIXEL00_0
} else {
PIXEL00_20
}
- if (diffYUV(yuv[2], yuv[6])) {
+ if (diffYUV(YUV(2), YUV(6))) {
PIXEL01_0
} else {
- PIXEL01_40
+ PIXEL01_100
}
- PIXEL10_10
+ PIXEL10_22
PIXEL11_12
break;
case 215:
PIXEL00_11
- if (diffYUV(yuv[2], yuv[6])) {
+ if (diffYUV(YUV(2), YUV(6))) {
PIXEL01_0
} else {
- PIXEL01_40
+ PIXEL01_100
}
- PIXEL10_10
- if (diffYUV(yuv[6], yuv[8])) {
+ PIXEL10_21
+ if (diffYUV(YUV(6), YUV(8))) {
PIXEL11_0
} else {
PIXEL11_20
}
break;
case 246:
- PIXEL00_10
- if (diffYUV(yuv[2], yuv[6])) {
+ PIXEL00_22
+ if (diffYUV(YUV(2), YUV(6))) {
PIXEL01_0
} else {
PIXEL01_20
}
PIXEL10_12
- if (diffYUV(yuv[6], yuv[8])) {
+ if (diffYUV(YUV(6), YUV(8))) {
PIXEL11_0
} else {
- PIXEL11_40
+ PIXEL11_100
}
break;
case 254:
PIXEL00_10
- if (diffYUV(yuv[2], yuv[6])) {
+ if (diffYUV(YUV(2), YUV(6))) {
PIXEL01_0
} else {
PIXEL01_20
}
- if (diffYUV(yuv[8], yuv[4])) {
+ if (diffYUV(YUV(8), YUV(4))) {
PIXEL10_0
} else {
PIXEL10_20
}
- if (diffYUV(yuv[6], yuv[8])) {
+ if (diffYUV(YUV(6), YUV(8))) {
PIXEL11_0
} else {
- PIXEL11_40
+ PIXEL11_100
}
break;
case 253:
PIXEL00_12
PIXEL01_11
- if (diffYUV(yuv[8], yuv[4])) {
+ if (diffYUV(YUV(8), YUV(4))) {
PIXEL10_0
} else {
- PIXEL10_40
+ PIXEL10_100
}
- if (diffYUV(yuv[6], yuv[8])) {
+ if (diffYUV(YUV(6), YUV(8))) {
PIXEL11_0
} else {
- PIXEL11_40
+ PIXEL11_100
}
break;
case 251:
- if (diffYUV(yuv[4], yuv[2])) {
+ if (diffYUV(YUV(4), YUV(2))) {
PIXEL00_0
} else {
PIXEL00_20
}
PIXEL01_10
- if (diffYUV(yuv[8], yuv[4])) {
+ if (diffYUV(YUV(8), YUV(4))) {
PIXEL10_0
} else {
- PIXEL10_40
+ PIXEL10_100
}
- if (diffYUV(yuv[6], yuv[8])) {
+ if (diffYUV(YUV(6), YUV(8))) {
PIXEL11_0
} else {
PIXEL11_20
}
break;
case 239:
- if (diffYUV(yuv[4], yuv[2])) {
+ if (diffYUV(YUV(4), YUV(2))) {
PIXEL00_0
} else {
- PIXEL00_40
+ PIXEL00_100
}
PIXEL01_12
- if (diffYUV(yuv[8], yuv[4])) {
+ if (diffYUV(YUV(8), YUV(4))) {
PIXEL10_0
} else {
- PIXEL10_40
+ PIXEL10_100
}
PIXEL11_11
break;
case 127:
- if (diffYUV(yuv[4], yuv[2])) {
+ if (diffYUV(YUV(4), YUV(2))) {
PIXEL00_0
} else {
- PIXEL00_40
+ PIXEL00_100
}
- if (diffYUV(yuv[2], yuv[6])) {
+ if (diffYUV(YUV(2), YUV(6))) {
PIXEL01_0
} else {
PIXEL01_20
}
- if (diffYUV(yuv[8], yuv[4])) {
+ if (diffYUV(YUV(8), YUV(4))) {
PIXEL10_0
} else {
PIXEL10_20
@@ -1854,32 +1862,32 @@ void HQ2x(const uint8 *srcPtr, uint32 srcPitch, uint8 *dstPtr, uint32 dstPitch,
PIXEL11_10
break;
case 191:
- if (diffYUV(yuv[4], yuv[2])) {
+ if (diffYUV(YUV(4), YUV(2))) {
PIXEL00_0
} else {
- PIXEL00_40
+ PIXEL00_100
}
- if (diffYUV(yuv[2], yuv[6])) {
+ if (diffYUV(YUV(2), YUV(6))) {
PIXEL01_0
} else {
- PIXEL01_40
+ PIXEL01_100
}
PIXEL10_11
PIXEL11_12
break;
case 223:
- if (diffYUV(yuv[4], yuv[2])) {
+ if (diffYUV(YUV(4), YUV(2))) {
PIXEL00_0
} else {
PIXEL00_20
}
- if (diffYUV(yuv[2], yuv[6])) {
+ if (diffYUV(YUV(2), YUV(6))) {
PIXEL01_0
} else {
- PIXEL01_40
+ PIXEL01_100
}
PIXEL10_10
- if (diffYUV(yuv[6], yuv[8])) {
+ if (diffYUV(YUV(6), YUV(8))) {
PIXEL11_0
} else {
PIXEL11_20
@@ -1887,38 +1895,38 @@ void HQ2x(const uint8 *srcPtr, uint32 srcPitch, uint8 *dstPtr, uint32 dstPitch,
break;
case 247:
PIXEL00_11
- if (diffYUV(yuv[2], yuv[6])) {
+ if (diffYUV(YUV(2), YUV(6))) {
PIXEL01_0
} else {
- PIXEL01_40
+ PIXEL01_100
}
PIXEL10_12
- if (diffYUV(yuv[6], yuv[8])) {
+ if (diffYUV(YUV(6), YUV(8))) {
PIXEL11_0
} else {
- PIXEL11_40
+ PIXEL11_100
}
break;
case 255:
- if (diffYUV(yuv[4], yuv[2])) {
+ if (diffYUV(YUV(4), YUV(2))) {
PIXEL00_0
} else {
- PIXEL00_40
+ PIXEL00_100
}
- if (diffYUV(yuv[2], yuv[6])) {
+ if (diffYUV(YUV(2), YUV(6))) {
PIXEL01_0
} else {
- PIXEL01_40
+ PIXEL01_100
}
- if (diffYUV(yuv[8], yuv[4])) {
+ if (diffYUV(YUV(8), YUV(4))) {
PIXEL10_0
} else {
- PIXEL10_40
+ PIXEL10_100
}
- if (diffYUV(yuv[6], yuv[8])) {
+ if (diffYUV(YUV(6), YUV(8))) {
PIXEL11_0
} else {
- PIXEL11_40
+ PIXEL11_100
}
break;
}
diff --git a/common/scaler/hq3x.cpp b/common/scaler/hq3x.cpp
index 6b40f676e2..864b8c31cf 100644
--- a/common/scaler/hq3x.cpp
+++ b/common/scaler/hq3x.cpp
@@ -77,6 +77,8 @@
#define PIXEL22_5 *(q+2+nextlineDst2) = interpolate16_2<bitFormat,1,1>(w[6], w[8]);
#define PIXEL22_C *(q+2+nextlineDst2) = w[5];
+#define YUV(x) RGBtoYUV[w[x]]
+
/**
* The HQ3x high quality 3x graphics filter.
* Original author Maxim Stepin (see http://www.hiend3d.com/hq3x.html).
@@ -85,7 +87,6 @@
template<int bitFormat>
void HQ3x(const uint8 *srcPtr, uint32 srcPitch, uint8 *dstPtr, uint32 dstPitch, int width, int height) {
int w[10];
- int yuv[10];
const uint32 nextlineSrc = srcPitch / sizeof(uint16);
const uint16 *p = (const uint16 *)srcPtr;
@@ -119,42 +120,41 @@ void HQ3x(const uint8 *srcPtr, uint32 srcPitch, uint8 *dstPtr, uint32 dstPitch,
// +----+----+----+
while (height--) {
- w[2] = *(p - 1 - nextlineSrc); yuv[2] = RGBtoYUV[w[2]];
- w[5] = *(p - 1); yuv[5] = RGBtoYUV[w[5]];
- w[8] = *(p - 1 + nextlineSrc); yuv[8] = RGBtoYUV[w[8]];
+ w[2] = *(p - 1 - nextlineSrc);
+ w[5] = *(p - 1);
+ w[8] = *(p - 1 + nextlineSrc);
- w[3] = *(p - nextlineSrc); yuv[3] = RGBtoYUV[w[3]];
- w[6] = *(p); yuv[6] = RGBtoYUV[w[6]];
- w[9] = *(p + nextlineSrc); yuv[9] = RGBtoYUV[w[9]];
+ w[3] = *(p - nextlineSrc);
+ w[6] = *(p);
+ w[9] = *(p + nextlineSrc);
int tmpWidth = width;
while (tmpWidth--) {
p++;
- w[1] = w[2]; yuv[1] = yuv[2];
- w[4] = w[5]; yuv[4] = yuv[5];
- w[7] = w[8]; yuv[7] = yuv[8];
+ w[1] = w[2];
+ w[4] = w[5];
+ w[7] = w[8];
- w[2] = w[3]; yuv[2] = yuv[3];
- w[5] = w[6]; yuv[5] = yuv[6];
- w[8] = w[9]; yuv[8] = yuv[9];
+ w[2] = w[3];
+ w[5] = w[6];
+ w[8] = w[9];
- w[3] = *(p - nextlineSrc); yuv[3] = RGBtoYUV[w[3]];
- w[6] = *(p); yuv[6] = RGBtoYUV[w[6]];
- w[9] = *(p + nextlineSrc); yuv[9] = RGBtoYUV[w[9]];
+ w[3] = *(p - nextlineSrc);
+ w[6] = *(p);
+ w[9] = *(p + nextlineSrc);
int pattern = 0;
- int flag = 1;
-
- for (int k = 1; k <= 9; k++) {
- if (k == 5) continue;
+ const int yuv5 = YUV(5);
- if (w[k] != w[5]) {
- if (diffYUV(yuv[5], yuv[k]))
- pattern |= flag;
- }
- flag <<= 1;
- }
+ if (w[5] != w[1] && diffYUV(yuv5, YUV(1))) pattern |= 0x0001;
+ if (w[5] != w[2] && diffYUV(yuv5, YUV(2))) pattern |= 0x0002;
+ if (w[5] != w[3] && diffYUV(yuv5, YUV(3))) pattern |= 0x0004;
+ if (w[5] != w[4] && diffYUV(yuv5, YUV(4))) pattern |= 0x0008;
+ if (w[5] != w[6] && diffYUV(yuv5, YUV(6))) pattern |= 0x0010;
+ if (w[5] != w[7] && diffYUV(yuv5, YUV(7))) pattern |= 0x0020;
+ if (w[5] != w[8] && diffYUV(yuv5, YUV(8))) pattern |= 0x0040;
+ if (w[5] != w[9] && diffYUV(yuv5, YUV(9))) pattern |= 0x0080;
switch (pattern) {
case 0:
@@ -354,7 +354,7 @@ void HQ3x(const uint8 *srcPtr, uint32 srcPitch, uint8 *dstPtr, uint32 dstPitch,
case 18:
case 50:
PIXEL00_1M
- if (diffYUV(yuv[2], yuv[6])) {
+ if (diffYUV(YUV(2), YUV(6))) {
PIXEL01_C
PIXEL02_1M
PIXEL12_C
@@ -377,7 +377,7 @@ void HQ3x(const uint8 *srcPtr, uint32 srcPitch, uint8 *dstPtr, uint32 dstPitch,
PIXEL10_1
PIXEL11
PIXEL20_1M
- if (diffYUV(yuv[6], yuv[8])) {
+ if (diffYUV(YUV(6), YUV(8))) {
PIXEL12_C
PIXEL21_C
PIXEL22_1M
@@ -394,7 +394,7 @@ void HQ3x(const uint8 *srcPtr, uint32 srcPitch, uint8 *dstPtr, uint32 dstPitch,
PIXEL02_2
PIXEL11
PIXEL12_1
- if (diffYUV(yuv[8], yuv[4])) {
+ if (diffYUV(YUV(8), YUV(4))) {
PIXEL10_C
PIXEL20_1M
PIXEL21_C
@@ -407,7 +407,7 @@ void HQ3x(const uint8 *srcPtr, uint32 srcPitch, uint8 *dstPtr, uint32 dstPitch,
break;
case 10:
case 138:
- if (diffYUV(yuv[4], yuv[2])) {
+ if (diffYUV(YUV(4), YUV(2))) {
PIXEL00_1M
PIXEL01_C
PIXEL10_C
@@ -500,7 +500,7 @@ void HQ3x(const uint8 *srcPtr, uint32 srcPitch, uint8 *dstPtr, uint32 dstPitch,
case 22:
case 54:
PIXEL00_1M
- if (diffYUV(yuv[2], yuv[6])) {
+ if (diffYUV(YUV(2), YUV(6))) {
PIXEL01_C
PIXEL02_C
PIXEL12_C
@@ -523,7 +523,7 @@ void HQ3x(const uint8 *srcPtr, uint32 srcPitch, uint8 *dstPtr, uint32 dstPitch,
PIXEL10_1
PIXEL11
PIXEL20_1M
- if (diffYUV(yuv[6], yuv[8])) {
+ if (diffYUV(YUV(6), YUV(8))) {
PIXEL12_C
PIXEL21_C
PIXEL22_C
@@ -540,7 +540,7 @@ void HQ3x(const uint8 *srcPtr, uint32 srcPitch, uint8 *dstPtr, uint32 dstPitch,
PIXEL02_2
PIXEL11
PIXEL12_1
- if (diffYUV(yuv[8], yuv[4])) {
+ if (diffYUV(YUV(8), YUV(4))) {
PIXEL10_C
PIXEL20_C
PIXEL21_C
@@ -553,7 +553,7 @@ void HQ3x(const uint8 *srcPtr, uint32 srcPitch, uint8 *dstPtr, uint32 dstPitch,
break;
case 11:
case 139:
- if (diffYUV(yuv[4], yuv[2])) {
+ if (diffYUV(YUV(4), YUV(2))) {
PIXEL00_C
PIXEL01_C
PIXEL10_C
@@ -571,7 +571,7 @@ void HQ3x(const uint8 *srcPtr, uint32 srcPitch, uint8 *dstPtr, uint32 dstPitch,
break;
case 19:
case 51:
- if (diffYUV(yuv[2], yuv[6])) {
+ if (diffYUV(YUV(2), YUV(6))) {
PIXEL00_1L
PIXEL01_C
PIXEL02_1M
@@ -590,7 +590,7 @@ void HQ3x(const uint8 *srcPtr, uint32 srcPitch, uint8 *dstPtr, uint32 dstPitch,
break;
case 146:
case 178:
- if (diffYUV(yuv[2], yuv[6])) {
+ if (diffYUV(YUV(2), YUV(6))) {
PIXEL01_C
PIXEL02_1M
PIXEL12_C
@@ -609,7 +609,7 @@ void HQ3x(const uint8 *srcPtr, uint32 srcPitch, uint8 *dstPtr, uint32 dstPitch,
break;
case 84:
case 85:
- if (diffYUV(yuv[6], yuv[8])) {
+ if (diffYUV(YUV(6), YUV(8))) {
PIXEL02_1U
PIXEL12_C
PIXEL21_C
@@ -628,7 +628,7 @@ void HQ3x(const uint8 *srcPtr, uint32 srcPitch, uint8 *dstPtr, uint32 dstPitch,
break;
case 112:
case 113:
- if (diffYUV(yuv[6], yuv[8])) {
+ if (diffYUV(YUV(6), YUV(8))) {
PIXEL12_C
PIXEL20_1L
PIXEL21_C
@@ -647,7 +647,7 @@ void HQ3x(const uint8 *srcPtr, uint32 srcPitch, uint8 *dstPtr, uint32 dstPitch,
break;
case 200:
case 204:
- if (diffYUV(yuv[8], yuv[4])) {
+ if (diffYUV(YUV(8), YUV(4))) {
PIXEL10_C
PIXEL20_1M
PIXEL21_C
@@ -666,7 +666,7 @@ void HQ3x(const uint8 *srcPtr, uint32 srcPitch, uint8 *dstPtr, uint32 dstPitch,
break;
case 73:
case 77:
- if (diffYUV(yuv[8], yuv[4])) {
+ if (diffYUV(YUV(8), YUV(4))) {
PIXEL00_1U
PIXEL10_C
PIXEL20_1M
@@ -685,7 +685,7 @@ void HQ3x(const uint8 *srcPtr, uint32 srcPitch, uint8 *dstPtr, uint32 dstPitch,
break;
case 42:
case 170:
- if (diffYUV(yuv[4], yuv[2])) {
+ if (diffYUV(YUV(4), YUV(2))) {
PIXEL00_1M
PIXEL01_C
PIXEL10_C
@@ -704,7 +704,7 @@ void HQ3x(const uint8 *srcPtr, uint32 srcPitch, uint8 *dstPtr, uint32 dstPitch,
break;
case 14:
case 142:
- if (diffYUV(yuv[4], yuv[2])) {
+ if (diffYUV(YUV(4), YUV(2))) {
PIXEL00_1M
PIXEL01_C
PIXEL02_1R
@@ -811,7 +811,7 @@ void HQ3x(const uint8 *srcPtr, uint32 srcPitch, uint8 *dstPtr, uint32 dstPitch,
break;
case 26:
case 31:
- if (diffYUV(yuv[4], yuv[2])) {
+ if (diffYUV(YUV(4), YUV(2))) {
PIXEL00_C
PIXEL10_C
} else {
@@ -819,7 +819,7 @@ void HQ3x(const uint8 *srcPtr, uint32 srcPitch, uint8 *dstPtr, uint32 dstPitch,
PIXEL10_3
}
PIXEL01_C
- if (diffYUV(yuv[2], yuv[6])) {
+ if (diffYUV(YUV(2), YUV(6))) {
PIXEL02_C
PIXEL12_C
} else {
@@ -834,7 +834,7 @@ void HQ3x(const uint8 *srcPtr, uint32 srcPitch, uint8 *dstPtr, uint32 dstPitch,
case 82:
case 214:
PIXEL00_1M
- if (diffYUV(yuv[2], yuv[6])) {
+ if (diffYUV(YUV(2), YUV(6))) {
PIXEL01_C
PIXEL02_C
} else {
@@ -845,7 +845,7 @@ void HQ3x(const uint8 *srcPtr, uint32 srcPitch, uint8 *dstPtr, uint32 dstPitch,
PIXEL11
PIXEL12_C
PIXEL20_1M
- if (diffYUV(yuv[6], yuv[8])) {
+ if (diffYUV(YUV(6), YUV(8))) {
PIXEL21_C
PIXEL22_C
} else {
@@ -859,7 +859,7 @@ void HQ3x(const uint8 *srcPtr, uint32 srcPitch, uint8 *dstPtr, uint32 dstPitch,
PIXEL01_1
PIXEL02_1M
PIXEL11
- if (diffYUV(yuv[8], yuv[4])) {
+ if (diffYUV(YUV(8), YUV(4))) {
PIXEL10_C
PIXEL20_C
} else {
@@ -867,7 +867,7 @@ void HQ3x(const uint8 *srcPtr, uint32 srcPitch, uint8 *dstPtr, uint32 dstPitch,
PIXEL20_4
}
PIXEL21_C
- if (diffYUV(yuv[6], yuv[8])) {
+ if (diffYUV(YUV(6), YUV(8))) {
PIXEL12_C
PIXEL22_C
} else {
@@ -877,7 +877,7 @@ void HQ3x(const uint8 *srcPtr, uint32 srcPitch, uint8 *dstPtr, uint32 dstPitch,
break;
case 74:
case 107:
- if (diffYUV(yuv[4], yuv[2])) {
+ if (diffYUV(YUV(4), YUV(2))) {
PIXEL00_C
PIXEL01_C
} else {
@@ -888,7 +888,7 @@ void HQ3x(const uint8 *srcPtr, uint32 srcPitch, uint8 *dstPtr, uint32 dstPitch,
PIXEL10_C
PIXEL11
PIXEL12_1
- if (diffYUV(yuv[8], yuv[4])) {
+ if (diffYUV(YUV(8), YUV(4))) {
PIXEL20_C
PIXEL21_C
} else {
@@ -898,7 +898,7 @@ void HQ3x(const uint8 *srcPtr, uint32 srcPitch, uint8 *dstPtr, uint32 dstPitch,
PIXEL22_1M
break;
case 27:
- if (diffYUV(yuv[4], yuv[2])) {
+ if (diffYUV(YUV(4), YUV(2))) {
PIXEL00_C
PIXEL01_C
PIXEL10_C
@@ -916,7 +916,7 @@ void HQ3x(const uint8 *srcPtr, uint32 srcPitch, uint8 *dstPtr, uint32 dstPitch,
break;
case 86:
PIXEL00_1M
- if (diffYUV(yuv[2], yuv[6])) {
+ if (diffYUV(YUV(2), YUV(6))) {
PIXEL01_C
PIXEL02_C
PIXEL12_C
@@ -938,7 +938,7 @@ void HQ3x(const uint8 *srcPtr, uint32 srcPitch, uint8 *dstPtr, uint32 dstPitch,
PIXEL10_C
PIXEL11
PIXEL20_1M
- if (diffYUV(yuv[6], yuv[8])) {
+ if (diffYUV(YUV(6), YUV(8))) {
PIXEL12_C
PIXEL21_C
PIXEL22_C
@@ -954,7 +954,7 @@ void HQ3x(const uint8 *srcPtr, uint32 srcPitch, uint8 *dstPtr, uint32 dstPitch,
PIXEL02_1M
PIXEL11
PIXEL12_1
- if (diffYUV(yuv[8], yuv[4])) {
+ if (diffYUV(YUV(8), YUV(4))) {
PIXEL10_C
PIXEL20_C
PIXEL21_C
@@ -967,7 +967,7 @@ void HQ3x(const uint8 *srcPtr, uint32 srcPitch, uint8 *dstPtr, uint32 dstPitch,
break;
case 30:
PIXEL00_1M
- if (diffYUV(yuv[2], yuv[6])) {
+ if (diffYUV(YUV(2), YUV(6))) {
PIXEL01_C
PIXEL02_C
PIXEL12_C
@@ -989,7 +989,7 @@ void HQ3x(const uint8 *srcPtr, uint32 srcPitch, uint8 *dstPtr, uint32 dstPitch,
PIXEL10_1
PIXEL11
PIXEL20_1M
- if (diffYUV(yuv[6], yuv[8])) {
+ if (diffYUV(YUV(6), YUV(8))) {
PIXEL12_C
PIXEL21_C
PIXEL22_C
@@ -1005,7 +1005,7 @@ void HQ3x(const uint8 *srcPtr, uint32 srcPitch, uint8 *dstPtr, uint32 dstPitch,
PIXEL02_1M
PIXEL11
PIXEL12_C
- if (diffYUV(yuv[8], yuv[4])) {
+ if (diffYUV(YUV(8), YUV(4))) {
PIXEL10_C
PIXEL20_C
PIXEL21_C
@@ -1017,7 +1017,7 @@ void HQ3x(const uint8 *srcPtr, uint32 srcPitch, uint8 *dstPtr, uint32 dstPitch,
PIXEL22_1M
break;
case 75:
- if (diffYUV(yuv[4], yuv[2])) {
+ if (diffYUV(YUV(4), YUV(2))) {
PIXEL00_C
PIXEL01_C
PIXEL10_C
@@ -1166,13 +1166,13 @@ void HQ3x(const uint8 *srcPtr, uint32 srcPitch, uint8 *dstPtr, uint32 dstPitch,
PIXEL22_1D
break;
case 58:
- if (diffYUV(yuv[4], yuv[2])) {
+ if (diffYUV(YUV(4), YUV(2))) {
PIXEL00_1M
} else {
PIXEL00_2
}
PIXEL01_C
- if (diffYUV(yuv[2], yuv[6])) {
+ if (diffYUV(YUV(2), YUV(6))) {
PIXEL02_1M
} else {
PIXEL02_2
@@ -1187,7 +1187,7 @@ void HQ3x(const uint8 *srcPtr, uint32 srcPitch, uint8 *dstPtr, uint32 dstPitch,
case 83:
PIXEL00_1L
PIXEL01_C
- if (diffYUV(yuv[2], yuv[6])) {
+ if (diffYUV(YUV(2), YUV(6))) {
PIXEL02_1M
} else {
PIXEL02_2
@@ -1197,7 +1197,7 @@ void HQ3x(const uint8 *srcPtr, uint32 srcPitch, uint8 *dstPtr, uint32 dstPitch,
PIXEL12_C
PIXEL20_1M
PIXEL21_C
- if (diffYUV(yuv[6], yuv[8])) {
+ if (diffYUV(YUV(6), YUV(8))) {
PIXEL22_1M
} else {
PIXEL22_2
@@ -1210,20 +1210,20 @@ void HQ3x(const uint8 *srcPtr, uint32 srcPitch, uint8 *dstPtr, uint32 dstPitch,
PIXEL10_C
PIXEL11
PIXEL12_C
- if (diffYUV(yuv[8], yuv[4])) {
+ if (diffYUV(YUV(8), YUV(4))) {
PIXEL20_1M
} else {
PIXEL20_2
}
PIXEL21_C
- if (diffYUV(yuv[6], yuv[8])) {
+ if (diffYUV(YUV(6), YUV(8))) {
PIXEL22_1M
} else {
PIXEL22_2
}
break;
case 202:
- if (diffYUV(yuv[4], yuv[2])) {
+ if (diffYUV(YUV(4), YUV(2))) {
PIXEL00_1M
} else {
PIXEL00_2
@@ -1233,7 +1233,7 @@ void HQ3x(const uint8 *srcPtr, uint32 srcPitch, uint8 *dstPtr, uint32 dstPitch,
PIXEL10_C
PIXEL11
PIXEL12_1
- if (diffYUV(yuv[8], yuv[4])) {
+ if (diffYUV(YUV(8), YUV(4))) {
PIXEL20_1M
} else {
PIXEL20_2
@@ -1242,7 +1242,7 @@ void HQ3x(const uint8 *srcPtr, uint32 srcPitch, uint8 *dstPtr, uint32 dstPitch,
PIXEL22_1R
break;
case 78:
- if (diffYUV(yuv[4], yuv[2])) {
+ if (diffYUV(YUV(4), YUV(2))) {
PIXEL00_1M
} else {
PIXEL00_2
@@ -1252,7 +1252,7 @@ void HQ3x(const uint8 *srcPtr, uint32 srcPitch, uint8 *dstPtr, uint32 dstPitch,
PIXEL10_C
PIXEL11
PIXEL12_1
- if (diffYUV(yuv[8], yuv[4])) {
+ if (diffYUV(YUV(8), YUV(4))) {
PIXEL20_1M
} else {
PIXEL20_2
@@ -1261,13 +1261,13 @@ void HQ3x(const uint8 *srcPtr, uint32 srcPitch, uint8 *dstPtr, uint32 dstPitch,
PIXEL22_1M
break;
case 154:
- if (diffYUV(yuv[4], yuv[2])) {
+ if (diffYUV(YUV(4), YUV(2))) {
PIXEL00_1M
} else {
PIXEL00_2
}
PIXEL01_C
- if (diffYUV(yuv[2], yuv[6])) {
+ if (diffYUV(YUV(2), YUV(6))) {
PIXEL02_1M
} else {
PIXEL02_2
@@ -1282,7 +1282,7 @@ void HQ3x(const uint8 *srcPtr, uint32 srcPitch, uint8 *dstPtr, uint32 dstPitch,
case 114:
PIXEL00_1M
PIXEL01_C
- if (diffYUV(yuv[2], yuv[6])) {
+ if (diffYUV(YUV(2), YUV(6))) {
PIXEL02_1M
} else {
PIXEL02_2
@@ -1292,7 +1292,7 @@ void HQ3x(const uint8 *srcPtr, uint32 srcPitch, uint8 *dstPtr, uint32 dstPitch,
PIXEL12_C
PIXEL20_1L
PIXEL21_C
- if (diffYUV(yuv[6], yuv[8])) {
+ if (diffYUV(YUV(6), YUV(8))) {
PIXEL22_1M
} else {
PIXEL22_2
@@ -1305,26 +1305,26 @@ void HQ3x(const uint8 *srcPtr, uint32 srcPitch, uint8 *dstPtr, uint32 dstPitch,
PIXEL10_C
PIXEL11
PIXEL12_C
- if (diffYUV(yuv[8], yuv[4])) {
+ if (diffYUV(YUV(8), YUV(4))) {
PIXEL20_1M
} else {
PIXEL20_2
}
PIXEL21_C
- if (diffYUV(yuv[6], yuv[8])) {
+ if (diffYUV(YUV(6), YUV(8))) {
PIXEL22_1M
} else {
PIXEL22_2
}
break;
case 90:
- if (diffYUV(yuv[4], yuv[2])) {
+ if (diffYUV(YUV(4), YUV(2))) {
PIXEL00_1M
} else {
PIXEL00_2
}
PIXEL01_C
- if (diffYUV(yuv[2], yuv[6])) {
+ if (diffYUV(YUV(2), YUV(6))) {
PIXEL02_1M
} else {
PIXEL02_2
@@ -1332,13 +1332,13 @@ void HQ3x(const uint8 *srcPtr, uint32 srcPitch, uint8 *dstPtr, uint32 dstPitch,
PIXEL10_C
PIXEL11
PIXEL12_C
- if (diffYUV(yuv[8], yuv[4])) {
+ if (diffYUV(YUV(8), YUV(4))) {
PIXEL20_1M
} else {
PIXEL20_2
}
PIXEL21_C
- if (diffYUV(yuv[6], yuv[8])) {
+ if (diffYUV(YUV(6), YUV(8))) {
PIXEL22_1M
} else {
PIXEL22_2
@@ -1346,7 +1346,7 @@ void HQ3x(const uint8 *srcPtr, uint32 srcPitch, uint8 *dstPtr, uint32 dstPitch,
break;
case 55:
case 23:
- if (diffYUV(yuv[2], yuv[6])) {
+ if (diffYUV(YUV(2), YUV(6))) {
PIXEL00_1L
PIXEL01_C
PIXEL02_C
@@ -1365,7 +1365,7 @@ void HQ3x(const uint8 *srcPtr, uint32 srcPitch, uint8 *dstPtr, uint32 dstPitch,
break;
case 182:
case 150:
- if (diffYUV(yuv[2], yuv[6])) {
+ if (diffYUV(YUV(2), YUV(6))) {
PIXEL01_C
PIXEL02_C
PIXEL12_C
@@ -1384,7 +1384,7 @@ void HQ3x(const uint8 *srcPtr, uint32 srcPitch, uint8 *dstPtr, uint32 dstPitch,
break;
case 213:
case 212:
- if (diffYUV(yuv[6], yuv[8])) {
+ if (diffYUV(YUV(6), YUV(8))) {
PIXEL02_1U
PIXEL12_C
PIXEL21_C
@@ -1403,7 +1403,7 @@ void HQ3x(const uint8 *srcPtr, uint32 srcPitch, uint8 *dstPtr, uint32 dstPitch,
break;
case 241:
case 240:
- if (diffYUV(yuv[6], yuv[8])) {
+ if (diffYUV(YUV(6), YUV(8))) {
PIXEL12_C
PIXEL20_1L
PIXEL21_C
@@ -1422,7 +1422,7 @@ void HQ3x(const uint8 *srcPtr, uint32 srcPitch, uint8 *dstPtr, uint32 dstPitch,
break;
case 236:
case 232:
- if (diffYUV(yuv[8], yuv[4])) {
+ if (diffYUV(YUV(8), YUV(4))) {
PIXEL10_C
PIXEL20_C
PIXEL21_C
@@ -1441,7 +1441,7 @@ void HQ3x(const uint8 *srcPtr, uint32 srcPitch, uint8 *dstPtr, uint32 dstPitch,
break;
case 109:
case 105:
- if (diffYUV(yuv[8], yuv[4])) {
+ if (diffYUV(YUV(8), YUV(4))) {
PIXEL00_1U
PIXEL10_C
PIXEL20_C
@@ -1460,7 +1460,7 @@ void HQ3x(const uint8 *srcPtr, uint32 srcPitch, uint8 *dstPtr, uint32 dstPitch,
break;
case 171:
case 43:
- if (diffYUV(yuv[4], yuv[2])) {
+ if (diffYUV(YUV(4), YUV(2))) {
PIXEL00_C
PIXEL01_C
PIXEL10_C
@@ -1479,7 +1479,7 @@ void HQ3x(const uint8 *srcPtr, uint32 srcPitch, uint8 *dstPtr, uint32 dstPitch,
break;
case 143:
case 15:
- if (diffYUV(yuv[4], yuv[2])) {
+ if (diffYUV(YUV(4), YUV(2))) {
PIXEL00_C
PIXEL01_C
PIXEL02_1R
@@ -1502,7 +1502,7 @@ void HQ3x(const uint8 *srcPtr, uint32 srcPitch, uint8 *dstPtr, uint32 dstPitch,
PIXEL02_1U
PIXEL11
PIXEL12_C
- if (diffYUV(yuv[8], yuv[4])) {
+ if (diffYUV(YUV(8), YUV(4))) {
PIXEL10_C
PIXEL20_C
PIXEL21_C
@@ -1514,7 +1514,7 @@ void HQ3x(const uint8 *srcPtr, uint32 srcPitch, uint8 *dstPtr, uint32 dstPitch,
PIXEL22_1M
break;
case 203:
- if (diffYUV(yuv[4], yuv[2])) {
+ if (diffYUV(YUV(4), YUV(2))) {
PIXEL00_C
PIXEL01_C
PIXEL10_C
@@ -1532,7 +1532,7 @@ void HQ3x(const uint8 *srcPtr, uint32 srcPitch, uint8 *dstPtr, uint32 dstPitch,
break;
case 62:
PIXEL00_1M
- if (diffYUV(yuv[2], yuv[6])) {
+ if (diffYUV(YUV(2), YUV(6))) {
PIXEL01_C
PIXEL02_C
PIXEL12_C
@@ -1554,7 +1554,7 @@ void HQ3x(const uint8 *srcPtr, uint32 srcPitch, uint8 *dstPtr, uint32 dstPitch,
PIXEL10_1
PIXEL11
PIXEL20_1M
- if (diffYUV(yuv[6], yuv[8])) {
+ if (diffYUV(YUV(6), YUV(8))) {
PIXEL12_C
PIXEL21_C
PIXEL22_C
@@ -1566,7 +1566,7 @@ void HQ3x(const uint8 *srcPtr, uint32 srcPitch, uint8 *dstPtr, uint32 dstPitch,
break;
case 118:
PIXEL00_1M
- if (diffYUV(yuv[2], yuv[6])) {
+ if (diffYUV(YUV(2), YUV(6))) {
PIXEL01_C
PIXEL02_C
PIXEL12_C
@@ -1588,7 +1588,7 @@ void HQ3x(const uint8 *srcPtr, uint32 srcPitch, uint8 *dstPtr, uint32 dstPitch,
PIXEL10_C
PIXEL11
PIXEL20_1M
- if (diffYUV(yuv[6], yuv[8])) {
+ if (diffYUV(YUV(6), YUV(8))) {
PIXEL12_C
PIXEL21_C
PIXEL22_C
@@ -1604,7 +1604,7 @@ void HQ3x(const uint8 *srcPtr, uint32 srcPitch, uint8 *dstPtr, uint32 dstPitch,
PIXEL02_1R
PIXEL11
PIXEL12_1
- if (diffYUV(yuv[8], yuv[4])) {
+ if (diffYUV(YUV(8), YUV(4))) {
PIXEL10_C
PIXEL20_C
PIXEL21_C
@@ -1616,7 +1616,7 @@ void HQ3x(const uint8 *srcPtr, uint32 srcPitch, uint8 *dstPtr, uint32 dstPitch,
PIXEL22_1M
break;
case 155:
- if (diffYUV(yuv[4], yuv[2])) {
+ if (diffYUV(YUV(4), YUV(2))) {
PIXEL00_C
PIXEL01_C
PIXEL10_C
@@ -1726,12 +1726,12 @@ void HQ3x(const uint8 *srcPtr, uint32 srcPitch, uint8 *dstPtr, uint32 dstPitch,
PIXEL02_1U
PIXEL10_C
PIXEL11
- if (diffYUV(yuv[8], yuv[4])) {
+ if (diffYUV(YUV(8), YUV(4))) {
PIXEL20_1M
} else {
PIXEL20_2
}
- if (diffYUV(yuv[6], yuv[8])) {
+ if (diffYUV(YUV(6), YUV(8))) {
PIXEL12_C
PIXEL21_C
PIXEL22_C
@@ -1742,12 +1742,12 @@ void HQ3x(const uint8 *srcPtr, uint32 srcPitch, uint8 *dstPtr, uint32 dstPitch,
}
break;
case 158:
- if (diffYUV(yuv[4], yuv[2])) {
+ if (diffYUV(YUV(4), YUV(2))) {
PIXEL00_1M
} else {
PIXEL00_2
}
- if (diffYUV(yuv[2], yuv[6])) {
+ if (diffYUV(YUV(2), YUV(6))) {
PIXEL01_C
PIXEL02_C
PIXEL12_C
@@ -1763,7 +1763,7 @@ void HQ3x(const uint8 *srcPtr, uint32 srcPitch, uint8 *dstPtr, uint32 dstPitch,
PIXEL22_1D
break;
case 234:
- if (diffYUV(yuv[4], yuv[2])) {
+ if (diffYUV(YUV(4), YUV(2))) {
PIXEL00_1M
} else {
PIXEL00_2
@@ -1772,7 +1772,7 @@ void HQ3x(const uint8 *srcPtr, uint32 srcPitch, uint8 *dstPtr, uint32 dstPitch,
PIXEL02_1M
PIXEL11
PIXEL12_1
- if (diffYUV(yuv[8], yuv[4])) {
+ if (diffYUV(YUV(8), YUV(4))) {
PIXEL10_C
PIXEL20_C
PIXEL21_C
@@ -1786,7 +1786,7 @@ void HQ3x(const uint8 *srcPtr, uint32 srcPitch, uint8 *dstPtr, uint32 dstPitch,
case 242:
PIXEL00_1M
PIXEL01_C
- if (diffYUV(yuv[2], yuv[6])) {
+ if (diffYUV(YUV(2), YUV(6))) {
PIXEL02_1M
} else {
PIXEL02_2
@@ -1794,7 +1794,7 @@ void HQ3x(const uint8 *srcPtr, uint32 srcPitch, uint8 *dstPtr, uint32 dstPitch,
PIXEL10_1
PIXEL11
PIXEL20_1L
- if (diffYUV(yuv[6], yuv[8])) {
+ if (diffYUV(YUV(6), YUV(8))) {
PIXEL12_C
PIXEL21_C
PIXEL22_C
@@ -1805,7 +1805,7 @@ void HQ3x(const uint8 *srcPtr, uint32 srcPitch, uint8 *dstPtr, uint32 dstPitch,
}
break;
case 59:
- if (diffYUV(yuv[4], yuv[2])) {
+ if (diffYUV(YUV(4), YUV(2))) {
PIXEL00_C
PIXEL01_C
PIXEL10_C
@@ -1814,7 +1814,7 @@ void HQ3x(const uint8 *srcPtr, uint32 srcPitch, uint8 *dstPtr, uint32 dstPitch,
PIXEL01_3
PIXEL10_3
}
- if (diffYUV(yuv[2], yuv[6])) {
+ if (diffYUV(YUV(2), YUV(6))) {
PIXEL02_1M
} else {
PIXEL02_2
@@ -1831,7 +1831,7 @@ void HQ3x(const uint8 *srcPtr, uint32 srcPitch, uint8 *dstPtr, uint32 dstPitch,
PIXEL02_1M
PIXEL11
PIXEL12_C
- if (diffYUV(yuv[8], yuv[4])) {
+ if (diffYUV(YUV(8), YUV(4))) {
PIXEL10_C
PIXEL20_C
PIXEL21_C
@@ -1840,7 +1840,7 @@ void HQ3x(const uint8 *srcPtr, uint32 srcPitch, uint8 *dstPtr, uint32 dstPitch,
PIXEL20_4
PIXEL21_3
}
- if (diffYUV(yuv[6], yuv[8])) {
+ if (diffYUV(YUV(6), YUV(8))) {
PIXEL22_1M
} else {
PIXEL22_2
@@ -1848,7 +1848,7 @@ void HQ3x(const uint8 *srcPtr, uint32 srcPitch, uint8 *dstPtr, uint32 dstPitch,
break;
case 87:
PIXEL00_1L
- if (diffYUV(yuv[2], yuv[6])) {
+ if (diffYUV(YUV(2), YUV(6))) {
PIXEL01_C
PIXEL02_C
PIXEL12_C
@@ -1861,14 +1861,14 @@ void HQ3x(const uint8 *srcPtr, uint32 srcPitch, uint8 *dstPtr, uint32 dstPitch,
PIXEL11
PIXEL20_1M
PIXEL21_C
- if (diffYUV(yuv[6], yuv[8])) {
+ if (diffYUV(YUV(6), YUV(8))) {
PIXEL22_1M
} else {
PIXEL22_2
}
break;
case 79:
- if (diffYUV(yuv[4], yuv[2])) {
+ if (diffYUV(YUV(4), YUV(2))) {
PIXEL00_C
PIXEL01_C
PIXEL10_C
@@ -1880,7 +1880,7 @@ void HQ3x(const uint8 *srcPtr, uint32 srcPitch, uint8 *dstPtr, uint32 dstPitch,
PIXEL02_1R
PIXEL11
PIXEL12_1
- if (diffYUV(yuv[8], yuv[4])) {
+ if (diffYUV(YUV(8), YUV(4))) {
PIXEL20_1M
} else {
PIXEL20_2
@@ -1889,20 +1889,20 @@ void HQ3x(const uint8 *srcPtr, uint32 srcPitch, uint8 *dstPtr, uint32 dstPitch,
PIXEL22_1M
break;
case 122:
- if (diffYUV(yuv[4], yuv[2])) {
+ if (diffYUV(YUV(4), YUV(2))) {
PIXEL00_1M
} else {
PIXEL00_2
}
PIXEL01_C
- if (diffYUV(yuv[2], yuv[6])) {
+ if (diffYUV(YUV(2), YUV(6))) {
PIXEL02_1M
} else {
PIXEL02_2
}
PIXEL11
PIXEL12_C
- if (diffYUV(yuv[8], yuv[4])) {
+ if (diffYUV(YUV(8), YUV(4))) {
PIXEL10_C
PIXEL20_C
PIXEL21_C
@@ -1911,19 +1911,19 @@ void HQ3x(const uint8 *srcPtr, uint32 srcPitch, uint8 *dstPtr, uint32 dstPitch,
PIXEL20_4
PIXEL21_3
}
- if (diffYUV(yuv[6], yuv[8])) {
+ if (diffYUV(YUV(6), YUV(8))) {
PIXEL22_1M
} else {
PIXEL22_2
}
break;
case 94:
- if (diffYUV(yuv[4], yuv[2])) {
+ if (diffYUV(YUV(4), YUV(2))) {
PIXEL00_1M
} else {
PIXEL00_2
}
- if (diffYUV(yuv[2], yuv[6])) {
+ if (diffYUV(YUV(2), YUV(6))) {
PIXEL01_C
PIXEL02_C
PIXEL12_C
@@ -1934,38 +1934,38 @@ void HQ3x(const uint8 *srcPtr, uint32 srcPitch, uint8 *dstPtr, uint32 dstPitch,
}
PIXEL10_C
PIXEL11
- if (diffYUV(yuv[8], yuv[4])) {
+ if (diffYUV(YUV(8), YUV(4))) {
PIXEL20_1M
} else {
PIXEL20_2
}
PIXEL21_C
- if (diffYUV(yuv[6], yuv[8])) {
+ if (diffYUV(YUV(6), YUV(8))) {
PIXEL22_1M
} else {
PIXEL22_2
}
break;
case 218:
- if (diffYUV(yuv[4], yuv[2])) {
+ if (diffYUV(YUV(4), YUV(2))) {
PIXEL00_1M
} else {
PIXEL00_2
}
PIXEL01_C
- if (diffYUV(yuv[2], yuv[6])) {
+ if (diffYUV(YUV(2), YUV(6))) {
PIXEL02_1M
} else {
PIXEL02_2
}
PIXEL10_C
PIXEL11
- if (diffYUV(yuv[8], yuv[4])) {
+ if (diffYUV(YUV(8), YUV(4))) {
PIXEL20_1M
} else {
PIXEL20_2
}
- if (diffYUV(yuv[6], yuv[8])) {
+ if (diffYUV(YUV(6), YUV(8))) {
PIXEL12_C
PIXEL21_C
PIXEL22_C
@@ -1976,7 +1976,7 @@ void HQ3x(const uint8 *srcPtr, uint32 srcPitch, uint8 *dstPtr, uint32 dstPitch,
}
break;
case 91:
- if (diffYUV(yuv[4], yuv[2])) {
+ if (diffYUV(YUV(4), YUV(2))) {
PIXEL00_C
PIXEL01_C
PIXEL10_C
@@ -1985,20 +1985,20 @@ void HQ3x(const uint8 *srcPtr, uint32 srcPitch, uint8 *dstPtr, uint32 dstPitch,
PIXEL01_3
PIXEL10_3
}
- if (diffYUV(yuv[2], yuv[6])) {
+ if (diffYUV(YUV(2), YUV(6))) {
PIXEL02_1M
} else {
PIXEL02_2
}
PIXEL11
PIXEL12_C
- if (diffYUV(yuv[8], yuv[4])) {
+ if (diffYUV(YUV(8), YUV(4))) {
PIXEL20_1M
} else {
PIXEL20_2
}
PIXEL21_C
- if (diffYUV(yuv[6], yuv[8])) {
+ if (diffYUV(YUV(6), YUV(8))) {
PIXEL22_1M
} else {
PIXEL22_2
@@ -2049,13 +2049,13 @@ void HQ3x(const uint8 *srcPtr, uint32 srcPitch, uint8 *dstPtr, uint32 dstPitch,
PIXEL22_1D
break;
case 186:
- if (diffYUV(yuv[4], yuv[2])) {
+ if (diffYUV(YUV(4), YUV(2))) {
PIXEL00_1M
} else {
PIXEL00_2
}
PIXEL01_C
- if (diffYUV(yuv[2], yuv[6])) {
+ if (diffYUV(YUV(2), YUV(6))) {
PIXEL02_1M
} else {
PIXEL02_2
@@ -2070,7 +2070,7 @@ void HQ3x(const uint8 *srcPtr, uint32 srcPitch, uint8 *dstPtr, uint32 dstPitch,
case 115:
PIXEL00_1L
PIXEL01_C
- if (diffYUV(yuv[2], yuv[6])) {
+ if (diffYUV(YUV(2), YUV(6))) {
PIXEL02_1M
} else {
PIXEL02_2
@@ -2080,7 +2080,7 @@ void HQ3x(const uint8 *srcPtr, uint32 srcPitch, uint8 *dstPtr, uint32 dstPitch,
PIXEL12_C
PIXEL20_1L
PIXEL21_C
- if (diffYUV(yuv[6], yuv[8])) {
+ if (diffYUV(YUV(6), YUV(8))) {
PIXEL22_1M
} else {
PIXEL22_2
@@ -2093,20 +2093,20 @@ void HQ3x(const uint8 *srcPtr, uint32 srcPitch, uint8 *dstPtr, uint32 dstPitch,
PIXEL10_C
PIXEL11
PIXEL12_C
- if (diffYUV(yuv[8], yuv[4])) {
+ if (diffYUV(YUV(8), YUV(4))) {
PIXEL20_1M
} else {
PIXEL20_2
}
PIXEL21_C
- if (diffYUV(yuv[6], yuv[8])) {
+ if (diffYUV(YUV(6), YUV(8))) {
PIXEL22_1M
} else {
PIXEL22_2
}
break;
case 206:
- if (diffYUV(yuv[4], yuv[2])) {
+ if (diffYUV(YUV(4), YUV(2))) {
PIXEL00_1M
} else {
PIXEL00_2
@@ -2116,7 +2116,7 @@ void HQ3x(const uint8 *srcPtr, uint32 srcPitch, uint8 *dstPtr, uint32 dstPitch,
PIXEL10_C
PIXEL11
PIXEL12_1
- if (diffYUV(yuv[8], yuv[4])) {
+ if (diffYUV(YUV(8), YUV(4))) {
PIXEL20_1M
} else {
PIXEL20_2
@@ -2132,7 +2132,7 @@ void HQ3x(const uint8 *srcPtr, uint32 srcPitch, uint8 *dstPtr, uint32 dstPitch,
PIXEL10_C
PIXEL11
PIXEL12_1
- if (diffYUV(yuv[8], yuv[4])) {
+ if (diffYUV(YUV(8), YUV(4))) {
PIXEL20_1M
} else {
PIXEL20_2
@@ -2142,7 +2142,7 @@ void HQ3x(const uint8 *srcPtr, uint32 srcPitch, uint8 *dstPtr, uint32 dstPitch,
break;
case 174:
case 46:
- if (diffYUV(yuv[4], yuv[2])) {
+ if (diffYUV(YUV(4), YUV(2))) {
PIXEL00_1M
} else {
PIXEL00_2
@@ -2160,7 +2160,7 @@ void HQ3x(const uint8 *srcPtr, uint32 srcPitch, uint8 *dstPtr, uint32 dstPitch,
case 147:
PIXEL00_1L
PIXEL01_C
- if (diffYUV(yuv[2], yuv[6])) {
+ if (diffYUV(YUV(2), YUV(6))) {
PIXEL02_1M
} else {
PIXEL02_2
@@ -2182,7 +2182,7 @@ void HQ3x(const uint8 *srcPtr, uint32 srcPitch, uint8 *dstPtr, uint32 dstPitch,
PIXEL12_C
PIXEL20_1L
PIXEL21_C
- if (diffYUV(yuv[6], yuv[8])) {
+ if (diffYUV(YUV(6), YUV(8))) {
PIXEL22_1M
} else {
PIXEL22_2
@@ -2212,7 +2212,7 @@ void HQ3x(const uint8 *srcPtr, uint32 srcPitch, uint8 *dstPtr, uint32 dstPitch,
break;
case 126:
PIXEL00_1M
- if (diffYUV(yuv[2], yuv[6])) {
+ if (diffYUV(YUV(2), YUV(6))) {
PIXEL01_C
PIXEL02_C
PIXEL12_C
@@ -2222,7 +2222,7 @@ void HQ3x(const uint8 *srcPtr, uint32 srcPitch, uint8 *dstPtr, uint32 dstPitch,
PIXEL12_3
}
PIXEL11
- if (diffYUV(yuv[8], yuv[4])) {
+ if (diffYUV(YUV(8), YUV(4))) {
PIXEL10_C
PIXEL20_C
PIXEL21_C
@@ -2234,7 +2234,7 @@ void HQ3x(const uint8 *srcPtr, uint32 srcPitch, uint8 *dstPtr, uint32 dstPitch,
PIXEL22_1M
break;
case 219:
- if (diffYUV(yuv[4], yuv[2])) {
+ if (diffYUV(YUV(4), YUV(2))) {
PIXEL00_C
PIXEL01_C
PIXEL10_C
@@ -2246,7 +2246,7 @@ void HQ3x(const uint8 *srcPtr, uint32 srcPitch, uint8 *dstPtr, uint32 dstPitch,
PIXEL02_1M
PIXEL11
PIXEL20_1M
- if (diffYUV(yuv[6], yuv[8])) {
+ if (diffYUV(YUV(6), YUV(8))) {
PIXEL12_C
PIXEL21_C
PIXEL22_C
@@ -2257,7 +2257,7 @@ void HQ3x(const uint8 *srcPtr, uint32 srcPitch, uint8 *dstPtr, uint32 dstPitch,
}
break;
case 125:
- if (diffYUV(yuv[8], yuv[4])) {
+ if (diffYUV(YUV(8), YUV(4))) {
PIXEL00_1U
PIXEL10_C
PIXEL20_C
@@ -2275,7 +2275,7 @@ void HQ3x(const uint8 *srcPtr, uint32 srcPitch, uint8 *dstPtr, uint32 dstPitch,
PIXEL22_1M
break;
case 221:
- if (diffYUV(yuv[6], yuv[8])) {
+ if (diffYUV(YUV(6), YUV(8))) {
PIXEL02_1U
PIXEL12_C
PIXEL21_C
@@ -2293,7 +2293,7 @@ void HQ3x(const uint8 *srcPtr, uint32 srcPitch, uint8 *dstPtr, uint32 dstPitch,
PIXEL20_1M
break;
case 207:
- if (diffYUV(yuv[4], yuv[2])) {
+ if (diffYUV(YUV(4), YUV(2))) {
PIXEL00_C
PIXEL01_C
PIXEL02_1R
@@ -2311,7 +2311,7 @@ void HQ3x(const uint8 *srcPtr, uint32 srcPitch, uint8 *dstPtr, uint32 dstPitch,
PIXEL22_1R
break;
case 238:
- if (diffYUV(yuv[8], yuv[4])) {
+ if (diffYUV(YUV(8), YUV(4))) {
PIXEL10_C
PIXEL20_C
PIXEL21_C
@@ -2329,7 +2329,7 @@ void HQ3x(const uint8 *srcPtr, uint32 srcPitch, uint8 *dstPtr, uint32 dstPitch,
PIXEL12_1
break;
case 190:
- if (diffYUV(yuv[2], yuv[6])) {
+ if (diffYUV(YUV(2), YUV(6))) {
PIXEL01_C
PIXEL02_C
PIXEL12_C
@@ -2347,7 +2347,7 @@ void HQ3x(const uint8 *srcPtr, uint32 srcPitch, uint8 *dstPtr, uint32 dstPitch,
PIXEL21_1
break;
case 187:
- if (diffYUV(yuv[4], yuv[2])) {
+ if (diffYUV(YUV(4), YUV(2))) {
PIXEL00_C
PIXEL01_C
PIXEL10_C
@@ -2365,7 +2365,7 @@ void HQ3x(const uint8 *srcPtr, uint32 srcPitch, uint8 *dstPtr, uint32 dstPitch,
PIXEL22_1D
break;
case 243:
- if (diffYUV(yuv[6], yuv[8])) {
+ if (diffYUV(YUV(6), YUV(8))) {
PIXEL12_C
PIXEL20_1L
PIXEL21_C
@@ -2383,7 +2383,7 @@ void HQ3x(const uint8 *srcPtr, uint32 srcPitch, uint8 *dstPtr, uint32 dstPitch,
PIXEL11
break;
case 119:
- if (diffYUV(yuv[2], yuv[6])) {
+ if (diffYUV(YUV(2), YUV(6))) {
PIXEL00_1L
PIXEL01_C
PIXEL02_C
@@ -2408,7 +2408,7 @@ void HQ3x(const uint8 *srcPtr, uint32 srcPitch, uint8 *dstPtr, uint32 dstPitch,
PIXEL10_C
PIXEL11
PIXEL12_1
- if (diffYUV(yuv[8], yuv[4])) {
+ if (diffYUV(YUV(8), YUV(4))) {
PIXEL20_C
} else {
PIXEL20_2
@@ -2418,7 +2418,7 @@ void HQ3x(const uint8 *srcPtr, uint32 srcPitch, uint8 *dstPtr, uint32 dstPitch,
break;
case 175:
case 47:
- if (diffYUV(yuv[4], yuv[2])) {
+ if (diffYUV(YUV(4), YUV(2))) {
PIXEL00_C
} else {
PIXEL00_2
@@ -2436,7 +2436,7 @@ void HQ3x(const uint8 *srcPtr, uint32 srcPitch, uint8 *dstPtr, uint32 dstPitch,
case 151:
PIXEL00_1L
PIXEL01_C
- if (diffYUV(yuv[2], yuv[6])) {
+ if (diffYUV(YUV(2), YUV(6))) {
PIXEL02_C
} else {
PIXEL02_2
@@ -2458,7 +2458,7 @@ void HQ3x(const uint8 *srcPtr, uint32 srcPitch, uint8 *dstPtr, uint32 dstPitch,
PIXEL12_C
PIXEL20_1L
PIXEL21_C
- if (diffYUV(yuv[6], yuv[8])) {
+ if (diffYUV(YUV(6), YUV(8))) {
PIXEL22_C
} else {
PIXEL22_2
@@ -2469,7 +2469,7 @@ void HQ3x(const uint8 *srcPtr, uint32 srcPitch, uint8 *dstPtr, uint32 dstPitch,
PIXEL01_C
PIXEL02_1M
PIXEL11
- if (diffYUV(yuv[8], yuv[4])) {
+ if (diffYUV(YUV(8), YUV(4))) {
PIXEL10_C
PIXEL20_C
} else {
@@ -2477,7 +2477,7 @@ void HQ3x(const uint8 *srcPtr, uint32 srcPitch, uint8 *dstPtr, uint32 dstPitch,
PIXEL20_4
}
PIXEL21_C
- if (diffYUV(yuv[6], yuv[8])) {
+ if (diffYUV(YUV(6), YUV(8))) {
PIXEL12_C
PIXEL22_C
} else {
@@ -2486,7 +2486,7 @@ void HQ3x(const uint8 *srcPtr, uint32 srcPitch, uint8 *dstPtr, uint32 dstPitch,
}
break;
case 123:
- if (diffYUV(yuv[4], yuv[2])) {
+ if (diffYUV(YUV(4), YUV(2))) {
PIXEL00_C
PIXEL01_C
} else {
@@ -2497,7 +2497,7 @@ void HQ3x(const uint8 *srcPtr, uint32 srcPitch, uint8 *dstPtr, uint32 dstPitch,
PIXEL10_C
PIXEL11
PIXEL12_C
- if (diffYUV(yuv[8], yuv[4])) {
+ if (diffYUV(YUV(8), YUV(4))) {
PIXEL20_C
PIXEL21_C
} else {
@@ -2507,7 +2507,7 @@ void HQ3x(const uint8 *srcPtr, uint32 srcPitch, uint8 *dstPtr, uint32 dstPitch,
PIXEL22_1M
break;
case 95:
- if (diffYUV(yuv[4], yuv[2])) {
+ if (diffYUV(YUV(4), YUV(2))) {
PIXEL00_C
PIXEL10_C
} else {
@@ -2515,7 +2515,7 @@ void HQ3x(const uint8 *srcPtr, uint32 srcPitch, uint8 *dstPtr, uint32 dstPitch,
PIXEL10_3
}
PIXEL01_C
- if (diffYUV(yuv[2], yuv[6])) {
+ if (diffYUV(YUV(2), YUV(6))) {
PIXEL02_C
PIXEL12_C
} else {
@@ -2529,7 +2529,7 @@ void HQ3x(const uint8 *srcPtr, uint32 srcPitch, uint8 *dstPtr, uint32 dstPitch,
break;
case 222:
PIXEL00_1M
- if (diffYUV(yuv[2], yuv[6])) {
+ if (diffYUV(YUV(2), YUV(6))) {
PIXEL01_C
PIXEL02_C
} else {
@@ -2540,7 +2540,7 @@ void HQ3x(const uint8 *srcPtr, uint32 srcPitch, uint8 *dstPtr, uint32 dstPitch,
PIXEL11
PIXEL12_C
PIXEL20_1M
- if (diffYUV(yuv[6], yuv[8])) {
+ if (diffYUV(YUV(6), YUV(8))) {
PIXEL21_C
PIXEL22_C
} else {
@@ -2554,7 +2554,7 @@ void HQ3x(const uint8 *srcPtr, uint32 srcPitch, uint8 *dstPtr, uint32 dstPitch,
PIXEL02_1U
PIXEL11
PIXEL12_C
- if (diffYUV(yuv[8], yuv[4])) {
+ if (diffYUV(YUV(8), YUV(4))) {
PIXEL10_C
PIXEL20_C
} else {
@@ -2562,7 +2562,7 @@ void HQ3x(const uint8 *srcPtr, uint32 srcPitch, uint8 *dstPtr, uint32 dstPitch,
PIXEL20_4
}
PIXEL21_C
- if (diffYUV(yuv[6], yuv[8])) {
+ if (diffYUV(YUV(6), YUV(8))) {
PIXEL22_C
} else {
PIXEL22_2
@@ -2574,13 +2574,13 @@ void HQ3x(const uint8 *srcPtr, uint32 srcPitch, uint8 *dstPtr, uint32 dstPitch,
PIXEL02_1M
PIXEL10_C
PIXEL11
- if (diffYUV(yuv[8], yuv[4])) {
+ if (diffYUV(YUV(8), YUV(4))) {
PIXEL20_C
} else {
PIXEL20_2
}
PIXEL21_C
- if (diffYUV(yuv[6], yuv[8])) {
+ if (diffYUV(YUV(6), YUV(8))) {
PIXEL12_C
PIXEL22_C
} else {
@@ -2589,7 +2589,7 @@ void HQ3x(const uint8 *srcPtr, uint32 srcPitch, uint8 *dstPtr, uint32 dstPitch,
}
break;
case 235:
- if (diffYUV(yuv[4], yuv[2])) {
+ if (diffYUV(YUV(4), YUV(2))) {
PIXEL00_C
PIXEL01_C
} else {
@@ -2600,7 +2600,7 @@ void HQ3x(const uint8 *srcPtr, uint32 srcPitch, uint8 *dstPtr, uint32 dstPitch,
PIXEL10_C
PIXEL11
PIXEL12_1
- if (diffYUV(yuv[8], yuv[4])) {
+ if (diffYUV(YUV(8), YUV(4))) {
PIXEL20_C
} else {
PIXEL20_2
@@ -2609,7 +2609,7 @@ void HQ3x(const uint8 *srcPtr, uint32 srcPitch, uint8 *dstPtr, uint32 dstPitch,
PIXEL22_1R
break;
case 111:
- if (diffYUV(yuv[4], yuv[2])) {
+ if (diffYUV(YUV(4), YUV(2))) {
PIXEL00_C
} else {
PIXEL00_2
@@ -2619,7 +2619,7 @@ void HQ3x(const uint8 *srcPtr, uint32 srcPitch, uint8 *dstPtr, uint32 dstPitch,
PIXEL10_C
PIXEL11
PIXEL12_1
- if (diffYUV(yuv[8], yuv[4])) {
+ if (diffYUV(YUV(8), YUV(4))) {
PIXEL20_C
PIXEL21_C
} else {
@@ -2629,13 +2629,13 @@ void HQ3x(const uint8 *srcPtr, uint32 srcPitch, uint8 *dstPtr, uint32 dstPitch,
PIXEL22_1M
break;
case 63:
- if (diffYUV(yuv[4], yuv[2])) {
+ if (diffYUV(YUV(4), YUV(2))) {
PIXEL00_C
} else {
PIXEL00_2
}
PIXEL01_C
- if (diffYUV(yuv[2], yuv[6])) {
+ if (diffYUV(YUV(2), YUV(6))) {
PIXEL02_C
PIXEL12_C
} else {
@@ -2649,7 +2649,7 @@ void HQ3x(const uint8 *srcPtr, uint32 srcPitch, uint8 *dstPtr, uint32 dstPitch,
PIXEL22_1M
break;
case 159:
- if (diffYUV(yuv[4], yuv[2])) {
+ if (diffYUV(YUV(4), YUV(2))) {
PIXEL00_C
PIXEL10_C
} else {
@@ -2657,7 +2657,7 @@ void HQ3x(const uint8 *srcPtr, uint32 srcPitch, uint8 *dstPtr, uint32 dstPitch,
PIXEL10_3
}
PIXEL01_C
- if (diffYUV(yuv[2], yuv[6])) {
+ if (diffYUV(YUV(2), YUV(6))) {
PIXEL02_C
} else {
PIXEL02_2
@@ -2671,7 +2671,7 @@ void HQ3x(const uint8 *srcPtr, uint32 srcPitch, uint8 *dstPtr, uint32 dstPitch,
case 215:
PIXEL00_1L
PIXEL01_C
- if (diffYUV(yuv[2], yuv[6])) {
+ if (diffYUV(YUV(2), YUV(6))) {
PIXEL02_C
} else {
PIXEL02_2
@@ -2680,7 +2680,7 @@ void HQ3x(const uint8 *srcPtr, uint32 srcPitch, uint8 *dstPtr, uint32 dstPitch,
PIXEL11
PIXEL12_C
PIXEL20_1M
- if (diffYUV(yuv[6], yuv[8])) {
+ if (diffYUV(YUV(6), YUV(8))) {
PIXEL21_C
PIXEL22_C
} else {
@@ -2690,7 +2690,7 @@ void HQ3x(const uint8 *srcPtr, uint32 srcPitch, uint8 *dstPtr, uint32 dstPitch,
break;
case 246:
PIXEL00_1M
- if (diffYUV(yuv[2], yuv[6])) {
+ if (diffYUV(YUV(2), YUV(6))) {
PIXEL01_C
PIXEL02_C
} else {
@@ -2702,7 +2702,7 @@ void HQ3x(const uint8 *srcPtr, uint32 srcPitch, uint8 *dstPtr, uint32 dstPitch,
PIXEL12_C
PIXEL20_1L
PIXEL21_C
- if (diffYUV(yuv[6], yuv[8])) {
+ if (diffYUV(YUV(6), YUV(8))) {
PIXEL22_C
} else {
PIXEL22_2
@@ -2710,7 +2710,7 @@ void HQ3x(const uint8 *srcPtr, uint32 srcPitch, uint8 *dstPtr, uint32 dstPitch,
break;
case 254:
PIXEL00_1M
- if (diffYUV(yuv[2], yuv[6])) {
+ if (diffYUV(YUV(2), YUV(6))) {
PIXEL01_C
PIXEL02_C
} else {
@@ -2718,14 +2718,14 @@ void HQ3x(const uint8 *srcPtr, uint32 srcPitch, uint8 *dstPtr, uint32 dstPitch,
PIXEL02_4
}
PIXEL11
- if (diffYUV(yuv[8], yuv[4])) {
+ if (diffYUV(YUV(8), YUV(4))) {
PIXEL10_C
PIXEL20_C
} else {
PIXEL10_3
PIXEL20_4
}
- if (diffYUV(yuv[6], yuv[8])) {
+ if (diffYUV(YUV(6), YUV(8))) {
PIXEL12_C
PIXEL21_C
PIXEL22_C
@@ -2742,20 +2742,20 @@ void HQ3x(const uint8 *srcPtr, uint32 srcPitch, uint8 *dstPtr, uint32 dstPitch,
PIXEL10_C
PIXEL11
PIXEL12_C
- if (diffYUV(yuv[8], yuv[4])) {
+ if (diffYUV(YUV(8), YUV(4))) {
PIXEL20_C
} else {
PIXEL20_2
}
PIXEL21_C
- if (diffYUV(yuv[6], yuv[8])) {
+ if (diffYUV(YUV(6), YUV(8))) {
PIXEL22_C
} else {
PIXEL22_2
}
break;
case 251:
- if (diffYUV(yuv[4], yuv[2])) {
+ if (diffYUV(YUV(4), YUV(2))) {
PIXEL00_C
PIXEL01_C
} else {
@@ -2764,7 +2764,7 @@ void HQ3x(const uint8 *srcPtr, uint32 srcPitch, uint8 *dstPtr, uint32 dstPitch,
}
PIXEL02_1M
PIXEL11
- if (diffYUV(yuv[8], yuv[4])) {
+ if (diffYUV(YUV(8), YUV(4))) {
PIXEL10_C
PIXEL20_C
PIXEL21_C
@@ -2773,7 +2773,7 @@ void HQ3x(const uint8 *srcPtr, uint32 srcPitch, uint8 *dstPtr, uint32 dstPitch,
PIXEL20_2
PIXEL21_3
}
- if (diffYUV(yuv[6], yuv[8])) {
+ if (diffYUV(YUV(6), YUV(8))) {
PIXEL12_C
PIXEL22_C
} else {
@@ -2782,7 +2782,7 @@ void HQ3x(const uint8 *srcPtr, uint32 srcPitch, uint8 *dstPtr, uint32 dstPitch,
}
break;
case 239:
- if (diffYUV(yuv[4], yuv[2])) {
+ if (diffYUV(YUV(4), YUV(2))) {
PIXEL00_C
} else {
PIXEL00_2
@@ -2792,7 +2792,7 @@ void HQ3x(const uint8 *srcPtr, uint32 srcPitch, uint8 *dstPtr, uint32 dstPitch,
PIXEL10_C
PIXEL11
PIXEL12_1
- if (diffYUV(yuv[8], yuv[4])) {
+ if (diffYUV(YUV(8), YUV(4))) {
PIXEL20_C
} else {
PIXEL20_2
@@ -2801,7 +2801,7 @@ void HQ3x(const uint8 *srcPtr, uint32 srcPitch, uint8 *dstPtr, uint32 dstPitch,
PIXEL22_1R
break;
case 127:
- if (diffYUV(yuv[4], yuv[2])) {
+ if (diffYUV(YUV(4), YUV(2))) {
PIXEL00_C
PIXEL01_C
PIXEL10_C
@@ -2810,7 +2810,7 @@ void HQ3x(const uint8 *srcPtr, uint32 srcPitch, uint8 *dstPtr, uint32 dstPitch,
PIXEL01_3
PIXEL10_3
}
- if (diffYUV(yuv[2], yuv[6])) {
+ if (diffYUV(YUV(2), YUV(6))) {
PIXEL02_C
PIXEL12_C
} else {
@@ -2818,7 +2818,7 @@ void HQ3x(const uint8 *srcPtr, uint32 srcPitch, uint8 *dstPtr, uint32 dstPitch,
PIXEL12_3
}
PIXEL11
- if (diffYUV(yuv[8], yuv[4])) {
+ if (diffYUV(YUV(8), YUV(4))) {
PIXEL20_C
PIXEL21_C
} else {
@@ -2828,13 +2828,13 @@ void HQ3x(const uint8 *srcPtr, uint32 srcPitch, uint8 *dstPtr, uint32 dstPitch,
PIXEL22_1M
break;
case 191:
- if (diffYUV(yuv[4], yuv[2])) {
+ if (diffYUV(YUV(4), YUV(2))) {
PIXEL00_C
} else {
PIXEL00_2
}
PIXEL01_C
- if (diffYUV(yuv[2], yuv[6])) {
+ if (diffYUV(YUV(2), YUV(6))) {
PIXEL02_C
} else {
PIXEL02_2
@@ -2847,14 +2847,14 @@ void HQ3x(const uint8 *srcPtr, uint32 srcPitch, uint8 *dstPtr, uint32 dstPitch,
PIXEL22_1D
break;
case 223:
- if (diffYUV(yuv[4], yuv[2])) {
+ if (diffYUV(YUV(4), YUV(2))) {
PIXEL00_C
PIXEL10_C
} else {
PIXEL00_4
PIXEL10_3
}
- if (diffYUV(yuv[2], yuv[6])) {
+ if (diffYUV(YUV(2), YUV(6))) {
PIXEL01_C
PIXEL02_C
PIXEL12_C
@@ -2865,7 +2865,7 @@ void HQ3x(const uint8 *srcPtr, uint32 srcPitch, uint8 *dstPtr, uint32 dstPitch,
}
PIXEL11
PIXEL20_1M
- if (diffYUV(yuv[6], yuv[8])) {
+ if (diffYUV(YUV(6), YUV(8))) {
PIXEL21_C
PIXEL22_C
} else {
@@ -2876,7 +2876,7 @@ void HQ3x(const uint8 *srcPtr, uint32 srcPitch, uint8 *dstPtr, uint32 dstPitch,
case 247:
PIXEL00_1L
PIXEL01_C
- if (diffYUV(yuv[2], yuv[6])) {
+ if (diffYUV(YUV(2), YUV(6))) {
PIXEL02_C
} else {
PIXEL02_2
@@ -2886,20 +2886,20 @@ void HQ3x(const uint8 *srcPtr, uint32 srcPitch, uint8 *dstPtr, uint32 dstPitch,
PIXEL12_C
PIXEL20_1L
PIXEL21_C
- if (diffYUV(yuv[6], yuv[8])) {
+ if (diffYUV(YUV(6), YUV(8))) {
PIXEL22_C
} else {
PIXEL22_2
}
break;
case 255:
- if (diffYUV(yuv[4], yuv[2])) {
+ if (diffYUV(YUV(4), YUV(2))) {
PIXEL00_C
} else {
PIXEL00_2
}
PIXEL01_C
- if (diffYUV(yuv[2], yuv[6])) {
+ if (diffYUV(YUV(2), YUV(6))) {
PIXEL02_C
} else {
PIXEL02_2
@@ -2907,13 +2907,13 @@ void HQ3x(const uint8 *srcPtr, uint32 srcPitch, uint8 *dstPtr, uint32 dstPitch,
PIXEL10_C
PIXEL11
PIXEL12_C
- if (diffYUV(yuv[8], yuv[4])) {
+ if (diffYUV(YUV(8), YUV(4))) {
PIXEL20_C
} else {
PIXEL20_2
}
PIXEL21_C
- if (diffYUV(yuv[6], yuv[8])) {
+ if (diffYUV(YUV(6), YUV(8))) {
PIXEL22_C
} else {
PIXEL22_2
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 ) );
+*/
}
/**