1/*****************************************************************************\
2 Snes9x - Portable Super Nintendo Entertainment System (TM) emulator.
3 This file is licensed under the Snes9x License.
4 For further information, consult the LICENSE file in the root directory.
5\*****************************************************************************/
6
7#include "snes9x.h"
8#include "gfx.h"
9#include "hq2x.h"
10
11#define Ymask 0xFF0000
12#define Umask 0x00FF00
13#define Vmask 0x0000FF
14#define trY 0x300000
15#define trU 0x000700
16#define trV 0x000006
17
18#define Mask_2 SECOND_COLOR_MASK
19#define Mask13 FIRST_THIRD_COLOR_MASK
20
21#define Interp01(c1, c2) \
22(c1 == c2) ? c1 : \
23(((((c1 & Mask_2) * 3 + (c2 & Mask_2) ) >> 2) & Mask_2) + \
24 ((((c1 & Mask13) * 3 + (c2 & Mask13) ) >> 2) & Mask13))
25
26#define Interp02(c1, c2, c3) \
27(((((c1 & Mask_2) * 2 + (c2 & Mask_2) + (c3 & Mask_2) ) >> 2) & Mask_2) + \
28 ((((c1 & Mask13) * 2 + (c2 & Mask13) + (c3 & Mask13) ) >> 2) & Mask13))
29
30#define Interp03(c1, c2) \
31(c1 == c2) ? c1 : \
32(((((c1 & Mask_2) * 7 + (c2 & Mask_2) ) >> 3) & Mask_2) + \
33 ((((c1 & Mask13) * 7 + (c2 & Mask13) ) >> 3) & Mask13))
34
35#define Interp04(c1, c2, c3) \
36(((((c1 & Mask_2) * 2 + (c2 & Mask_2) * 7 + (c3 & Mask_2) * 7) >> 4) & Mask_2) + \
37 ((((c1 & Mask13) * 2 + (c2 & Mask13) * 7 + (c3 & Mask13) * 7) >> 4) & Mask13))
38
39#define Interp05(c1, c2) \
40(c1 == c2) ? c1 : \
41(((((c1 & Mask_2) + (c2 & Mask_2)) >> 1) & Mask_2) + \
42 ((((c1 & Mask13) + (c2 & Mask13)) >> 1) & Mask13))
43
44#define Interp06(c1, c2, c3) \
45(((((c1 & Mask_2) * 5 + (c2 & Mask_2) * 2 + (c3 & Mask_2) ) >> 3) & Mask_2) + \
46 ((((c1 & Mask13) * 5 + (c2 & Mask13) * 2 + (c3 & Mask13) ) >> 3) & Mask13))
47
48#define Interp07(c1, c2, c3) \
49(((((c1 & Mask_2) * 6 + (c2 & Mask_2) + (c3 & Mask_2) ) >> 3) & Mask_2) + \
50 ((((c1 & Mask13) * 6 + (c2 & Mask13) + (c3 & Mask13) ) >> 3) & Mask13))
51
52#define Interp08(c1, c2) \
53(c1 == c2) ? c1 : \
54(((((c1 & Mask_2) * 5 + (c2 & Mask_2) * 3) >> 3) & Mask_2) + \
55 ((((c1 & Mask13) * 5 + (c2 & Mask13) * 3) >> 3) & Mask13))
56
57#define Interp09(c1, c2, c3) \
58(((((c1 & Mask_2) * 2 + (c2 & Mask_2) * 3 + (c3 & Mask_2) * 3) >> 3) & Mask_2) + \
59 ((((c1 & Mask13) * 2 + (c2 & Mask13) * 3 + (c3 & Mask13) * 3) >> 3) & Mask13))
60
61#define Interp10(c1, c2, c3) \
62(((((c1 & Mask_2) * 14 + (c2 & Mask_2) + (c3 & Mask_2) ) >> 4) & Mask_2) + \
63 ((((c1 & Mask13) * 14 + (c2 & Mask13) + (c3 & Mask13) ) >> 4) & Mask13))
64
65#define X2PIXEL00_0 *(dp) = w5;
66#define X2PIXEL00_10 *(dp) = Interp01(w5, w1);
67#define X2PIXEL00_11 *(dp) = Interp01(w5, w4);
68#define X2PIXEL00_12 *(dp) = Interp01(w5, w2);
69#define X2PIXEL00_20 *(dp) = Interp02(w5, w4, w2);
70#define X2PIXEL00_21 *(dp) = Interp02(w5, w1, w2);
71#define X2PIXEL00_22 *(dp) = Interp02(w5, w1, w4);
72#define X2PIXEL00_60 *(dp) = Interp06(w5, w2, w4);
73#define X2PIXEL00_61 *(dp) = Interp06(w5, w4, w2);
74#define X2PIXEL00_70 *(dp) = Interp07(w5, w4, w2);
75#define X2PIXEL00_90 *(dp) = Interp09(w5, w4, w2);
76#define X2PIXEL00_100 *(dp) = Interp10(w5, w4, w2);
77
78#define X2PIXEL01_0 *(dp + 1) = w5;
79#define X2PIXEL01_10 *(dp + 1) = Interp01(w5, w3);
80#define X2PIXEL01_11 *(dp + 1) = Interp01(w5, w2);
81#define X2PIXEL01_12 *(dp + 1) = Interp01(w5, w6);
82#define X2PIXEL01_20 *(dp + 1) = Interp02(w5, w2, w6);
83#define X2PIXEL01_21 *(dp + 1) = Interp02(w5, w3, w6);
84#define X2PIXEL01_22 *(dp + 1) = Interp02(w5, w3, w2);
85#define X2PIXEL01_60 *(dp + 1) = Interp06(w5, w6, w2);
86#define X2PIXEL01_61 *(dp + 1) = Interp06(w5, w2, w6);
87#define X2PIXEL01_70 *(dp + 1) = Interp07(w5, w2, w6);
88#define X2PIXEL01_90 *(dp + 1) = Interp09(w5, w2, w6);
89#define X2PIXEL01_100 *(dp + 1) = Interp10(w5, w2, w6);
90
91#define X2PIXEL10_0 *(dp + dst1line) = w5;
92#define X2PIXEL10_10 *(dp + dst1line) = Interp01(w5, w7);
93#define X2PIXEL10_11 *(dp + dst1line) = Interp01(w5, w8);
94#define X2PIXEL10_12 *(dp + dst1line) = Interp01(w5, w4);
95#define X2PIXEL10_20 *(dp + dst1line) = Interp02(w5, w8, w4);
96#define X2PIXEL10_21 *(dp + dst1line) = Interp02(w5, w7, w4);
97#define X2PIXEL10_22 *(dp + dst1line) = Interp02(w5, w7, w8);
98#define X2PIXEL10_60 *(dp + dst1line) = Interp06(w5, w4, w8);
99#define X2PIXEL10_61 *(dp + dst1line) = Interp06(w5, w8, w4);
100#define X2PIXEL10_70 *(dp + dst1line) = Interp07(w5, w8, w4);
101#define X2PIXEL10_90 *(dp + dst1line) = Interp09(w5, w8, w4);
102#define X2PIXEL10_100 *(dp + dst1line) = Interp10(w5, w8, w4);
103
104#define X2PIXEL11_0 *(dp + dst1line + 1) = w5;
105#define X2PIXEL11_10 *(dp + dst1line + 1) = Interp01(w5, w9);
106#define X2PIXEL11_11 *(dp + dst1line + 1) = Interp01(w5, w6);
107#define X2PIXEL11_12 *(dp + dst1line + 1) = Interp01(w5, w8);
108#define X2PIXEL11_20 *(dp + dst1line + 1) = Interp02(w5, w6, w8);
109#define X2PIXEL11_21 *(dp + dst1line + 1) = Interp02(w5, w9, w8);
110#define X2PIXEL11_22 *(dp + dst1line + 1) = Interp02(w5, w9, w6);
111#define X2PIXEL11_60 *(dp + dst1line + 1) = Interp06(w5, w8, w6);
112#define X2PIXEL11_61 *(dp + dst1line + 1) = Interp06(w5, w6, w8);
113#define X2PIXEL11_70 *(dp + dst1line + 1) = Interp07(w5, w6, w8);
114#define X2PIXEL11_90 *(dp + dst1line + 1) = Interp09(w5, w6, w8);
115#define X2PIXEL11_100 *(dp + dst1line + 1) = Interp10(w5, w6, w8);
116
117#define X3PIXEL00_1M *(dp) = Interp01(w5, w1);
118#define X3PIXEL00_1U *(dp) = Interp01(w5, w2);
119#define X3PIXEL00_1L *(dp) = Interp01(w5, w4);
120#define X3PIXEL00_2 *(dp) = Interp02(w5, w4, w2);
121#define X3PIXEL00_4 *(dp) = Interp04(w5, w4, w2);
122#define X3PIXEL00_5 *(dp) = Interp05(w4, w2);
123#define X3PIXEL00_C *(dp) = w5;
124
125#define X3PIXEL01_1 *(dp + 1) = Interp01(w5, w2);
126#define X3PIXEL01_3 *(dp + 1) = Interp03(w5, w2);
127#define X3PIXEL01_6 *(dp + 1) = Interp01(w2, w5);
128#define X3PIXEL01_C *(dp + 1) = w5;
129
130#define X3PIXEL02_1M *(dp + 2) = Interp01(w5, w3);
131#define X3PIXEL02_1U *(dp + 2) = Interp01(w5, w2);
132#define X3PIXEL02_1R *(dp + 2) = Interp01(w5, w6);
133#define X3PIXEL02_2 *(dp + 2) = Interp02(w5, w2, w6);
134#define X3PIXEL02_4 *(dp + 2) = Interp04(w5, w2, w6);
135#define X3PIXEL02_5 *(dp + 2) = Interp05(w2, w6);
136#define X3PIXEL02_C *(dp + 2) = w5;
137
138#define X3PIXEL10_1 *(dp + dst1line) = Interp01(w5, w4);
139#define X3PIXEL10_3 *(dp + dst1line) = Interp03(w5, w4);
140#define X3PIXEL10_6 *(dp + dst1line) = Interp01(w4, w5);
141#define X3PIXEL10_C *(dp + dst1line) = w5;
142
143#define X3PIXEL11 *(dp + dst1line + 1) = w5;
144
145#define X3PIXEL12_1 *(dp + dst1line + 2) = Interp01(w5, w6);
146#define X3PIXEL12_3 *(dp + dst1line + 2) = Interp03(w5, w6);
147#define X3PIXEL12_6 *(dp + dst1line + 2) = Interp01(w6, w5);
148#define X3PIXEL12_C *(dp + dst1line + 2) = w5;
149
150#define X3PIXEL20_1M *(dp + dst1line + dst1line) = Interp01(w5, w7);
151#define X3PIXEL20_1D *(dp + dst1line + dst1line) = Interp01(w5, w8);
152#define X3PIXEL20_1L *(dp + dst1line + dst1line) = Interp01(w5, w4);
153#define X3PIXEL20_2 *(dp + dst1line + dst1line) = Interp02(w5, w8, w4);
154#define X3PIXEL20_4 *(dp + dst1line + dst1line) = Interp04(w5, w8, w4);
155#define X3PIXEL20_5 *(dp + dst1line + dst1line) = Interp05(w8, w4);
156#define X3PIXEL20_C *(dp + dst1line + dst1line) = w5;
157
158#define X3PIXEL21_1 *(dp + dst1line + dst1line + 1) = Interp01(w5, w8);
159#define X3PIXEL21_3 *(dp + dst1line + dst1line + 1) = Interp03(w5, w8);
160#define X3PIXEL21_6 *(dp + dst1line + dst1line + 1) = Interp01(w8, w5);
161#define X3PIXEL21_C *(dp + dst1line + dst1line + 1) = w5;
162
163#define X3PIXEL22_1M *(dp + dst1line + dst1line + 2) = Interp01(w5, w9);
164#define X3PIXEL22_1D *(dp + dst1line + dst1line + 2) = Interp01(w5, w8);
165#define X3PIXEL22_1R *(dp + dst1line + dst1line + 2) = Interp01(w5, w6);
166#define X3PIXEL22_2 *(dp + dst1line + dst1line + 2) = Interp02(w5, w6, w8);
167#define X3PIXEL22_4 *(dp + dst1line + dst1line + 2) = Interp04(w5, w6, w8);
168#define X3PIXEL22_5 *(dp + dst1line + dst1line + 2) = Interp05(w6, w8);
169#define X3PIXEL22_C *(dp + dst1line + dst1line + 2) = w5;
170
171#define X4PIXEL00_0 *(dp) = w5;
172#define X4PIXEL00_11 *(dp) = Interp01(w5, w4);
173#define X4PIXEL00_12 *(dp) = Interp01(w5, w2);
174#define X4PIXEL00_20 *(dp) = Interp02(w5, w2, w4);
175#define X4PIXEL00_50 *(dp) = Interp05(w2, w4);
176#define X4PIXEL00_80 *(dp) = Interp08(w5, w1);
177#define X4PIXEL00_81 *(dp) = Interp08(w5, w4);
178#define X4PIXEL00_82 *(dp) = Interp08(w5, w2);
179
180#define X4PIXEL01_0 *(dp + 1) = w5;
181#define X4PIXEL01_10 *(dp + 1) = Interp01(w5, w1);
182#define X4PIXEL01_12 *(dp + 1) = Interp01(w5, w2);
183#define X4PIXEL01_14 *(dp + 1) = Interp01(w2, w5);
184#define X4PIXEL01_21 *(dp + 1) = Interp02(w2, w5, w4);
185#define X4PIXEL01_31 *(dp + 1) = Interp03(w5, w4);
186#define X4PIXEL01_50 *(dp + 1) = Interp05(w2, w5);
187#define X4PIXEL01_60 *(dp + 1) = Interp06(w5, w2, w4);
188#define X4PIXEL01_61 *(dp + 1) = Interp06(w5, w2, w1);
189#define X4PIXEL01_82 *(dp + 1) = Interp08(w5, w2);
190#define X4PIXEL01_83 *(dp + 1) = Interp08(w2, w4);
191
192#define X4PIXEL02_0 *(dp + 2) = w5;
193#define X4PIXEL02_10 *(dp + 2) = Interp01(w5, w3);
194#define X4PIXEL02_11 *(dp + 2) = Interp01(w5, w2);
195#define X4PIXEL02_13 *(dp + 2) = Interp01(w2, w5);
196#define X4PIXEL02_21 *(dp + 2) = Interp02(w2, w5, w6);
197#define X4PIXEL02_32 *(dp + 2) = Interp03(w5, w6);
198#define X4PIXEL02_50 *(dp + 2) = Interp05(w2, w5);
199#define X4PIXEL02_60 *(dp + 2) = Interp06(w5, w2, w6);
200#define X4PIXEL02_61 *(dp + 2) = Interp06(w5, w2, w3);
201#define X4PIXEL02_81 *(dp + 2) = Interp08(w5, w2);
202#define X4PIXEL02_83 *(dp + 2) = Interp08(w2, w6);
203
204#define X4PIXEL03_0 *(dp + 3) = w5;
205#define X4PIXEL03_11 *(dp + 3) = Interp01(w5, w2);
206#define X4PIXEL03_12 *(dp + 3) = Interp01(w5, w6);
207#define X4PIXEL03_20 *(dp + 3) = Interp02(w5, w2, w6);
208#define X4PIXEL03_50 *(dp + 3) = Interp05(w2, w6);
209#define X4PIXEL03_80 *(dp + 3) = Interp08(w5, w3);
210#define X4PIXEL03_81 *(dp + 3) = Interp08(w5, w2);
211#define X4PIXEL03_82 *(dp + 3) = Interp08(w5, w6);
212
213#define X4PIXEL10_0 *(dp + dst1line) = w5;
214#define X4PIXEL10_10 *(dp + dst1line) = Interp01(w5, w1);
215#define X4PIXEL10_11 *(dp + dst1line) = Interp01(w5, w4);
216#define X4PIXEL10_13 *(dp + dst1line) = Interp01(w4, w5);
217#define X4PIXEL10_21 *(dp + dst1line) = Interp02(w4, w5, w2);
218#define X4PIXEL10_32 *(dp + dst1line) = Interp03(w5, w2);
219#define X4PIXEL10_50 *(dp + dst1line) = Interp05(w4, w5);
220#define X4PIXEL10_60 *(dp + dst1line) = Interp06(w5, w4, w2);
221#define X4PIXEL10_61 *(dp + dst1line) = Interp06(w5, w4, w1);
222#define X4PIXEL10_81 *(dp + dst1line) = Interp08(w5, w4);
223#define X4PIXEL10_83 *(dp + dst1line) = Interp08(w4, w2);
224
225#define X4PIXEL11_0 *(dp + dst1line + 1) = w5;
226#define X4PIXEL11_30 *(dp + dst1line + 1) = Interp03(w5, w1);
227#define X4PIXEL11_31 *(dp + dst1line + 1) = Interp03(w5, w4);
228#define X4PIXEL11_32 *(dp + dst1line + 1) = Interp03(w5, w2);
229#define X4PIXEL11_70 *(dp + dst1line + 1) = Interp07(w5, w4, w2);
230
231#define X4PIXEL12_0 *(dp + dst1line + 2) = w5;
232#define X4PIXEL12_30 *(dp + dst1line + 2) = Interp03(w5, w3);
233#define X4PIXEL12_31 *(dp + dst1line + 2) = Interp03(w5, w2);
234#define X4PIXEL12_32 *(dp + dst1line + 2) = Interp03(w5, w6);
235#define X4PIXEL12_70 *(dp + dst1line + 2) = Interp07(w5, w6, w2);
236
237#define X4PIXEL13_0 *(dp + dst1line + 3) = w5;
238#define X4PIXEL13_10 *(dp + dst1line + 3) = Interp01(w5, w3);
239#define X4PIXEL13_12 *(dp + dst1line + 3) = Interp01(w5, w6);
240#define X4PIXEL13_14 *(dp + dst1line + 3) = Interp01(w6, w5);
241#define X4PIXEL13_21 *(dp + dst1line + 3) = Interp02(w6, w5, w2);
242#define X4PIXEL13_31 *(dp + dst1line + 3) = Interp03(w5, w2);
243#define X4PIXEL13_50 *(dp + dst1line + 3) = Interp05(w6, w5);
244#define X4PIXEL13_60 *(dp + dst1line + 3) = Interp06(w5, w6, w2);
245#define X4PIXEL13_61 *(dp + dst1line + 3) = Interp06(w5, w6, w3);
246#define X4PIXEL13_82 *(dp + dst1line + 3) = Interp08(w5, w6);
247#define X4PIXEL13_83 *(dp + dst1line + 3) = Interp08(w6, w2);
248
249#define X4PIXEL20_0 *(dp + dst1line + dst1line) = w5;
250#define X4PIXEL20_10 *(dp + dst1line + dst1line) = Interp01(w5, w7);
251#define X4PIXEL20_12 *(dp + dst1line + dst1line) = Interp01(w5, w4);
252#define X4PIXEL20_14 *(dp + dst1line + dst1line) = Interp01(w4, w5);
253#define X4PIXEL20_21 *(dp + dst1line + dst1line) = Interp02(w4, w5, w8);
254#define X4PIXEL20_31 *(dp + dst1line + dst1line) = Interp03(w5, w8);
255#define X4PIXEL20_50 *(dp + dst1line + dst1line) = Interp05(w4, w5);
256#define X4PIXEL20_60 *(dp + dst1line + dst1line) = Interp06(w5, w4, w8);
257#define X4PIXEL20_61 *(dp + dst1line + dst1line) = Interp06(w5, w4, w7);
258#define X4PIXEL20_82 *(dp + dst1line + dst1line) = Interp08(w5, w4);
259#define X4PIXEL20_83 *(dp + dst1line + dst1line) = Interp08(w4, w8);
260
261#define X4PIXEL21_0 *(dp + dst1line + dst1line + 1) = w5;
262#define X4PIXEL21_30 *(dp + dst1line + dst1line + 1) = Interp03(w5, w7);
263#define X4PIXEL21_31 *(dp + dst1line + dst1line + 1) = Interp03(w5, w8);
264#define X4PIXEL21_32 *(dp + dst1line + dst1line + 1) = Interp03(w5, w4);
265#define X4PIXEL21_70 *(dp + dst1line + dst1line + 1) = Interp07(w5, w4, w8);
266
267#define X4PIXEL22_0 *(dp + dst1line + dst1line + 2) = w5;
268#define X4PIXEL22_30 *(dp + dst1line + dst1line + 2) = Interp03(w5, w9);
269#define X4PIXEL22_31 *(dp + dst1line + dst1line + 2) = Interp03(w5, w6);
270#define X4PIXEL22_32 *(dp + dst1line + dst1line + 2) = Interp03(w5, w8);
271#define X4PIXEL22_70 *(dp + dst1line + dst1line + 2) = Interp07(w5, w6, w8);
272
273#define X4PIXEL23_0 *(dp + dst1line + dst1line + 3) = w5;
274#define X4PIXEL23_10 *(dp + dst1line + dst1line + 3) = Interp01(w5, w9);
275#define X4PIXEL23_11 *(dp + dst1line + dst1line + 3) = Interp01(w5, w6);
276#define X4PIXEL23_13 *(dp + dst1line + dst1line + 3) = Interp01(w6, w5);
277#define X4PIXEL23_21 *(dp + dst1line + dst1line + 3) = Interp02(w6, w5, w8);
278#define X4PIXEL23_32 *(dp + dst1line + dst1line + 3) = Interp03(w5, w8);
279#define X4PIXEL23_50 *(dp + dst1line + dst1line + 3) = Interp05(w6, w5);
280#define X4PIXEL23_60 *(dp + dst1line + dst1line + 3) = Interp06(w5, w6, w8);
281#define X4PIXEL23_61 *(dp + dst1line + dst1line + 3) = Interp06(w5, w6, w9);
282#define X4PIXEL23_81 *(dp + dst1line + dst1line + 3) = Interp08(w5, w6);
283#define X4PIXEL23_83 *(dp + dst1line + dst1line + 3) = Interp08(w6, w8);
284
285#define X4PIXEL30_0 *(dp + dst1line + dst1line + dst1line) = w5;
286#define X4PIXEL30_11 *(dp + dst1line + dst1line + dst1line) = Interp01(w5, w8);
287#define X4PIXEL30_12 *(dp + dst1line + dst1line + dst1line) = Interp01(w5, w4);
288#define X4PIXEL30_20 *(dp + dst1line + dst1line + dst1line) = Interp02(w5, w8, w4);
289#define X4PIXEL30_50 *(dp + dst1line + dst1line + dst1line) = Interp05(w8, w4);
290#define X4PIXEL30_80 *(dp + dst1line + dst1line + dst1line) = Interp08(w5, w7);
291#define X4PIXEL30_81 *(dp + dst1line + dst1line + dst1line) = Interp08(w5, w8);
292#define X4PIXEL30_82 *(dp + dst1line + dst1line + dst1line) = Interp08(w5, w4);
293
294#define X4PIXEL31_0 *(dp + dst1line + dst1line + dst1line + 1) = w5;
295#define X4PIXEL31_10 *(dp + dst1line + dst1line + dst1line + 1) = Interp01(w5, w7);
296#define X4PIXEL31_11 *(dp + dst1line + dst1line + dst1line + 1) = Interp01(w5, w8);
297#define X4PIXEL31_13 *(dp + dst1line + dst1line + dst1line + 1) = Interp01(w8, w5);
298#define X4PIXEL31_21 *(dp + dst1line + dst1line + dst1line + 1) = Interp02(w8, w5, w4);
299#define X4PIXEL31_32 *(dp + dst1line + dst1line + dst1line + 1) = Interp03(w5, w4);
300#define X4PIXEL31_50 *(dp + dst1line + dst1line + dst1line + 1) = Interp05(w8, w5);
301#define X4PIXEL31_60 *(dp + dst1line + dst1line + dst1line + 1) = Interp06(w5, w8, w4);
302#define X4PIXEL31_61 *(dp + dst1line + dst1line + dst1line + 1) = Interp06(w5, w8, w7);
303#define X4PIXEL31_81 *(dp + dst1line + dst1line + dst1line + 1) = Interp08(w5, w8);
304#define X4PIXEL31_83 *(dp + dst1line + dst1line + dst1line + 1) = Interp08(w8, w4);
305
306#define X4PIXEL32_0 *(dp + dst1line + dst1line + dst1line + 2) = w5;
307#define X4PIXEL32_10 *(dp + dst1line + dst1line + dst1line + 2) = Interp01(w5, w9);
308#define X4PIXEL32_12 *(dp + dst1line + dst1line + dst1line + 2) = Interp01(w5, w8);
309#define X4PIXEL32_14 *(dp + dst1line + dst1line + dst1line + 2) = Interp01(w8, w5);
310#define X4PIXEL32_21 *(dp + dst1line + dst1line + dst1line + 2) = Interp02(w8, w5, w6);
311#define X4PIXEL32_31 *(dp + dst1line + dst1line + dst1line + 2) = Interp03(w5, w6);
312#define X4PIXEL32_50 *(dp + dst1line + dst1line + dst1line + 2) = Interp05(w8, w5);
313#define X4PIXEL32_60 *(dp + dst1line + dst1line + dst1line + 2) = Interp06(w5, w8, w6);
314#define X4PIXEL32_61 *(dp + dst1line + dst1line + dst1line + 2) = Interp06(w5, w8, w9);
315#define X4PIXEL32_82 *(dp + dst1line + dst1line + dst1line + 2) = Interp08(w5, w8);
316#define X4PIXEL32_83 *(dp + dst1line + dst1line + dst1line + 2) = Interp08(w8, w6);
317
318#define X4PIXEL33_0 *(dp + dst1line + dst1line + dst1line + 3) = w5;
319#define X4PIXEL33_11 *(dp + dst1line + dst1line + dst1line + 3) = Interp01(w5, w6);
320#define X4PIXEL33_12 *(dp + dst1line + dst1line + dst1line + 3) = Interp01(w5, w8);
321#define X4PIXEL33_20 *(dp + dst1line + dst1line + dst1line + 3) = Interp02(w5, w8, w6);
322#define X4PIXEL33_50 *(dp + dst1line + dst1line + dst1line + 3) = Interp05(w8, w6);
323#define X4PIXEL33_80 *(dp + dst1line + dst1line + dst1line + 3) = Interp08(w5, w9);
324#define X4PIXEL33_81 *(dp + dst1line + dst1line + dst1line + 3) = Interp08(w5, w6);
325#define X4PIXEL33_82 *(dp + dst1line + dst1line + dst1line + 3) = Interp08(w5, w8);
326
327#define Absolute(c) \
328(!(c & (1 << 31)) ? c : (~c + 1))
329
330static int *RGBtoYUV = NULL;
331
332static void InitLUTs (void);
333static inline bool Diff (int, int);
334
335
336bool8 S9xBlitHQ2xFilterInit (void)
337{
338 uint32 n = 1 << ((FIRST_COLOR_MASK & 0x8000) ? 16 : 15);
339 RGBtoYUV = new int[n];
340 if (!RGBtoYUV)
341 return (FALSE);
342
343 InitLUTs();
344
345 return (TRUE);
346}
347
348void S9xBlitHQ2xFilterDeinit (void)
349{
350 if (RGBtoYUV)
351 {
352 delete[] RGBtoYUV;
353 RGBtoYUV = NULL;
354 }
355}
356
357static void InitLUTs (void)
358{
359 uint32 r, g, b;
360 int y, u, v;
361
362 uint32 n = 1 << ((FIRST_COLOR_MASK & 0x8000) ? 16 : 15);
363 for (uint32 c = 0 ; c < n ; c++)
364 {
365 DECOMPOSE_PIXEL(c, r, g, b);
366 r <<= 3;
367 g <<= 3;
368 b <<= 3;
369
370 y = (int) ( 0.256788f * r + 0.504129f * g + 0.097906f * b + 0.5f) + 16;
371 u = (int) (-0.148223f * r - 0.290993f * g + 0.439216f * b + 0.5f) + 128;
372 v = (int) ( 0.439216f * r - 0.367788f * g - 0.071427f * b + 0.5f) + 128;
373
374 RGBtoYUV[c] = (y << 16) + (u << 8) + v;
375 }
376}
377
378static inline bool Diff (int c1, int c2)
379{
380 int c1y = (c1 & Ymask) - (c2 & Ymask);
381 if (Absolute(c1y) > trY)
382 return (true);
383
384 int c1u = (c1 & Umask) - (c2 & Umask);
385 if (Absolute(c1u) > trU)
386 return (true);
387
388 int c1v = (c1 & Vmask) - (c2 & Vmask);
389 if (Absolute(c1v) > trV)
390 return (true);
391
392 return (false);
393}
394
395void HQ2X_16 (uint8 *srcPtr, uint32 srcPitch, uint8 *dstPtr, uint32 dstPitch, int width, int height)
396{
397 int w1, w2, w3, w4, w5, w6, w7, w8, w9;
398 uint32 src1line = srcPitch >> 1;
399 uint32 dst1line = dstPitch >> 1;
400 uint16 *sp = (uint16 *) srcPtr;
401 uint16 *dp = (uint16 *) dstPtr;
402
403 uint32 pattern;
404 int l, y;
405
406 while (height--)
407 {
408 sp--;
409
410 w1 = *(sp - src1line);
411 w4 = *(sp);
412 w7 = *(sp + src1line);
413
414 sp++;
415
416 w2 = *(sp - src1line);
417 w5 = *(sp);
418 w8 = *(sp + src1line);
419
420 for (l = width; l; l--)
421 {
422 sp++;
423
424 w3 = *(sp - src1line);
425 w6 = *(sp);
426 w9 = *(sp + src1line);
427
428 y = RGBtoYUV[w5];
429 pattern = 0;
430
431 if ((w1 != w5) && (Diff(y, RGBtoYUV[w1]))) pattern |= (1 << 0);
432 if ((w2 != w5) && (Diff(y, RGBtoYUV[w2]))) pattern |= (1 << 1);
433 if ((w3 != w5) && (Diff(y, RGBtoYUV[w3]))) pattern |= (1 << 2);
434 if ((w4 != w5) && (Diff(y, RGBtoYUV[w4]))) pattern |= (1 << 3);
435 if ((w6 != w5) && (Diff(y, RGBtoYUV[w6]))) pattern |= (1 << 4);
436 if ((w7 != w5) && (Diff(y, RGBtoYUV[w7]))) pattern |= (1 << 5);
437 if ((w8 != w5) && (Diff(y, RGBtoYUV[w8]))) pattern |= (1 << 6);
438 if ((w9 != w5) && (Diff(y, RGBtoYUV[w9]))) pattern |= (1 << 7);
439
440 switch (pattern)
441 {
442 case 0:
443 case 1:
444 case 4:
445 case 32:
446 case 128:
447 case 5:
448 case 132:
449 case 160:
450 case 33:
451 case 129:
452 case 36:
453 case 133:
454 case 164:
455 case 161:
456 case 37:
457 case 165:
458 {
459 X2PIXEL00_20
460 X2PIXEL01_20
461 X2PIXEL10_20
462 X2PIXEL11_20
463 break;
464 }
465 case 2:
466 case 34:
467 case 130:
468 case 162:
469 {
470 X2PIXEL00_22
471 X2PIXEL01_21
472 X2PIXEL10_20
473 X2PIXEL11_20
474 break;
475 }
476 case 16:
477 case 17:
478 case 48:
479 case 49:
480 {
481 X2PIXEL00_20
482 X2PIXEL01_22
483 X2PIXEL10_20
484 X2PIXEL11_21
485 break;
486 }
487 case 64:
488 case 65:
489 case 68:
490 case 69:
491 {
492 X2PIXEL00_20
493 X2PIXEL01_20
494 X2PIXEL10_21
495 X2PIXEL11_22
496 break;
497 }
498 case 8:
499 case 12:
500 case 136:
501 case 140:
502 {
503 X2PIXEL00_21
504 X2PIXEL01_20
505 X2PIXEL10_22
506 X2PIXEL11_20
507 break;
508 }
509 case 3:
510 case 35:
511 case 131:
512 case 163:
513 {
514 X2PIXEL00_11
515 X2PIXEL01_21
516 X2PIXEL10_20
517 X2PIXEL11_20
518 break;
519 }
520 case 6:
521 case 38:
522 case 134:
523 case 166:
524 {
525 X2PIXEL00_22
526 X2PIXEL01_12
527 X2PIXEL10_20
528 X2PIXEL11_20
529 break;
530 }
531 case 20:
532 case 21:
533 case 52:
534 case 53:
535 {
536 X2PIXEL00_20
537 X2PIXEL01_11
538 X2PIXEL10_20
539 X2PIXEL11_21
540 break;
541 }
542 case 144:
543 case 145:
544 case 176:
545 case 177:
546 {
547 X2PIXEL00_20
548 X2PIXEL01_22
549 X2PIXEL10_20
550 X2PIXEL11_12
551 break;
552 }
553 case 192:
554 case 193:
555 case 196:
556 case 197:
557 {
558 X2PIXEL00_20
559 X2PIXEL01_20
560 X2PIXEL10_21
561 X2PIXEL11_11
562 break;
563 }
564 case 96:
565 case 97:
566 case 100:
567 case 101:
568 {
569 X2PIXEL00_20
570 X2PIXEL01_20
571 X2PIXEL10_12
572 X2PIXEL11_22
573 break;
574 }
575 case 40:
576 case 44:
577 case 168:
578 case 172:
579 {
580 X2PIXEL00_21
581 X2PIXEL01_20
582 X2PIXEL10_11
583 X2PIXEL11_20
584 break;
585 }
586 case 9:
587 case 13:
588 case 137:
589 case 141:
590 {
591 X2PIXEL00_12
592 X2PIXEL01_20
593 X2PIXEL10_22
594 X2PIXEL11_20
595 break;
596 }
597 case 18:
598 case 50:
599 {
600 X2PIXEL00_22
601 if (Diff(RGBtoYUV[w2], RGBtoYUV[w6]))
602 {
603 X2PIXEL01_10
604 }
605 else
606 {
607 X2PIXEL01_20
608 }
609 X2PIXEL10_20
610 X2PIXEL11_21
611 break;
612 }
613 case 80:
614 case 81:
615 {
616 X2PIXEL00_20
617 X2PIXEL01_22
618 X2PIXEL10_21
619 if (Diff(RGBtoYUV[w6], RGBtoYUV[w8]))
620 {
621 X2PIXEL11_10
622 }
623 else
624 {
625 X2PIXEL11_20
626 }
627 break;
628 }
629 case 72:
630 case 76:
631 {
632 X2PIXEL00_21
633 X2PIXEL01_20
634 if (Diff(RGBtoYUV[w8], RGBtoYUV[w4]))
635 {
636 X2PIXEL10_10
637 }
638 else
639 {
640 X2PIXEL10_20
641 }
642 X2PIXEL11_22
643 break;
644 }
645 case 10:
646 case 138:
647 {
648 if (Diff(RGBtoYUV[w4], RGBtoYUV[w2]))
649 {
650 X2PIXEL00_10
651 }
652 else
653 {
654 X2PIXEL00_20
655 }
656 X2PIXEL01_21
657 X2PIXEL10_22
658 X2PIXEL11_20
659 break;
660 }
661 case 66:
662 {
663 X2PIXEL00_22
664 X2PIXEL01_21
665 X2PIXEL10_21
666 X2PIXEL11_22
667 break;
668 }
669 case 24:
670 {
671 X2PIXEL00_21
672 X2PIXEL01_22
673 X2PIXEL10_22
674 X2PIXEL11_21
675 break;
676 }
677 case 7:
678 case 39:
679 case 135:
680 {
681 X2PIXEL00_11
682 X2PIXEL01_12
683 X2PIXEL10_20
684 X2PIXEL11_20
685 break;
686 }
687 case 148:
688 case 149:
689 case 180:
690 {
691 X2PIXEL00_20
692 X2PIXEL01_11
693 X2PIXEL10_20
694 X2PIXEL11_12
695 break;
696 }
697 case 224:
698 case 228:
699 case 225:
700 {
701 X2PIXEL00_20
702 X2PIXEL01_20
703 X2PIXEL10_12
704 X2PIXEL11_11
705 break;
706 }
707 case 41:
708 case 169:
709 case 45:
710 {
711 X2PIXEL00_12
712 X2PIXEL01_20
713 X2PIXEL10_11
714 X2PIXEL11_20
715 break;
716 }
717 case 22:
718 case 54:
719 {
720 X2PIXEL00_22
721 if (Diff(RGBtoYUV[w2], RGBtoYUV[w6]))
722 {
723 X2PIXEL01_0
724 }
725 else
726 {
727 X2PIXEL01_20
728 }
729 X2PIXEL10_20
730 X2PIXEL11_21
731 break;
732 }
733 case 208:
734 case 209:
735 {
736 X2PIXEL00_20
737 X2PIXEL01_22
738 X2PIXEL10_21
739 if (Diff(RGBtoYUV[w6], RGBtoYUV[w8]))
740 {
741 X2PIXEL11_0
742 }
743 else
744 {
745 X2PIXEL11_20
746 }
747 break;
748 }
749 case 104:
750 case 108:
751 {
752 X2PIXEL00_21
753 X2PIXEL01_20
754 if (Diff(RGBtoYUV[w8], RGBtoYUV[w4]))
755 {
756 X2PIXEL10_0
757 }
758 else
759 {
760 X2PIXEL10_20
761 }
762 X2PIXEL11_22
763 break;
764 }
765 case 11:
766 case 139:
767 {
768 if (Diff(RGBtoYUV[w4], RGBtoYUV[w2]))
769 {
770 X2PIXEL00_0
771 }
772 else
773 {
774 X2PIXEL00_20
775 }
776 X2PIXEL01_21
777 X2PIXEL10_22
778 X2PIXEL11_20
779 break;
780 }
781 case 19:
782 case 51:
783 {
784 if (Diff(RGBtoYUV[w2], RGBtoYUV[w6]))
785 {
786 X2PIXEL00_11
787 X2PIXEL01_10
788 }
789 else
790 {
791 X2PIXEL00_60
792 X2PIXEL01_90
793 }
794 X2PIXEL10_20
795 X2PIXEL11_21
796 break;
797 }
798 case 146:
799 case 178:
800 {
801 X2PIXEL00_22
802 if (Diff(RGBtoYUV[w2], RGBtoYUV[w6]))
803 {
804 X2PIXEL01_10
805 X2PIXEL11_12
806 }
807 else
808 {
809 X2PIXEL01_90
810 X2PIXEL11_61
811 }
812 X2PIXEL10_20
813 break;
814 }
815 case 84:
816 case 85:
817 {
818 X2PIXEL00_20
819 if (Diff(RGBtoYUV[w6], RGBtoYUV[w8]))
820 {
821 X2PIXEL01_11
822 X2PIXEL11_10
823 }
824 else
825 {
826 X2PIXEL01_60
827 X2PIXEL11_90
828 }
829 X2PIXEL10_21
830 break;
831 }
832 case 112:
833 case 113:
834 {
835 X2PIXEL00_20
836 X2PIXEL01_22
837 if (Diff(RGBtoYUV[w6], RGBtoYUV[w8]))
838 {
839 X2PIXEL10_12
840 X2PIXEL11_10
841 }
842 else
843 {
844 X2PIXEL10_61
845 X2PIXEL11_90
846 }
847 break;
848 }
849 case 200:
850 case 204:
851 {
852 X2PIXEL00_21
853 X2PIXEL01_20
854 if (Diff(RGBtoYUV[w8], RGBtoYUV[w4]))
855 {
856 X2PIXEL10_10
857 X2PIXEL11_11
858 }
859 else
860 {
861 X2PIXEL10_90
862 X2PIXEL11_60
863 }
864 break;
865 }
866 case 73:
867 case 77:
868 {
869 if (Diff(RGBtoYUV[w8], RGBtoYUV[w4]))
870 {
871 X2PIXEL00_12
872 X2PIXEL10_10
873 }
874 else
875 {
876 X2PIXEL00_61
877 X2PIXEL10_90
878 }
879 X2PIXEL01_20
880 X2PIXEL11_22
881 break;
882 }
883 case 42:
884 case 170:
885 {
886 if (Diff(RGBtoYUV[w4], RGBtoYUV[w2]))
887 {
888 X2PIXEL00_10
889 X2PIXEL10_11
890 }
891 else
892 {
893 X2PIXEL00_90
894 X2PIXEL10_60
895 }
896 X2PIXEL01_21
897 X2PIXEL11_20
898 break;
899 }
900 case 14:
901 case 142:
902 {
903 if (Diff(RGBtoYUV[w4], RGBtoYUV[w2]))
904 {
905 X2PIXEL00_10
906 X2PIXEL01_12
907 }
908 else
909 {
910 X2PIXEL00_90
911 X2PIXEL01_61
912 }
913 X2PIXEL10_22
914 X2PIXEL11_20
915 break;
916 }
917 case 67:
918 {
919 X2PIXEL00_11
920 X2PIXEL01_21
921 X2PIXEL10_21
922 X2PIXEL11_22
923 break;
924 }
925 case 70:
926 {
927 X2PIXEL00_22
928 X2PIXEL01_12
929 X2PIXEL10_21
930 X2PIXEL11_22
931 break;
932 }
933 case 28:
934 {
935 X2PIXEL00_21
936 X2PIXEL01_11
937 X2PIXEL10_22
938 X2PIXEL11_21
939 break;
940 }
941 case 152:
942 {
943 X2PIXEL00_21
944 X2PIXEL01_22
945 X2PIXEL10_22
946 X2PIXEL11_12
947 break;
948 }
949 case 194:
950 {
951 X2PIXEL00_22
952 X2PIXEL01_21
953 X2PIXEL10_21
954 X2PIXEL11_11
955 break;
956 }
957 case 98:
958 {
959 X2PIXEL00_22
960 X2PIXEL01_21
961 X2PIXEL10_12
962 X2PIXEL11_22
963 break;
964 }
965 case 56:
966 {
967 X2PIXEL00_21
968 X2PIXEL01_22
969 X2PIXEL10_11
970 X2PIXEL11_21
971 break;
972 }
973 case 25:
974 {
975 X2PIXEL00_12
976 X2PIXEL01_22
977 X2PIXEL10_22
978 X2PIXEL11_21
979 break;
980 }
981 case 26:
982 case 31:
983 {
984 if (Diff(RGBtoYUV[w4], RGBtoYUV[w2]))
985 {
986 X2PIXEL00_0
987 }
988 else
989 {
990 X2PIXEL00_20
991 }
992 if (Diff(RGBtoYUV[w2], RGBtoYUV[w6]))
993 {
994 X2PIXEL01_0
995 }
996 else
997 {
998 X2PIXEL01_20
999 }
1000 X2PIXEL10_22
1001 X2PIXEL11_21
1002 break;
1003 }
1004 case 82:
1005 case 214:
1006 {
1007 X2PIXEL00_22
1008 if (Diff(RGBtoYUV[w2], RGBtoYUV[w6]))
1009 {
1010 X2PIXEL01_0
1011 }
1012 else
1013 {
1014 X2PIXEL01_20
1015 }
1016 X2PIXEL10_21
1017 if (Diff(RGBtoYUV[w6], RGBtoYUV[w8]))
1018 {
1019 X2PIXEL11_0
1020 }
1021 else
1022 {
1023 X2PIXEL11_20
1024 }
1025 break;
1026 }
1027 case 88:
1028 case 248:
1029 {
1030 X2PIXEL00_21
1031 X2PIXEL01_22
1032 if (Diff(RGBtoYUV[w8], RGBtoYUV[w4]))
1033 {
1034 X2PIXEL10_0
1035 }
1036 else
1037 {
1038 X2PIXEL10_20
1039 }
1040 if (Diff(RGBtoYUV[w6], RGBtoYUV[w8]))
1041 {
1042 X2PIXEL11_0
1043 }
1044 else
1045 {
1046 X2PIXEL11_20
1047 }
1048 break;
1049 }
1050 case 74:
1051 case 107:
1052 {
1053 if (Diff(RGBtoYUV[w4], RGBtoYUV[w2]))
1054 {
1055 X2PIXEL00_0
1056 }
1057 else
1058 {
1059 X2PIXEL00_20
1060 }
1061 X2PIXEL01_21
1062 if (Diff(RGBtoYUV[w8], RGBtoYUV[w4]))
1063 {
1064 X2PIXEL10_0
1065 }
1066 else
1067 {
1068 X2PIXEL10_20
1069 }
1070 X2PIXEL11_22
1071 break;
1072 }
1073 case 27:
1074 {
1075 if (Diff(RGBtoYUV[w4], RGBtoYUV[w2]))
1076 {
1077 X2PIXEL00_0
1078 }
1079 else
1080 {
1081 X2PIXEL00_20
1082 }
1083 X2PIXEL01_10
1084 X2PIXEL10_22
1085 X2PIXEL11_21
1086 break;
1087 }
1088 case 86:
1089 {
1090 X2PIXEL00_22
1091 if (Diff(RGBtoYUV[w2], RGBtoYUV[w6]))
1092 {
1093 X2PIXEL01_0
1094 }
1095 else
1096 {
1097 X2PIXEL01_20
1098 }
1099 X2PIXEL10_21
1100 X2PIXEL11_10
1101 break;
1102 }
1103 case 216:
1104 {
1105 X2PIXEL00_21
1106 X2PIXEL01_22
1107 X2PIXEL10_10
1108 if (Diff(RGBtoYUV[w6], RGBtoYUV[w8]))
1109 {
1110 X2PIXEL11_0
1111 }
1112 else
1113 {
1114 X2PIXEL11_20
1115 }
1116 break;
1117 }
1118 case 106:
1119 {
1120 X2PIXEL00_10
1121 X2PIXEL01_21
1122 if (Diff(RGBtoYUV[w8], RGBtoYUV[w4]))
1123 {
1124 X2PIXEL10_0
1125 }
1126 else
1127 {
1128 X2PIXEL10_20
1129 }
1130 X2PIXEL11_22
1131 break;
1132 }
1133 case 30:
1134 {
1135 X2PIXEL00_10
1136 if (Diff(RGBtoYUV[w2], RGBtoYUV[w6]))
1137 {
1138 X2PIXEL01_0
1139 }
1140 else
1141 {
1142 X2PIXEL01_20
1143 }
1144 X2PIXEL10_22
1145 X2PIXEL11_21
1146 break;
1147 }
1148 case 210:
1149 {
1150 X2PIXEL00_22
1151 X2PIXEL01_10
1152 X2PIXEL10_21
1153 if (Diff(RGBtoYUV[w6], RGBtoYUV[w8]))
1154 {
1155 X2PIXEL11_0
1156 }
1157 else
1158 {
1159 X2PIXEL11_20
1160 }
1161 break;
1162 }
1163 case 120:
1164 {
1165 X2PIXEL00_21
1166 X2PIXEL01_22
1167 if (Diff(RGBtoYUV[w8], RGBtoYUV[w4]))
1168 {
1169 X2PIXEL10_0
1170 }
1171 else
1172 {
1173 X2PIXEL10_20
1174 }
1175 X2PIXEL11_10
1176 break;
1177 }
1178 case 75:
1179 {
1180 if (Diff(RGBtoYUV[w4], RGBtoYUV[w2]))
1181 {
1182 X2PIXEL00_0
1183 }
1184 else
1185 {
1186 X2PIXEL00_20
1187 }
1188 X2PIXEL01_21
1189 X2PIXEL10_10
1190 X2PIXEL11_22
1191 break;
1192 }
1193 case 29:
1194 {
1195 X2PIXEL00_12
1196 X2PIXEL01_11
1197 X2PIXEL10_22
1198 X2PIXEL11_21
1199 break;
1200 }
1201 case 198:
1202 {
1203 X2PIXEL00_22
1204 X2PIXEL01_12
1205 X2PIXEL10_21
1206 X2PIXEL11_11
1207 break;
1208 }
1209 case 184:
1210 {
1211 X2PIXEL00_21
1212 X2PIXEL01_22
1213 X2PIXEL10_11
1214 X2PIXEL11_12
1215 break;
1216 }
1217 case 99:
1218 {
1219 X2PIXEL00_11
1220 X2PIXEL01_21
1221 X2PIXEL10_12
1222 X2PIXEL11_22
1223 break;
1224 }
1225 case 57:
1226 {
1227 X2PIXEL00_12
1228 X2PIXEL01_22
1229 X2PIXEL10_11
1230 X2PIXEL11_21
1231 break;
1232 }
1233 case 71:
1234 {
1235 X2PIXEL00_11
1236 X2PIXEL01_12
1237 X2PIXEL10_21
1238 X2PIXEL11_22
1239 break;
1240 }
1241 case 156:
1242 {
1243 X2PIXEL00_21
1244 X2PIXEL01_11
1245 X2PIXEL10_22
1246 X2PIXEL11_12
1247 break;
1248 }
1249 case 226:
1250 {
1251 X2PIXEL00_22
1252 X2PIXEL01_21
1253 X2PIXEL10_12
1254 X2PIXEL11_11
1255 break;
1256 }
1257 case 60:
1258 {
1259 X2PIXEL00_21
1260 X2PIXEL01_11
1261 X2PIXEL10_11
1262 X2PIXEL11_21
1263 break;
1264 }
1265 case 195:
1266 {
1267 X2PIXEL00_11
1268 X2PIXEL01_21
1269 X2PIXEL10_21
1270 X2PIXEL11_11
1271 break;
1272 }
1273 case 102:
1274 {
1275 X2PIXEL00_22
1276 X2PIXEL01_12
1277 X2PIXEL10_12
1278 X2PIXEL11_22
1279 break;
1280 }
1281 case 153:
1282 {
1283 X2PIXEL00_12
1284 X2PIXEL01_22
1285 X2PIXEL10_22
1286 X2PIXEL11_12
1287 break;
1288 }
1289 case 58:
1290 {
1291 if (Diff(RGBtoYUV[w4], RGBtoYUV[w2]))
1292 {
1293 X2PIXEL00_10
1294 }
1295 else
1296 {
1297 X2PIXEL00_70
1298 }
1299 if (Diff(RGBtoYUV[w2], RGBtoYUV[w6]))
1300 {
1301 X2PIXEL01_10
1302 }
1303 else
1304 {
1305 X2PIXEL01_70
1306 }
1307 X2PIXEL10_11
1308 X2PIXEL11_21
1309 break;
1310 }
1311 case 83:
1312 {
1313 X2PIXEL00_11
1314 if (Diff(RGBtoYUV[w2], RGBtoYUV[w6]))
1315 {
1316 X2PIXEL01_10
1317 }
1318 else
1319 {
1320 X2PIXEL01_70
1321 }
1322 X2PIXEL10_21
1323 if (Diff(RGBtoYUV[w6], RGBtoYUV[w8]))
1324 {
1325 X2PIXEL11_10
1326 }
1327 else
1328 {
1329 X2PIXEL11_70
1330 }
1331 break;
1332 }
1333 case 92:
1334 {
1335 X2PIXEL00_21
1336 X2PIXEL01_11
1337 if (Diff(RGBtoYUV[w8], RGBtoYUV[w4]))
1338 {
1339 X2PIXEL10_10
1340 }
1341 else
1342 {
1343 X2PIXEL10_70
1344 }
1345 if (Diff(RGBtoYUV[w6], RGBtoYUV[w8]))
1346 {
1347 X2PIXEL11_10
1348 }
1349 else
1350 {
1351 X2PIXEL11_70
1352 }
1353 break;
1354 }
1355 case 202:
1356 {
1357 if (Diff(RGBtoYUV[w4], RGBtoYUV[w2]))
1358 {
1359 X2PIXEL00_10
1360 }
1361 else
1362 {
1363 X2PIXEL00_70
1364 }
1365 X2PIXEL01_21
1366 if (Diff(RGBtoYUV[w8], RGBtoYUV[w4]))
1367 {
1368 X2PIXEL10_10
1369 }
1370 else
1371 {
1372 X2PIXEL10_70
1373 }
1374 X2PIXEL11_11
1375 break;
1376 }
1377 case 78:
1378 {
1379 if (Diff(RGBtoYUV[w4], RGBtoYUV[w2]))
1380 {
1381 X2PIXEL00_10
1382 }
1383 else
1384 {
1385 X2PIXEL00_70
1386 }
1387 X2PIXEL01_12
1388 if (Diff(RGBtoYUV[w8], RGBtoYUV[w4]))
1389 {
1390 X2PIXEL10_10
1391 }
1392 else
1393 {
1394 X2PIXEL10_70
1395 }
1396 X2PIXEL11_22
1397 break;
1398 }
1399 case 154:
1400 {
1401 if (Diff(RGBtoYUV[w4], RGBtoYUV[w2]))
1402 {
1403 X2PIXEL00_10
1404 }
1405 else
1406 {
1407 X2PIXEL00_70
1408 }
1409 if (Diff(RGBtoYUV[w2], RGBtoYUV[w6]))
1410 {
1411 X2PIXEL01_10
1412 }
1413 else
1414 {
1415 X2PIXEL01_70
1416 }
1417 X2PIXEL10_22
1418 X2PIXEL11_12
1419 break;
1420 }
1421 case 114:
1422 {
1423 X2PIXEL00_22
1424 if (Diff(RGBtoYUV[w2], RGBtoYUV[w6]))
1425 {
1426 X2PIXEL01_10
1427 }
1428 else
1429 {
1430 X2PIXEL01_70
1431 }
1432 X2PIXEL10_12
1433 if (Diff(RGBtoYUV[w6], RGBtoYUV[w8]))
1434 {
1435 X2PIXEL11_10
1436 }
1437 else
1438 {
1439 X2PIXEL11_70
1440 }
1441 break;
1442 }
1443 case 89:
1444 {
1445 X2PIXEL00_12
1446 X2PIXEL01_22
1447 if (Diff(RGBtoYUV[w8], RGBtoYUV[w4]))
1448 {
1449 X2PIXEL10_10
1450 }
1451 else
1452 {
1453 X2PIXEL10_70
1454 }
1455 if (Diff(RGBtoYUV[w6], RGBtoYUV[w8]))
1456 {
1457 X2PIXEL11_10
1458 }
1459 else
1460 {
1461 X2PIXEL11_70
1462 }
1463 break;
1464 }
1465 case 90:
1466 {
1467 if (Diff(RGBtoYUV[w4], RGBtoYUV[w2]))
1468 {
1469 X2PIXEL00_10
1470 }
1471 else
1472 {
1473 X2PIXEL00_70
1474 }
1475 if (Diff(RGBtoYUV[w2], RGBtoYUV[w6]))
1476 {
1477 X2PIXEL01_10
1478 }
1479 else
1480 {
1481 X2PIXEL01_70
1482 }
1483 if (Diff(RGBtoYUV[w8], RGBtoYUV[w4]))
1484 {
1485 X2PIXEL10_10
1486 }
1487 else
1488 {
1489 X2PIXEL10_70
1490 }
1491 if (Diff(RGBtoYUV[w6], RGBtoYUV[w8]))
1492 {
1493 X2PIXEL11_10
1494 }
1495 else
1496 {
1497 X2PIXEL11_70
1498 }
1499 break;
1500 }
1501 case 55:
1502 case 23:
1503 {
1504 if (Diff(RGBtoYUV[w2], RGBtoYUV[w6]))
1505 {
1506 X2PIXEL00_11
1507 X2PIXEL01_0
1508 }
1509 else
1510 {
1511 X2PIXEL00_60
1512 X2PIXEL01_90
1513 }
1514 X2PIXEL10_20
1515 X2PIXEL11_21
1516 break;
1517 }
1518 case 182:
1519 case 150:
1520 {
1521 X2PIXEL00_22
1522 if (Diff(RGBtoYUV[w2], RGBtoYUV[w6]))
1523 {
1524 X2PIXEL01_0
1525 X2PIXEL11_12
1526 }
1527 else
1528 {
1529 X2PIXEL01_90
1530 X2PIXEL11_61
1531 }
1532 X2PIXEL10_20
1533 break;
1534 }
1535 case 213:
1536 case 212:
1537 {
1538 X2PIXEL00_20
1539 if (Diff(RGBtoYUV[w6], RGBtoYUV[w8]))
1540 {
1541 X2PIXEL01_11
1542 X2PIXEL11_0
1543 }
1544 else
1545 {
1546 X2PIXEL01_60
1547 X2PIXEL11_90
1548 }
1549 X2PIXEL10_21
1550 break;
1551 }
1552 case 241:
1553 case 240:
1554 {
1555 X2PIXEL00_20
1556 X2PIXEL01_22
1557 if (Diff(RGBtoYUV[w6], RGBtoYUV[w8]))
1558 {
1559 X2PIXEL10_12
1560 X2PIXEL11_0
1561 }
1562 else
1563 {
1564 X2PIXEL10_61
1565 X2PIXEL11_90
1566 }
1567 break;
1568 }
1569 case 236:
1570 case 232:
1571 {
1572 X2PIXEL00_21
1573 X2PIXEL01_20
1574 if (Diff(RGBtoYUV[w8], RGBtoYUV[w4]))
1575 {
1576 X2PIXEL10_0
1577 X2PIXEL11_11
1578 }
1579 else
1580 {
1581 X2PIXEL10_90
1582 X2PIXEL11_60
1583 }
1584 break;
1585 }
1586 case 109:
1587 case 105:
1588 {
1589 if (Diff(RGBtoYUV[w8], RGBtoYUV[w4]))
1590 {
1591 X2PIXEL00_12
1592 X2PIXEL10_0
1593 }
1594 else
1595 {
1596 X2PIXEL00_61
1597 X2PIXEL10_90
1598 }
1599 X2PIXEL01_20
1600 X2PIXEL11_22
1601 break;
1602 }
1603 case 171:
1604 case 43:
1605 {
1606 if (Diff(RGBtoYUV[w4], RGBtoYUV[w2]))
1607 {
1608 X2PIXEL00_0
1609 X2PIXEL10_11
1610 }
1611 else
1612 {
1613 X2PIXEL00_90
1614 X2PIXEL10_60
1615 }
1616 X2PIXEL01_21
1617 X2PIXEL11_20
1618 break;
1619 }
1620 case 143:
1621 case 15:
1622 {
1623 if (Diff(RGBtoYUV[w4], RGBtoYUV[w2]))
1624 {
1625 X2PIXEL00_0
1626 X2PIXEL01_12
1627 }
1628 else
1629 {
1630 X2PIXEL00_90
1631 X2PIXEL01_61
1632 }
1633 X2PIXEL10_22
1634 X2PIXEL11_20
1635 break;
1636 }
1637 case 124:
1638 {
1639 X2PIXEL00_21
1640 X2PIXEL01_11
1641 if (Diff(RGBtoYUV[w8], RGBtoYUV[w4]))
1642 {
1643 X2PIXEL10_0
1644 }
1645 else
1646 {
1647 X2PIXEL10_20
1648 }
1649 X2PIXEL11_10
1650 break;
1651 }
1652 case 203:
1653 {
1654 if (Diff(RGBtoYUV[w4], RGBtoYUV[w2]))
1655 {
1656 X2PIXEL00_0
1657 }
1658 else
1659 {
1660 X2PIXEL00_20
1661 }
1662 X2PIXEL01_21
1663 X2PIXEL10_10
1664 X2PIXEL11_11
1665 break;
1666 }
1667 case 62:
1668 {
1669 X2PIXEL00_10
1670 if (Diff(RGBtoYUV[w2], RGBtoYUV[w6]))
1671 {
1672 X2PIXEL01_0
1673 }
1674 else
1675 {
1676 X2PIXEL01_20
1677 }
1678 X2PIXEL10_11
1679 X2PIXEL11_21
1680 break;
1681 }
1682 case 211:
1683 {
1684 X2PIXEL00_11
1685 X2PIXEL01_10
1686 X2PIXEL10_21
1687 if (Diff(RGBtoYUV[w6], RGBtoYUV[w8]))
1688 {
1689 X2PIXEL11_0
1690 }
1691 else
1692 {
1693 X2PIXEL11_20
1694 }
1695 break;
1696 }
1697 case 118:
1698 {
1699 X2PIXEL00_22
1700 if (Diff(RGBtoYUV[w2], RGBtoYUV[w6]))
1701 {
1702 X2PIXEL01_0
1703 }
1704 else
1705 {
1706 X2PIXEL01_20
1707 }
1708 X2PIXEL10_12
1709 X2PIXEL11_10
1710 break;
1711 }
1712 case 217:
1713 {
1714 X2PIXEL00_12
1715 X2PIXEL01_22
1716 X2PIXEL10_10
1717 if (Diff(RGBtoYUV[w6], RGBtoYUV[w8]))
1718 {
1719 X2PIXEL11_0
1720 }
1721 else
1722 {
1723 X2PIXEL11_20
1724 }
1725 break;
1726 }
1727 case 110:
1728 {
1729 X2PIXEL00_10
1730 X2PIXEL01_12
1731 if (Diff(RGBtoYUV[w8], RGBtoYUV[w4]))
1732 {
1733 X2PIXEL10_0
1734 }
1735 else
1736 {
1737 X2PIXEL10_20
1738 }
1739 X2PIXEL11_22
1740 break;
1741 }
1742 case 155:
1743 {
1744 if (Diff(RGBtoYUV[w4], RGBtoYUV[w2]))
1745 {
1746 X2PIXEL00_0
1747 }
1748 else
1749 {
1750 X2PIXEL00_20
1751 }
1752 X2PIXEL01_10
1753 X2PIXEL10_22
1754 X2PIXEL11_12
1755 break;
1756 }
1757 case 188:
1758 {
1759 X2PIXEL00_21
1760 X2PIXEL01_11
1761 X2PIXEL10_11
1762 X2PIXEL11_12
1763 break;
1764 }
1765 case 185:
1766 {
1767 X2PIXEL00_12
1768 X2PIXEL01_22
1769 X2PIXEL10_11
1770 X2PIXEL11_12
1771 break;
1772 }
1773 case 61:
1774 {
1775 X2PIXEL00_12
1776 X2PIXEL01_11
1777 X2PIXEL10_11
1778 X2PIXEL11_21
1779 break;
1780 }
1781 case 157:
1782 {
1783 X2PIXEL00_12
1784 X2PIXEL01_11
1785 X2PIXEL10_22
1786 X2PIXEL11_12
1787 break;
1788 }
1789 case 103:
1790 {
1791 X2PIXEL00_11
1792 X2PIXEL01_12
1793 X2PIXEL10_12
1794 X2PIXEL11_22
1795 break;
1796 }
1797 case 227:
1798 {
1799 X2PIXEL00_11
1800 X2PIXEL01_21
1801 X2PIXEL10_12
1802 X2PIXEL11_11
1803 break;
1804 }
1805 case 230:
1806 {
1807 X2PIXEL00_22
1808 X2PIXEL01_12
1809 X2PIXEL10_12
1810 X2PIXEL11_11
1811 break;
1812 }
1813 case 199:
1814 {
1815 X2PIXEL00_11
1816 X2PIXEL01_12
1817 X2PIXEL10_21
1818 X2PIXEL11_11
1819 break;
1820 }
1821 case 220:
1822 {
1823 X2PIXEL00_21
1824 X2PIXEL01_11
1825 if (Diff(RGBtoYUV[w8], RGBtoYUV[w4]))
1826 {
1827 X2PIXEL10_10
1828 }
1829 else
1830 {
1831 X2PIXEL10_70
1832 }
1833 if (Diff(RGBtoYUV[w6], RGBtoYUV[w8]))
1834 {
1835 X2PIXEL11_0
1836 }
1837 else
1838 {
1839 X2PIXEL11_20
1840 }
1841 break;
1842 }
1843 case 158:
1844 {
1845 if (Diff(RGBtoYUV[w4], RGBtoYUV[w2]))
1846 {
1847 X2PIXEL00_10
1848 }
1849 else
1850 {
1851 X2PIXEL00_70
1852 }
1853 if (Diff(RGBtoYUV[w2], RGBtoYUV[w6]))
1854 {
1855 X2PIXEL01_0
1856 }
1857 else
1858 {
1859 X2PIXEL01_20
1860 }
1861 X2PIXEL10_22
1862 X2PIXEL11_12
1863 break;
1864 }
1865 case 234:
1866 {
1867 if (Diff(RGBtoYUV[w4], RGBtoYUV[w2]))
1868 {
1869 X2PIXEL00_10
1870 }
1871 else
1872 {
1873 X2PIXEL00_70
1874 }
1875 X2PIXEL01_21
1876 if (Diff(RGBtoYUV[w8], RGBtoYUV[w4]))
1877 {
1878 X2PIXEL10_0
1879 }
1880 else
1881 {
1882 X2PIXEL10_20
1883 }
1884 X2PIXEL11_11
1885 break;
1886 }
1887 case 242:
1888 {
1889 X2PIXEL00_22
1890 if (Diff(RGBtoYUV[w2], RGBtoYUV[w6]))
1891 {
1892 X2PIXEL01_10
1893 }
1894 else
1895 {
1896 X2PIXEL01_70
1897 }
1898 X2PIXEL10_12
1899 if (Diff(RGBtoYUV[w6], RGBtoYUV[w8]))
1900 {
1901 X2PIXEL11_0
1902 }
1903 else
1904 {
1905 X2PIXEL11_20
1906 }
1907 break;
1908 }
1909 case 59:
1910 {
1911 if (Diff(RGBtoYUV[w4], RGBtoYUV[w2]))
1912 {
1913 X2PIXEL00_0
1914 }
1915 else
1916 {
1917 X2PIXEL00_20
1918 }
1919 if (Diff(RGBtoYUV[w2], RGBtoYUV[w6]))
1920 {
1921 X2PIXEL01_10
1922 }
1923 else
1924 {
1925 X2PIXEL01_70
1926 }
1927 X2PIXEL10_11
1928 X2PIXEL11_21
1929 break;
1930 }
1931 case 121:
1932 {
1933 X2PIXEL00_12
1934 X2PIXEL01_22
1935 if (Diff(RGBtoYUV[w8], RGBtoYUV[w4]))
1936 {
1937 X2PIXEL10_0
1938 }
1939 else
1940 {
1941 X2PIXEL10_20
1942 }
1943 if (Diff(RGBtoYUV[w6], RGBtoYUV[w8]))
1944 {
1945 X2PIXEL11_10
1946 }
1947 else
1948 {
1949 X2PIXEL11_70
1950 }
1951 break;
1952 }
1953 case 87:
1954 {
1955 X2PIXEL00_11
1956 if (Diff(RGBtoYUV[w2], RGBtoYUV[w6]))
1957 {
1958 X2PIXEL01_0
1959 }
1960 else
1961 {
1962 X2PIXEL01_20
1963 }
1964 X2PIXEL10_21
1965 if (Diff(RGBtoYUV[w6], RGBtoYUV[w8]))
1966 {
1967 X2PIXEL11_10
1968 }
1969 else
1970 {
1971 X2PIXEL11_70
1972 }
1973 break;
1974 }
1975 case 79:
1976 {
1977 if (Diff(RGBtoYUV[w4], RGBtoYUV[w2]))
1978 {
1979 X2PIXEL00_0
1980 }
1981 else
1982 {
1983 X2PIXEL00_20
1984 }
1985 X2PIXEL01_12
1986 if (Diff(RGBtoYUV[w8], RGBtoYUV[w4]))
1987 {
1988 X2PIXEL10_10
1989 }
1990 else
1991 {
1992 X2PIXEL10_70
1993 }
1994 X2PIXEL11_22
1995 break;
1996 }
1997 case 122:
1998 {
1999 if (Diff(RGBtoYUV[w4], RGBtoYUV[w2]))
2000 {
2001 X2PIXEL00_10
2002 }
2003 else
2004 {
2005 X2PIXEL00_70
2006 }
2007 if (Diff(RGBtoYUV[w2], RGBtoYUV[w6]))
2008 {
2009 X2PIXEL01_10
2010 }
2011 else
2012 {
2013 X2PIXEL01_70
2014 }
2015 if (Diff(RGBtoYUV[w8], RGBtoYUV[w4]))
2016 {
2017 X2PIXEL10_0
2018 }
2019 else
2020 {
2021 X2PIXEL10_20
2022 }
2023 if (Diff(RGBtoYUV[w6], RGBtoYUV[w8]))
2024 {
2025 X2PIXEL11_10
2026 }
2027 else
2028 {
2029 X2PIXEL11_70
2030 }
2031 break;
2032 }
2033 case 94:
2034 {
2035 if (Diff(RGBtoYUV[w4], RGBtoYUV[w2]))
2036 {
2037 X2PIXEL00_10
2038 }
2039 else
2040 {
2041 X2PIXEL00_70
2042 }
2043 if (Diff(RGBtoYUV[w2], RGBtoYUV[w6]))
2044 {
2045 X2PIXEL01_0
2046 }
2047 else
2048 {
2049 X2PIXEL01_20
2050 }
2051 if (Diff(RGBtoYUV[w8], RGBtoYUV[w4]))
2052 {
2053 X2PIXEL10_10
2054 }
2055 else
2056 {
2057 X2PIXEL10_70
2058 }
2059 if (Diff(RGBtoYUV[w6], RGBtoYUV[w8]))
2060 {
2061 X2PIXEL11_10
2062 }
2063 else
2064 {
2065 X2PIXEL11_70
2066 }
2067 break;
2068 }
2069 case 218:
2070 {
2071 if (Diff(RGBtoYUV[w4], RGBtoYUV[w2]))
2072 {
2073 X2PIXEL00_10
2074 }
2075 else
2076 {
2077 X2PIXEL00_70
2078 }
2079 if (Diff(RGBtoYUV[w2], RGBtoYUV[w6]))
2080 {
2081 X2PIXEL01_10
2082 }
2083 else
2084 {
2085 X2PIXEL01_70
2086 }
2087 if (Diff(RGBtoYUV[w8], RGBtoYUV[w4]))
2088 {
2089 X2PIXEL10_10
2090 }
2091 else
2092 {
2093 X2PIXEL10_70
2094 }
2095 if (Diff(RGBtoYUV[w6], RGBtoYUV[w8]))
2096 {
2097 X2PIXEL11_0
2098 }
2099 else
2100 {
2101 X2PIXEL11_20
2102 }
2103 break;
2104 }
2105 case 91:
2106 {
2107 if (Diff(RGBtoYUV[w4], RGBtoYUV[w2]))
2108 {
2109 X2PIXEL00_0
2110 }
2111 else
2112 {
2113 X2PIXEL00_20
2114 }
2115 if (Diff(RGBtoYUV[w2], RGBtoYUV[w6]))
2116 {
2117 X2PIXEL01_10
2118 }
2119 else
2120 {
2121 X2PIXEL01_70
2122 }
2123 if (Diff(RGBtoYUV[w8], RGBtoYUV[w4]))
2124 {
2125 X2PIXEL10_10
2126 }
2127 else
2128 {
2129 X2PIXEL10_70
2130 }
2131 if (Diff(RGBtoYUV[w6], RGBtoYUV[w8]))
2132 {
2133 X2PIXEL11_10
2134 }
2135 else
2136 {
2137 X2PIXEL11_70
2138 }
2139 break;
2140 }
2141 case 229:
2142 {
2143 X2PIXEL00_20
2144 X2PIXEL01_20
2145 X2PIXEL10_12
2146 X2PIXEL11_11
2147 break;
2148 }
2149 case 167:
2150 {
2151 X2PIXEL00_11
2152 X2PIXEL01_12
2153 X2PIXEL10_20
2154 X2PIXEL11_20
2155 break;
2156 }
2157 case 173:
2158 {
2159 X2PIXEL00_12
2160 X2PIXEL01_20
2161 X2PIXEL10_11
2162 X2PIXEL11_20
2163 break;
2164 }
2165 case 181:
2166 {
2167 X2PIXEL00_20
2168 X2PIXEL01_11
2169 X2PIXEL10_20
2170 X2PIXEL11_12
2171 break;
2172 }
2173 case 186:
2174 {
2175 if (Diff(RGBtoYUV[w4], RGBtoYUV[w2]))
2176 {
2177 X2PIXEL00_10
2178 }
2179 else
2180 {
2181 X2PIXEL00_70
2182 }
2183 if (Diff(RGBtoYUV[w2], RGBtoYUV[w6]))
2184 {
2185 X2PIXEL01_10
2186 }
2187 else
2188 {
2189 X2PIXEL01_70
2190 }
2191 X2PIXEL10_11
2192 X2PIXEL11_12
2193 break;
2194 }
2195 case 115:
2196 {
2197 X2PIXEL00_11
2198 if (Diff(RGBtoYUV[w2], RGBtoYUV[w6]))
2199 {
2200 X2PIXEL01_10
2201 }
2202 else
2203 {
2204 X2PIXEL01_70
2205 }
2206 X2PIXEL10_12
2207 if (Diff(RGBtoYUV[w6], RGBtoYUV[w8]))
2208 {
2209 X2PIXEL11_10
2210 }
2211 else
2212 {
2213 X2PIXEL11_70
2214 }
2215 break;
2216 }
2217 case 93:
2218 {
2219 X2PIXEL00_12
2220 X2PIXEL01_11
2221 if (Diff(RGBtoYUV[w8], RGBtoYUV[w4]))
2222 {
2223 X2PIXEL10_10
2224 }
2225 else
2226 {
2227 X2PIXEL10_70
2228 }
2229 if (Diff(RGBtoYUV[w6], RGBtoYUV[w8]))
2230 {
2231 X2PIXEL11_10
2232 }
2233 else
2234 {
2235 X2PIXEL11_70
2236 }
2237 break;
2238 }
2239 case 206:
2240 {
2241 if (Diff(RGBtoYUV[w4], RGBtoYUV[w2]))
2242 {
2243 X2PIXEL00_10
2244 }
2245 else
2246 {
2247 X2PIXEL00_70
2248 }
2249 X2PIXEL01_12
2250 if (Diff(RGBtoYUV[w8], RGBtoYUV[w4]))
2251 {
2252 X2PIXEL10_10
2253 }
2254 else
2255 {
2256 X2PIXEL10_70
2257 }
2258 X2PIXEL11_11
2259 break;
2260 }
2261 case 205:
2262 case 201:
2263 {
2264 X2PIXEL00_12
2265 X2PIXEL01_20
2266 if (Diff(RGBtoYUV[w8], RGBtoYUV[w4]))
2267 {
2268 X2PIXEL10_10
2269 }
2270 else
2271 {
2272 X2PIXEL10_70
2273 }
2274 X2PIXEL11_11
2275 break;
2276 }
2277 case 174:
2278 case 46:
2279 {
2280 if (Diff(RGBtoYUV[w4], RGBtoYUV[w2]))
2281 {
2282 X2PIXEL00_10
2283 }
2284 else
2285 {
2286 X2PIXEL00_70
2287 }
2288 X2PIXEL01_12
2289 X2PIXEL10_11
2290 X2PIXEL11_20
2291 break;
2292 }
2293 case 179:
2294 case 147:
2295 {
2296 X2PIXEL00_11
2297 if (Diff(RGBtoYUV[w2], RGBtoYUV[w6]))
2298 {
2299 X2PIXEL01_10
2300 }
2301 else
2302 {
2303 X2PIXEL01_70
2304 }
2305 X2PIXEL10_20
2306 X2PIXEL11_12
2307 break;
2308 }
2309 case 117:
2310 case 116:
2311 {
2312 X2PIXEL00_20
2313 X2PIXEL01_11
2314 X2PIXEL10_12
2315 if (Diff(RGBtoYUV[w6], RGBtoYUV[w8]))
2316 {
2317 X2PIXEL11_10
2318 }
2319 else
2320 {
2321 X2PIXEL11_70
2322 }
2323 break;
2324 }
2325 case 189:
2326 {
2327 X2PIXEL00_12
2328 X2PIXEL01_11
2329 X2PIXEL10_11
2330 X2PIXEL11_12
2331 break;
2332 }
2333 case 231:
2334 {
2335 X2PIXEL00_11
2336 X2PIXEL01_12
2337 X2PIXEL10_12
2338 X2PIXEL11_11
2339 break;
2340 }
2341 case 126:
2342 {
2343 X2PIXEL00_10
2344 if (Diff(RGBtoYUV[w2], RGBtoYUV[w6]))
2345 {
2346 X2PIXEL01_0
2347 }
2348 else
2349 {
2350 X2PIXEL01_20
2351 }
2352 if (Diff(RGBtoYUV[w8], RGBtoYUV[w4]))
2353 {
2354 X2PIXEL10_0
2355 }
2356 else
2357 {
2358 X2PIXEL10_20
2359 }
2360 X2PIXEL11_10
2361 break;
2362 }
2363 case 219:
2364 {
2365 if (Diff(RGBtoYUV[w4], RGBtoYUV[w2]))
2366 {
2367 X2PIXEL00_0
2368 }
2369 else
2370 {
2371 X2PIXEL00_20
2372 }
2373 X2PIXEL01_10
2374 X2PIXEL10_10
2375 if (Diff(RGBtoYUV[w6], RGBtoYUV[w8]))
2376 {
2377 X2PIXEL11_0
2378 }
2379 else
2380 {
2381 X2PIXEL11_20
2382 }
2383 break;
2384 }
2385 case 125:
2386 {
2387 if (Diff(RGBtoYUV[w8], RGBtoYUV[w4]))
2388 {
2389 X2PIXEL00_12
2390 X2PIXEL10_0
2391 }
2392 else
2393 {
2394 X2PIXEL00_61
2395 X2PIXEL10_90
2396 }
2397 X2PIXEL01_11
2398 X2PIXEL11_10
2399 break;
2400 }
2401 case 221:
2402 {
2403 X2PIXEL00_12
2404 if (Diff(RGBtoYUV[w6], RGBtoYUV[w8]))
2405 {
2406 X2PIXEL01_11
2407 X2PIXEL11_0
2408 }
2409 else
2410 {
2411 X2PIXEL01_60
2412 X2PIXEL11_90
2413 }
2414 X2PIXEL10_10
2415 break;
2416 }
2417 case 207:
2418 {
2419 if (Diff(RGBtoYUV[w4], RGBtoYUV[w2]))
2420 {
2421 X2PIXEL00_0
2422 X2PIXEL01_12
2423 }
2424 else
2425 {
2426 X2PIXEL00_90
2427 X2PIXEL01_61
2428 }
2429 X2PIXEL10_10
2430 X2PIXEL11_11
2431 break;
2432 }
2433 case 238:
2434 {
2435 X2PIXEL00_10
2436 X2PIXEL01_12
2437 if (Diff(RGBtoYUV[w8], RGBtoYUV[w4]))
2438 {
2439 X2PIXEL10_0
2440 X2PIXEL11_11
2441 }
2442 else
2443 {
2444 X2PIXEL10_90
2445 X2PIXEL11_60
2446 }
2447 break;
2448 }
2449 case 190:
2450 {
2451 X2PIXEL00_10
2452 if (Diff(RGBtoYUV[w2], RGBtoYUV[w6]))
2453 {
2454 X2PIXEL01_0
2455 X2PIXEL11_12
2456 }
2457 else
2458 {
2459 X2PIXEL01_90
2460 X2PIXEL11_61
2461 }
2462 X2PIXEL10_11
2463 break;
2464 }
2465 case 187:
2466 {
2467 if (Diff(RGBtoYUV[w4], RGBtoYUV[w2]))
2468 {
2469 X2PIXEL00_0
2470 X2PIXEL10_11
2471 }
2472 else
2473 {
2474 X2PIXEL00_90
2475 X2PIXEL10_60
2476 }
2477 X2PIXEL01_10
2478 X2PIXEL11_12
2479 break;
2480 }
2481 case 243:
2482 {
2483 X2PIXEL00_11
2484 X2PIXEL01_10
2485 if (Diff(RGBtoYUV[w6], RGBtoYUV[w8]))
2486 {
2487 X2PIXEL10_12
2488 X2PIXEL11_0
2489 }
2490 else
2491 {
2492 X2PIXEL10_61
2493 X2PIXEL11_90
2494 }
2495 break;
2496 }
2497 case 119:
2498 {
2499 if (Diff(RGBtoYUV[w2], RGBtoYUV[w6]))
2500 {
2501 X2PIXEL00_11
2502 X2PIXEL01_0
2503 }
2504 else
2505 {
2506 X2PIXEL00_60
2507 X2PIXEL01_90
2508 }
2509 X2PIXEL10_12
2510 X2PIXEL11_10
2511 break;
2512 }
2513 case 237:
2514 case 233:
2515 {
2516 X2PIXEL00_12
2517 X2PIXEL01_20
2518 if (Diff(RGBtoYUV[w8], RGBtoYUV[w4]))
2519 {
2520 X2PIXEL10_0
2521 }
2522 else
2523 {
2524 X2PIXEL10_100
2525 }
2526 X2PIXEL11_11
2527 break;
2528 }
2529 case 175:
2530 case 47:
2531 {
2532 if (Diff(RGBtoYUV[w4], RGBtoYUV[w2]))
2533 {
2534 X2PIXEL00_0
2535 }
2536 else
2537 {
2538 X2PIXEL00_100
2539 }
2540 X2PIXEL01_12
2541 X2PIXEL10_11
2542 X2PIXEL11_20
2543 break;
2544 }
2545 case 183:
2546 case 151:
2547 {
2548 X2PIXEL00_11
2549 if (Diff(RGBtoYUV[w2], RGBtoYUV[w6]))
2550 {
2551 X2PIXEL01_0
2552 }
2553 else
2554 {
2555 X2PIXEL01_100
2556 }
2557 X2PIXEL10_20
2558 X2PIXEL11_12
2559 break;
2560 }
2561 case 245:
2562 case 244:
2563 {
2564 X2PIXEL00_20
2565 X2PIXEL01_11
2566 X2PIXEL10_12
2567 if (Diff(RGBtoYUV[w6], RGBtoYUV[w8]))
2568 {
2569 X2PIXEL11_0
2570 }
2571 else
2572 {
2573 X2PIXEL11_100
2574 }
2575 break;
2576 }
2577 case 250:
2578 {
2579 X2PIXEL00_10
2580 X2PIXEL01_10
2581 if (Diff(RGBtoYUV[w8], RGBtoYUV[w4]))
2582 {
2583 X2PIXEL10_0
2584 }
2585 else
2586 {
2587 X2PIXEL10_20
2588 }
2589 if (Diff(RGBtoYUV[w6], RGBtoYUV[w8]))
2590 {
2591 X2PIXEL11_0
2592 }
2593 else
2594 {
2595 X2PIXEL11_20
2596 }
2597 break;
2598 }
2599 case 123:
2600 {
2601 if (Diff(RGBtoYUV[w4], RGBtoYUV[w2]))
2602 {
2603 X2PIXEL00_0
2604 }
2605 else
2606 {
2607 X2PIXEL00_20
2608 }
2609 X2PIXEL01_10
2610 if (Diff(RGBtoYUV[w8], RGBtoYUV[w4]))
2611 {
2612 X2PIXEL10_0
2613 }
2614 else
2615 {
2616 X2PIXEL10_20
2617 }
2618 X2PIXEL11_10
2619 break;
2620 }
2621 case 95:
2622 {
2623 if (Diff(RGBtoYUV[w4], RGBtoYUV[w2]))
2624 {
2625 X2PIXEL00_0
2626 }
2627 else
2628 {
2629 X2PIXEL00_20
2630 }
2631 if (Diff(RGBtoYUV[w2], RGBtoYUV[w6]))
2632 {
2633 X2PIXEL01_0
2634 }
2635 else
2636 {
2637 X2PIXEL01_20
2638 }
2639 X2PIXEL10_10
2640 X2PIXEL11_10
2641 break;
2642 }
2643 case 222:
2644 {
2645 X2PIXEL00_10
2646 if (Diff(RGBtoYUV[w2], RGBtoYUV[w6]))
2647 {
2648 X2PIXEL01_0
2649 }
2650 else
2651 {
2652 X2PIXEL01_20
2653 }
2654 X2PIXEL10_10
2655 if (Diff(RGBtoYUV[w6], RGBtoYUV[w8]))
2656 {
2657 X2PIXEL11_0
2658 }
2659 else
2660 {
2661 X2PIXEL11_20
2662 }
2663 break;
2664 }
2665 case 252:
2666 {
2667 X2PIXEL00_21
2668 X2PIXEL01_11
2669 if (Diff(RGBtoYUV[w8], RGBtoYUV[w4]))
2670 {
2671 X2PIXEL10_0
2672 }
2673 else
2674 {
2675 X2PIXEL10_20
2676 }
2677 if (Diff(RGBtoYUV[w6], RGBtoYUV[w8]))
2678 {
2679 X2PIXEL11_0
2680 }
2681 else
2682 {
2683 X2PIXEL11_100
2684 }
2685 break;
2686 }
2687 case 249:
2688 {
2689 X2PIXEL00_12
2690 X2PIXEL01_22
2691 if (Diff(RGBtoYUV[w8], RGBtoYUV[w4]))
2692 {
2693 X2PIXEL10_0
2694 }
2695 else
2696 {
2697 X2PIXEL10_100
2698 }
2699 if (Diff(RGBtoYUV[w6], RGBtoYUV[w8]))
2700 {
2701 X2PIXEL11_0
2702 }
2703 else
2704 {
2705 X2PIXEL11_20
2706 }
2707 break;
2708 }
2709 case 235:
2710 {
2711 if (Diff(RGBtoYUV[w4], RGBtoYUV[w2]))
2712 {
2713 X2PIXEL00_0
2714 }
2715 else
2716 {
2717 X2PIXEL00_20
2718 }
2719 X2PIXEL01_21
2720 if (Diff(RGBtoYUV[w8], RGBtoYUV[w4]))
2721 {
2722 X2PIXEL10_0
2723 }
2724 else
2725 {
2726 X2PIXEL10_100
2727 }
2728 X2PIXEL11_11
2729 break;
2730 }
2731 case 111:
2732 {
2733 if (Diff(RGBtoYUV[w4], RGBtoYUV[w2]))
2734 {
2735 X2PIXEL00_0
2736 }
2737 else
2738 {
2739 X2PIXEL00_100
2740 }
2741 X2PIXEL01_12
2742 if (Diff(RGBtoYUV[w8], RGBtoYUV[w4]))
2743 {
2744 X2PIXEL10_0
2745 }
2746 else
2747 {
2748 X2PIXEL10_20
2749 }
2750 X2PIXEL11_22
2751 break;
2752 }
2753 case 63:
2754 {
2755 if (Diff(RGBtoYUV[w4], RGBtoYUV[w2]))
2756 {
2757 X2PIXEL00_0
2758 }
2759 else
2760 {
2761 X2PIXEL00_100
2762 }
2763 if (Diff(RGBtoYUV[w2], RGBtoYUV[w6]))
2764 {
2765 X2PIXEL01_0
2766 }
2767 else
2768 {
2769 X2PIXEL01_20
2770 }
2771 X2PIXEL10_11
2772 X2PIXEL11_21
2773 break;
2774 }
2775 case 159:
2776 {
2777 if (Diff(RGBtoYUV[w4], RGBtoYUV[w2]))
2778 {
2779 X2PIXEL00_0
2780 }
2781 else
2782 {
2783 X2PIXEL00_20
2784 }
2785 if (Diff(RGBtoYUV[w2], RGBtoYUV[w6]))
2786 {
2787 X2PIXEL01_0
2788 }
2789 else
2790 {
2791 X2PIXEL01_100
2792 }
2793 X2PIXEL10_22
2794 X2PIXEL11_12
2795 break;
2796 }
2797 case 215:
2798 {
2799 X2PIXEL00_11
2800 if (Diff(RGBtoYUV[w2], RGBtoYUV[w6]))
2801 {
2802 X2PIXEL01_0
2803 }
2804 else
2805 {
2806 X2PIXEL01_100
2807 }
2808 X2PIXEL10_21
2809 if (Diff(RGBtoYUV[w6], RGBtoYUV[w8]))
2810 {
2811 X2PIXEL11_0
2812 }
2813 else
2814 {
2815 X2PIXEL11_20
2816 }
2817 break;
2818 }
2819 case 246:
2820 {
2821 X2PIXEL00_22
2822 if (Diff(RGBtoYUV[w2], RGBtoYUV[w6]))
2823 {
2824 X2PIXEL01_0
2825 }
2826 else
2827 {
2828 X2PIXEL01_20
2829 }
2830 X2PIXEL10_12
2831 if (Diff(RGBtoYUV[w6], RGBtoYUV[w8]))
2832 {
2833 X2PIXEL11_0
2834 }
2835 else
2836 {
2837 X2PIXEL11_100
2838 }
2839 break;
2840 }
2841 case 254:
2842 {
2843 X2PIXEL00_10
2844 if (Diff(RGBtoYUV[w2], RGBtoYUV[w6]))
2845 {
2846 X2PIXEL01_0
2847 }
2848 else
2849 {
2850 X2PIXEL01_20
2851 }
2852 if (Diff(RGBtoYUV[w8], RGBtoYUV[w4]))
2853 {
2854 X2PIXEL10_0
2855 }
2856 else
2857 {
2858 X2PIXEL10_20
2859 }
2860 if (Diff(RGBtoYUV[w6], RGBtoYUV[w8]))
2861 {
2862 X2PIXEL11_0
2863 }
2864 else
2865 {
2866 X2PIXEL11_100
2867 }
2868 break;
2869 }
2870 case 253:
2871 {
2872 X2PIXEL00_12
2873 X2PIXEL01_11
2874 if (Diff(RGBtoYUV[w8], RGBtoYUV[w4]))
2875 {
2876 X2PIXEL10_0
2877 }
2878 else
2879 {
2880 X2PIXEL10_100
2881 }
2882 if (Diff(RGBtoYUV[w6], RGBtoYUV[w8]))
2883 {
2884 X2PIXEL11_0
2885 }
2886 else
2887 {
2888 X2PIXEL11_100
2889 }
2890 break;
2891 }
2892 case 251:
2893 {
2894 if (Diff(RGBtoYUV[w4], RGBtoYUV[w2]))
2895 {
2896 X2PIXEL00_0
2897 }
2898 else
2899 {
2900 X2PIXEL00_20
2901 }
2902 X2PIXEL01_10
2903 if (Diff(RGBtoYUV[w8], RGBtoYUV[w4]))
2904 {
2905 X2PIXEL10_0
2906 }
2907 else
2908 {
2909 X2PIXEL10_100
2910 }
2911 if (Diff(RGBtoYUV[w6], RGBtoYUV[w8]))
2912 {
2913 X2PIXEL11_0
2914 }
2915 else
2916 {
2917 X2PIXEL11_20
2918 }
2919 break;
2920 }
2921 case 239:
2922 {
2923 if (Diff(RGBtoYUV[w4], RGBtoYUV[w2]))
2924 {
2925 X2PIXEL00_0
2926 }
2927 else
2928 {
2929 X2PIXEL00_100
2930 }
2931 X2PIXEL01_12
2932 if (Diff(RGBtoYUV[w8], RGBtoYUV[w4]))
2933 {
2934 X2PIXEL10_0
2935 }
2936 else
2937 {
2938 X2PIXEL10_100
2939 }
2940 X2PIXEL11_11
2941 break;
2942 }
2943 case 127:
2944 {
2945 if (Diff(RGBtoYUV[w4], RGBtoYUV[w2]))
2946 {
2947 X2PIXEL00_0
2948 }
2949 else
2950 {
2951 X2PIXEL00_100
2952 }
2953 if (Diff(RGBtoYUV[w2], RGBtoYUV[w6]))
2954 {
2955 X2PIXEL01_0
2956 }
2957 else
2958 {
2959 X2PIXEL01_20
2960 }
2961 if (Diff(RGBtoYUV[w8], RGBtoYUV[w4]))
2962 {
2963 X2PIXEL10_0
2964 }
2965 else
2966 {
2967 X2PIXEL10_20
2968 }
2969 X2PIXEL11_10
2970 break;
2971 }
2972 case 191:
2973 {
2974 if (Diff(RGBtoYUV[w4], RGBtoYUV[w2]))
2975 {
2976 X2PIXEL00_0
2977 }
2978 else
2979 {
2980 X2PIXEL00_100
2981 }
2982 if (Diff(RGBtoYUV[w2], RGBtoYUV[w6]))
2983 {
2984 X2PIXEL01_0
2985 }
2986 else
2987 {
2988 X2PIXEL01_100
2989 }
2990 X2PIXEL10_11
2991 X2PIXEL11_12
2992 break;
2993 }
2994 case 223:
2995 {
2996 if (Diff(RGBtoYUV[w4], RGBtoYUV[w2]))
2997 {
2998 X2PIXEL00_0
2999 }
3000 else
3001 {
3002 X2PIXEL00_20
3003 }
3004 if (Diff(RGBtoYUV[w2], RGBtoYUV[w6]))
3005 {
3006 X2PIXEL01_0
3007 }
3008 else
3009 {
3010 X2PIXEL01_100
3011 }
3012 X2PIXEL10_10
3013 if (Diff(RGBtoYUV[w6], RGBtoYUV[w8]))
3014 {
3015 X2PIXEL11_0
3016 }
3017 else
3018 {
3019 X2PIXEL11_20
3020 }
3021 break;
3022 }
3023 case 247:
3024 {
3025 X2PIXEL00_11
3026 if (Diff(RGBtoYUV[w2], RGBtoYUV[w6]))
3027 {
3028 X2PIXEL01_0
3029 }
3030 else
3031 {
3032 X2PIXEL01_100
3033 }
3034 X2PIXEL10_12
3035 if (Diff(RGBtoYUV[w6], RGBtoYUV[w8]))
3036 {
3037 X2PIXEL11_0
3038 }
3039 else
3040 {
3041 X2PIXEL11_100
3042 }
3043 break;
3044 }
3045 case 255:
3046 {
3047 if (Diff(RGBtoYUV[w4], RGBtoYUV[w2]))
3048 {
3049 X2PIXEL00_0
3050 }
3051 else
3052 {
3053 X2PIXEL00_100
3054 }
3055 if (Diff(RGBtoYUV[w2], RGBtoYUV[w6]))
3056 {
3057 X2PIXEL01_0
3058 }
3059 else
3060 {
3061 X2PIXEL01_100
3062 }
3063 if (Diff(RGBtoYUV[w8], RGBtoYUV[w4]))
3064 {
3065 X2PIXEL10_0
3066 }
3067 else
3068 {
3069 X2PIXEL10_100
3070 }
3071 if (Diff(RGBtoYUV[w6], RGBtoYUV[w8]))
3072 {
3073 X2PIXEL11_0
3074 }
3075 else
3076 {
3077 X2PIXEL11_100
3078 }
3079 break;
3080 }
3081 }
3082
3083 w1 = w2; w4 = w5; w7 = w8;
3084 w2 = w3; w5 = w6; w8 = w9;
3085
3086 dp += 2;
3087 }
3088
3089 dp += (dst1line - width) * 2;
3090 sp += (src1line - width);
3091 }
3092}
3093
3094void HQ3X_16 (uint8 *srcPtr, uint32 srcPitch, uint8 *dstPtr, uint32 dstPitch, int width, int height)
3095{
3096 int w1, w2, w3, w4, w5, w6, w7, w8, w9;
3097 uint32 src1line = srcPitch >> 1;
3098 uint32 dst1line = dstPitch >> 1;
3099 uint16 *sp = (uint16 *) srcPtr;
3100 uint16 *dp = (uint16 *) dstPtr;
3101
3102 uint32 pattern;
3103 int l, y;
3104
3105 while (height--)
3106 {
3107 sp--;
3108
3109 w1 = *(sp - src1line);
3110 w4 = *(sp);
3111 w7 = *(sp + src1line);
3112
3113 sp++;
3114
3115 w2 = *(sp - src1line);
3116 w5 = *(sp);
3117 w8 = *(sp + src1line);
3118
3119 for (l = width; l; l--)
3120 {
3121 sp++;
3122
3123 w3 = *(sp - src1line);
3124 w6 = *(sp);
3125 w9 = *(sp + src1line);
3126
3127 y = RGBtoYUV[w5];
3128 pattern = 0;
3129
3130 if ((w1 != w5) && (Diff(y, RGBtoYUV[w1]))) pattern |= (1 << 0);
3131 if ((w2 != w5) && (Diff(y, RGBtoYUV[w2]))) pattern |= (1 << 1);
3132 if ((w3 != w5) && (Diff(y, RGBtoYUV[w3]))) pattern |= (1 << 2);
3133 if ((w4 != w5) && (Diff(y, RGBtoYUV[w4]))) pattern |= (1 << 3);
3134 if ((w6 != w5) && (Diff(y, RGBtoYUV[w6]))) pattern |= (1 << 4);
3135 if ((w7 != w5) && (Diff(y, RGBtoYUV[w7]))) pattern |= (1 << 5);
3136 if ((w8 != w5) && (Diff(y, RGBtoYUV[w8]))) pattern |= (1 << 6);
3137 if ((w9 != w5) && (Diff(y, RGBtoYUV[w9]))) pattern |= (1 << 7);
3138
3139 switch (pattern)
3140 {
3141 case 0:
3142 case 1:
3143 case 4:
3144 case 32:
3145 case 128:
3146 case 5:
3147 case 132:
3148 case 160:
3149 case 33:
3150 case 129:
3151 case 36:
3152 case 133:
3153 case 164:
3154 case 161:
3155 case 37:
3156 case 165:
3157 {
3158 X3PIXEL00_2
3159 X3PIXEL01_1
3160 X3PIXEL02_2
3161 X3PIXEL10_1
3162 X3PIXEL11
3163 X3PIXEL12_1
3164 X3PIXEL20_2
3165 X3PIXEL21_1
3166 X3PIXEL22_2
3167 break;
3168 }
3169 case 2:
3170 case 34:
3171 case 130:
3172 case 162:
3173 {
3174 X3PIXEL00_1M
3175 X3PIXEL01_C
3176 X3PIXEL02_1M
3177 X3PIXEL10_1
3178 X3PIXEL11
3179 X3PIXEL12_1
3180 X3PIXEL20_2
3181 X3PIXEL21_1
3182 X3PIXEL22_2
3183 break;
3184 }
3185 case 16:
3186 case 17:
3187 case 48:
3188 case 49:
3189 {
3190 X3PIXEL00_2
3191 X3PIXEL01_1
3192 X3PIXEL02_1M
3193 X3PIXEL10_1
3194 X3PIXEL11
3195 X3PIXEL12_C
3196 X3PIXEL20_2
3197 X3PIXEL21_1
3198 X3PIXEL22_1M
3199 break;
3200 }
3201 case 64:
3202 case 65:
3203 case 68:
3204 case 69:
3205 {
3206 X3PIXEL00_2
3207 X3PIXEL01_1
3208 X3PIXEL02_2
3209 X3PIXEL10_1
3210 X3PIXEL11
3211 X3PIXEL12_1
3212 X3PIXEL20_1M
3213 X3PIXEL21_C
3214 X3PIXEL22_1M
3215 break;
3216 }
3217 case 8:
3218 case 12:
3219 case 136:
3220 case 140:
3221 {
3222 X3PIXEL00_1M
3223 X3PIXEL01_1
3224 X3PIXEL02_2
3225 X3PIXEL10_C
3226 X3PIXEL11
3227 X3PIXEL12_1
3228 X3PIXEL20_1M
3229 X3PIXEL21_1
3230 X3PIXEL22_2
3231 break;
3232 }
3233 case 3:
3234 case 35:
3235 case 131:
3236 case 163:
3237 {
3238 X3PIXEL00_1L
3239 X3PIXEL01_C
3240 X3PIXEL02_1M
3241 X3PIXEL10_1
3242 X3PIXEL11
3243 X3PIXEL12_1
3244 X3PIXEL20_2
3245 X3PIXEL21_1
3246 X3PIXEL22_2
3247 break;
3248 }
3249 case 6:
3250 case 38:
3251 case 134:
3252 case 166:
3253 {
3254 X3PIXEL00_1M
3255 X3PIXEL01_C
3256 X3PIXEL02_1R
3257 X3PIXEL10_1
3258 X3PIXEL11
3259 X3PIXEL12_1
3260 X3PIXEL20_2
3261 X3PIXEL21_1
3262 X3PIXEL22_2
3263 break;
3264 }
3265 case 20:
3266 case 21:
3267 case 52:
3268 case 53:
3269 {
3270 X3PIXEL00_2
3271 X3PIXEL01_1
3272 X3PIXEL02_1U
3273 X3PIXEL10_1
3274 X3PIXEL11
3275 X3PIXEL12_C
3276 X3PIXEL20_2
3277 X3PIXEL21_1
3278 X3PIXEL22_1M
3279 break;
3280 }
3281 case 144:
3282 case 145:
3283 case 176:
3284 case 177:
3285 {
3286 X3PIXEL00_2
3287 X3PIXEL01_1
3288 X3PIXEL02_1M
3289 X3PIXEL10_1
3290 X3PIXEL11
3291 X3PIXEL12_C
3292 X3PIXEL20_2
3293 X3PIXEL21_1
3294 X3PIXEL22_1D
3295 break;
3296 }
3297 case 192:
3298 case 193:
3299 case 196:
3300 case 197:
3301 {
3302 X3PIXEL00_2
3303 X3PIXEL01_1
3304 X3PIXEL02_2
3305 X3PIXEL10_1
3306 X3PIXEL11
3307 X3PIXEL12_1
3308 X3PIXEL20_1M
3309 X3PIXEL21_C
3310 X3PIXEL22_1R
3311 break;
3312 }
3313 case 96:
3314 case 97:
3315 case 100:
3316 case 101:
3317 {
3318 X3PIXEL00_2
3319 X3PIXEL01_1
3320 X3PIXEL02_2
3321 X3PIXEL10_1
3322 X3PIXEL11
3323 X3PIXEL12_1
3324 X3PIXEL20_1L
3325 X3PIXEL21_C
3326 X3PIXEL22_1M
3327 break;
3328 }
3329 case 40:
3330 case 44:
3331 case 168:
3332 case 172:
3333 {
3334 X3PIXEL00_1M
3335 X3PIXEL01_1
3336 X3PIXEL02_2
3337 X3PIXEL10_C
3338 X3PIXEL11
3339 X3PIXEL12_1
3340 X3PIXEL20_1D
3341 X3PIXEL21_1
3342 X3PIXEL22_2
3343 break;
3344 }
3345 case 9:
3346 case 13:
3347 case 137:
3348 case 141:
3349 {
3350 X3PIXEL00_1U
3351 X3PIXEL01_1
3352 X3PIXEL02_2
3353 X3PIXEL10_C
3354 X3PIXEL11
3355 X3PIXEL12_1
3356 X3PIXEL20_1M
3357 X3PIXEL21_1
3358 X3PIXEL22_2
3359 break;
3360 }
3361 case 18:
3362 case 50:
3363 {
3364 X3PIXEL00_1M
3365 if (Diff(RGBtoYUV[w2], RGBtoYUV[w6]))
3366 {
3367 X3PIXEL01_C
3368 X3PIXEL02_1M
3369 X3PIXEL12_C
3370 }
3371 else
3372 {
3373 X3PIXEL01_3
3374 X3PIXEL02_4
3375 X3PIXEL12_3
3376 }
3377 X3PIXEL10_1
3378 X3PIXEL11
3379 X3PIXEL20_2
3380 X3PIXEL21_1
3381 X3PIXEL22_1M
3382 break;
3383 }
3384 case 80:
3385 case 81:
3386 {
3387 X3PIXEL00_2
3388 X3PIXEL01_1
3389 X3PIXEL02_1M
3390 X3PIXEL10_1
3391 X3PIXEL11
3392 X3PIXEL20_1M
3393 if (Diff(RGBtoYUV[w6], RGBtoYUV[w8]))
3394 {
3395 X3PIXEL12_C
3396 X3PIXEL21_C
3397 X3PIXEL22_1M
3398 }
3399 else
3400 {
3401 X3PIXEL12_3
3402 X3PIXEL21_3
3403 X3PIXEL22_4
3404 }
3405 break;
3406 }
3407 case 72:
3408 case 76:
3409 {
3410 X3PIXEL00_1M
3411 X3PIXEL01_1
3412 X3PIXEL02_2
3413 X3PIXEL11
3414 X3PIXEL12_1
3415 if (Diff(RGBtoYUV[w8], RGBtoYUV[w4]))
3416 {
3417 X3PIXEL10_C
3418 X3PIXEL20_1M
3419 X3PIXEL21_C
3420 }
3421 else
3422 {
3423 X3PIXEL10_3
3424 X3PIXEL20_4
3425 X3PIXEL21_3
3426 }
3427 X3PIXEL22_1M
3428 break;
3429 }
3430 case 10:
3431 case 138:
3432 {
3433 if (Diff(RGBtoYUV[w4], RGBtoYUV[w2]))
3434 {
3435 X3PIXEL00_1M
3436 X3PIXEL01_C
3437 X3PIXEL10_C
3438 }
3439 else
3440 {
3441 X3PIXEL00_4
3442 X3PIXEL01_3
3443 X3PIXEL10_3
3444 }
3445 X3PIXEL02_1M
3446 X3PIXEL11
3447 X3PIXEL12_1
3448 X3PIXEL20_1M
3449 X3PIXEL21_1
3450 X3PIXEL22_2
3451 break;
3452 }
3453 case 66:
3454 {
3455 X3PIXEL00_1M
3456 X3PIXEL01_C
3457 X3PIXEL02_1M
3458 X3PIXEL10_1
3459 X3PIXEL11
3460 X3PIXEL12_1
3461 X3PIXEL20_1M
3462 X3PIXEL21_C
3463 X3PIXEL22_1M
3464 break;
3465 }
3466 case 24:
3467 {
3468 X3PIXEL00_1M
3469 X3PIXEL01_1
3470 X3PIXEL02_1M
3471 X3PIXEL10_C
3472 X3PIXEL11
3473 X3PIXEL12_C
3474 X3PIXEL20_1M
3475 X3PIXEL21_1
3476 X3PIXEL22_1M
3477 break;
3478 }
3479 case 7:
3480 case 39:
3481 case 135:
3482 {
3483 X3PIXEL00_1L
3484 X3PIXEL01_C
3485 X3PIXEL02_1R
3486 X3PIXEL10_1
3487 X3PIXEL11
3488 X3PIXEL12_1
3489 X3PIXEL20_2
3490 X3PIXEL21_1
3491 X3PIXEL22_2
3492 break;
3493 }
3494 case 148:
3495 case 149:
3496 case 180:
3497 {
3498 X3PIXEL00_2
3499 X3PIXEL01_1
3500 X3PIXEL02_1U
3501 X3PIXEL10_1
3502 X3PIXEL11
3503 X3PIXEL12_C
3504 X3PIXEL20_2
3505 X3PIXEL21_1
3506 X3PIXEL22_1D
3507 break;
3508 }
3509 case 224:
3510 case 228:
3511 case 225:
3512 {
3513 X3PIXEL00_2
3514 X3PIXEL01_1
3515 X3PIXEL02_2
3516 X3PIXEL10_1
3517 X3PIXEL11
3518 X3PIXEL12_1
3519 X3PIXEL20_1L
3520 X3PIXEL21_C
3521 X3PIXEL22_1R
3522 break;
3523 }
3524 case 41:
3525 case 169:
3526 case 45:
3527 {
3528 X3PIXEL00_1U
3529 X3PIXEL01_1
3530 X3PIXEL02_2
3531 X3PIXEL10_C
3532 X3PIXEL11
3533 X3PIXEL12_1
3534 X3PIXEL20_1D
3535 X3PIXEL21_1
3536 X3PIXEL22_2
3537 break;
3538 }
3539 case 22:
3540 case 54:
3541 {
3542 X3PIXEL00_1M
3543 if (Diff(RGBtoYUV[w2], RGBtoYUV[w6]))
3544 {
3545 X3PIXEL01_C
3546 X3PIXEL02_C
3547 X3PIXEL12_C
3548 }
3549 else
3550 {
3551 X3PIXEL01_3
3552 X3PIXEL02_4
3553 X3PIXEL12_3
3554 }
3555 X3PIXEL10_1
3556 X3PIXEL11
3557 X3PIXEL20_2
3558 X3PIXEL21_1
3559 X3PIXEL22_1M
3560 break;
3561 }
3562 case 208:
3563 case 209:
3564 {
3565 X3PIXEL00_2
3566 X3PIXEL01_1
3567 X3PIXEL02_1M
3568 X3PIXEL10_1
3569 X3PIXEL11
3570 X3PIXEL20_1M
3571 if (Diff(RGBtoYUV[w6], RGBtoYUV[w8]))
3572 {
3573 X3PIXEL12_C
3574 X3PIXEL21_C
3575 X3PIXEL22_C
3576 }
3577 else
3578 {
3579 X3PIXEL12_3
3580 X3PIXEL21_3
3581 X3PIXEL22_4
3582 }
3583 break;
3584 }
3585 case 104:
3586 case 108:
3587 {
3588 X3PIXEL00_1M
3589 X3PIXEL01_1
3590 X3PIXEL02_2
3591 X3PIXEL11
3592 X3PIXEL12_1
3593 if (Diff(RGBtoYUV[w8], RGBtoYUV[w4]))
3594 {
3595 X3PIXEL10_C
3596 X3PIXEL20_C
3597 X3PIXEL21_C
3598 }
3599 else
3600 {
3601 X3PIXEL10_3
3602 X3PIXEL20_4
3603 X3PIXEL21_3
3604 }
3605 X3PIXEL22_1M
3606 break;
3607 }
3608 case 11:
3609 case 139:
3610 {
3611 if (Diff(RGBtoYUV[w4], RGBtoYUV[w2]))
3612 {
3613 X3PIXEL00_C
3614 X3PIXEL01_C
3615 X3PIXEL10_C
3616 }
3617 else
3618 {
3619 X3PIXEL00_4
3620 X3PIXEL01_3
3621 X3PIXEL10_3
3622 }
3623 X3PIXEL02_1M
3624 X3PIXEL11
3625 X3PIXEL12_1
3626 X3PIXEL20_1M
3627 X3PIXEL21_1
3628 X3PIXEL22_2
3629 break;
3630 }
3631 case 19:
3632 case 51:
3633 {
3634 if (Diff(RGBtoYUV[w2], RGBtoYUV[w6]))
3635 {
3636 X3PIXEL00_1L
3637 X3PIXEL01_C
3638 X3PIXEL02_1M
3639 X3PIXEL12_C
3640 }
3641 else
3642 {
3643 X3PIXEL00_2
3644 X3PIXEL01_6
3645 X3PIXEL02_5
3646 X3PIXEL12_1
3647 }
3648 X3PIXEL10_1
3649 X3PIXEL11
3650 X3PIXEL20_2
3651 X3PIXEL21_1
3652 X3PIXEL22_1M
3653 break;
3654 }
3655 case 146:
3656 case 178:
3657 {
3658 if (Diff(RGBtoYUV[w2], RGBtoYUV[w6]))
3659 {
3660 X3PIXEL01_C
3661 X3PIXEL02_1M
3662 X3PIXEL12_C
3663 X3PIXEL22_1D
3664 }
3665 else
3666 {
3667 X3PIXEL01_1
3668 X3PIXEL02_5
3669 X3PIXEL12_6
3670 X3PIXEL22_2
3671 }
3672 X3PIXEL00_1M
3673 X3PIXEL10_1
3674 X3PIXEL11
3675 X3PIXEL20_2
3676 X3PIXEL21_1
3677 break;
3678 }
3679 case 84:
3680 case 85:
3681 {
3682 if (Diff(RGBtoYUV[w6], RGBtoYUV[w8]))
3683 {
3684 X3PIXEL02_1U
3685 X3PIXEL12_C
3686 X3PIXEL21_C
3687 X3PIXEL22_1M
3688 }
3689 else
3690 {
3691 X3PIXEL02_2
3692 X3PIXEL12_6
3693 X3PIXEL21_1
3694 X3PIXEL22_5
3695 }
3696 X3PIXEL00_2
3697 X3PIXEL01_1
3698 X3PIXEL10_1
3699 X3PIXEL11
3700 X3PIXEL20_1M
3701 break;
3702 }
3703 case 112:
3704 case 113:
3705 {
3706 if (Diff(RGBtoYUV[w6], RGBtoYUV[w8]))
3707 {
3708 X3PIXEL12_C
3709 X3PIXEL20_1L
3710 X3PIXEL21_C
3711 X3PIXEL22_1M
3712 }
3713 else
3714 {
3715 X3PIXEL12_1
3716 X3PIXEL20_2
3717 X3PIXEL21_6
3718 X3PIXEL22_5
3719 }
3720 X3PIXEL00_2
3721 X3PIXEL01_1
3722 X3PIXEL02_1M
3723 X3PIXEL10_1
3724 X3PIXEL11
3725 break;
3726 }
3727 case 200:
3728 case 204:
3729 {
3730 if (Diff(RGBtoYUV[w8], RGBtoYUV[w4]))
3731 {
3732 X3PIXEL10_C
3733 X3PIXEL20_1M
3734 X3PIXEL21_C
3735 X3PIXEL22_1R
3736 }
3737 else
3738 {
3739 X3PIXEL10_1
3740 X3PIXEL20_5
3741 X3PIXEL21_6
3742 X3PIXEL22_2
3743 }
3744 X3PIXEL00_1M
3745 X3PIXEL01_1
3746 X3PIXEL02_2
3747 X3PIXEL11
3748 X3PIXEL12_1
3749 break;
3750 }
3751 case 73:
3752 case 77:
3753 {
3754 if (Diff(RGBtoYUV[w8], RGBtoYUV[w4]))
3755 {
3756 X3PIXEL00_1U
3757 X3PIXEL10_C
3758 X3PIXEL20_1M
3759 X3PIXEL21_C
3760 }
3761 else
3762 {
3763 X3PIXEL00_2
3764 X3PIXEL10_6
3765 X3PIXEL20_5
3766 X3PIXEL21_1
3767 }
3768 X3PIXEL01_1
3769 X3PIXEL02_2
3770 X3PIXEL11
3771 X3PIXEL12_1
3772 X3PIXEL22_1M
3773 break;
3774 }
3775 case 42:
3776 case 170:
3777 {
3778 if (Diff(RGBtoYUV[w4], RGBtoYUV[w2]))
3779 {
3780 X3PIXEL00_1M
3781 X3PIXEL01_C
3782 X3PIXEL10_C
3783 X3PIXEL20_1D
3784 }
3785 else
3786 {
3787 X3PIXEL00_5
3788 X3PIXEL01_1
3789 X3PIXEL10_6
3790 X3PIXEL20_2
3791 }
3792 X3PIXEL02_1M
3793 X3PIXEL11
3794 X3PIXEL12_1
3795 X3PIXEL21_1
3796 X3PIXEL22_2
3797 break;
3798 }
3799 case 14:
3800 case 142:
3801 {
3802 if (Diff(RGBtoYUV[w4], RGBtoYUV[w2]))
3803 {
3804 X3PIXEL00_1M
3805 X3PIXEL01_C
3806 X3PIXEL02_1R
3807 X3PIXEL10_C
3808 }
3809 else
3810 {
3811 X3PIXEL00_5
3812 X3PIXEL01_6
3813 X3PIXEL02_2
3814 X3PIXEL10_1
3815 }
3816 X3PIXEL11
3817 X3PIXEL12_1
3818 X3PIXEL20_1M
3819 X3PIXEL21_1
3820 X3PIXEL22_2
3821 break;
3822 }
3823 case 67:
3824 {
3825 X3PIXEL00_1L
3826 X3PIXEL01_C
3827 X3PIXEL02_1M
3828 X3PIXEL10_1
3829 X3PIXEL11
3830 X3PIXEL12_1
3831 X3PIXEL20_1M
3832 X3PIXEL21_C
3833 X3PIXEL22_1M
3834 break;
3835 }
3836 case 70:
3837 {
3838 X3PIXEL00_1M
3839 X3PIXEL01_C
3840 X3PIXEL02_1R
3841 X3PIXEL10_1
3842 X3PIXEL11
3843 X3PIXEL12_1
3844 X3PIXEL20_1M
3845 X3PIXEL21_C
3846 X3PIXEL22_1M
3847 break;
3848 }
3849 case 28:
3850 {
3851 X3PIXEL00_1M
3852 X3PIXEL01_1
3853 X3PIXEL02_1U
3854 X3PIXEL10_C
3855 X3PIXEL11
3856 X3PIXEL12_C
3857 X3PIXEL20_1M
3858 X3PIXEL21_1
3859 X3PIXEL22_1M
3860 break;
3861 }
3862 case 152:
3863 {
3864 X3PIXEL00_1M
3865 X3PIXEL01_1
3866 X3PIXEL02_1M
3867 X3PIXEL10_C
3868 X3PIXEL11
3869 X3PIXEL12_C
3870 X3PIXEL20_1M
3871 X3PIXEL21_1
3872 X3PIXEL22_1D
3873 break;
3874 }
3875 case 194:
3876 {
3877 X3PIXEL00_1M
3878 X3PIXEL01_C
3879 X3PIXEL02_1M
3880 X3PIXEL10_1
3881 X3PIXEL11
3882 X3PIXEL12_1
3883 X3PIXEL20_1M
3884 X3PIXEL21_C
3885 X3PIXEL22_1R
3886 break;
3887 }
3888 case 98:
3889 {
3890 X3PIXEL00_1M
3891 X3PIXEL01_C
3892 X3PIXEL02_1M
3893 X3PIXEL10_1
3894 X3PIXEL11
3895 X3PIXEL12_1
3896 X3PIXEL20_1L
3897 X3PIXEL21_C
3898 X3PIXEL22_1M
3899 break;
3900 }
3901 case 56:
3902 {
3903 X3PIXEL00_1M
3904 X3PIXEL01_1
3905 X3PIXEL02_1M
3906 X3PIXEL10_C
3907 X3PIXEL11
3908 X3PIXEL12_C
3909 X3PIXEL20_1D
3910 X3PIXEL21_1
3911 X3PIXEL22_1M
3912 break;
3913 }
3914 case 25:
3915 {
3916 X3PIXEL00_1U
3917 X3PIXEL01_1
3918 X3PIXEL02_1M
3919 X3PIXEL10_C
3920 X3PIXEL11
3921 X3PIXEL12_C
3922 X3PIXEL20_1M
3923 X3PIXEL21_1
3924 X3PIXEL22_1M
3925 break;
3926 }
3927 case 26:
3928 case 31:
3929 {
3930 if (Diff(RGBtoYUV[w4], RGBtoYUV[w2]))
3931 {
3932 X3PIXEL00_C
3933 X3PIXEL10_C
3934 }
3935 else
3936 {
3937 X3PIXEL00_4
3938 X3PIXEL10_3
3939 }
3940 X3PIXEL01_C
3941 if (Diff(RGBtoYUV[w2], RGBtoYUV[w6]))
3942 {
3943 X3PIXEL02_C
3944 X3PIXEL12_C
3945 }
3946 else
3947 {
3948 X3PIXEL02_4
3949 X3PIXEL12_3
3950 }
3951 X3PIXEL11
3952 X3PIXEL20_1M
3953 X3PIXEL21_1
3954 X3PIXEL22_1M
3955 break;
3956 }
3957 case 82:
3958 case 214:
3959 {
3960 X3PIXEL00_1M
3961 if (Diff(RGBtoYUV[w2], RGBtoYUV[w6]))
3962 {
3963 X3PIXEL01_C
3964 X3PIXEL02_C
3965 }
3966 else
3967 {
3968 X3PIXEL01_3
3969 X3PIXEL02_4
3970 }
3971 X3PIXEL10_1
3972 X3PIXEL11
3973 X3PIXEL12_C
3974 X3PIXEL20_1M
3975 if (Diff(RGBtoYUV[w6], RGBtoYUV[w8]))
3976 {
3977 X3PIXEL21_C
3978 X3PIXEL22_C
3979 }
3980 else
3981 {
3982 X3PIXEL21_3
3983 X3PIXEL22_4
3984 }
3985 break;
3986 }
3987 case 88:
3988 case 248:
3989 {
3990 X3PIXEL00_1M
3991 X3PIXEL01_1
3992 X3PIXEL02_1M
3993 X3PIXEL11
3994 if (Diff(RGBtoYUV[w8], RGBtoYUV[w4]))
3995 {
3996 X3PIXEL10_C
3997 X3PIXEL20_C
3998 }
3999 else
4000 {
4001 X3PIXEL10_3
4002 X3PIXEL20_4
4003 }
4004 X3PIXEL21_C
4005 if (Diff(RGBtoYUV[w6], RGBtoYUV[w8]))
4006 {
4007 X3PIXEL12_C
4008 X3PIXEL22_C
4009 }
4010 else
4011 {
4012 X3PIXEL12_3
4013 X3PIXEL22_4
4014 }
4015 break;
4016 }
4017 case 74:
4018 case 107:
4019 {
4020 if (Diff(RGBtoYUV[w4], RGBtoYUV[w2]))
4021 {
4022 X3PIXEL00_C
4023 X3PIXEL01_C
4024 }
4025 else
4026 {
4027 X3PIXEL00_4
4028 X3PIXEL01_3
4029 }
4030 X3PIXEL02_1M
4031 X3PIXEL10_C
4032 X3PIXEL11
4033 X3PIXEL12_1
4034 if (Diff(RGBtoYUV[w8], RGBtoYUV[w4]))
4035 {
4036 X3PIXEL20_C
4037 X3PIXEL21_C
4038 }
4039 else
4040 {
4041 X3PIXEL20_4
4042 X3PIXEL21_3
4043 }
4044 X3PIXEL22_1M
4045 break;
4046 }
4047 case 27:
4048 {
4049 if (Diff(RGBtoYUV[w4], RGBtoYUV[w2]))
4050 {
4051 X3PIXEL00_C
4052 X3PIXEL01_C
4053 X3PIXEL10_C
4054 }
4055 else
4056 {
4057 X3PIXEL00_4
4058 X3PIXEL01_3
4059 X3PIXEL10_3
4060 }
4061 X3PIXEL02_1M
4062 X3PIXEL11
4063 X3PIXEL12_C
4064 X3PIXEL20_1M
4065 X3PIXEL21_1
4066 X3PIXEL22_1M
4067 break;
4068 }
4069 case 86:
4070 {
4071 X3PIXEL00_1M
4072 if (Diff(RGBtoYUV[w2], RGBtoYUV[w6]))
4073 {
4074 X3PIXEL01_C
4075 X3PIXEL02_C
4076 X3PIXEL12_C
4077 }
4078 else
4079 {
4080 X3PIXEL01_3
4081 X3PIXEL02_4
4082 X3PIXEL12_3
4083 }
4084 X3PIXEL10_1
4085 X3PIXEL11
4086 X3PIXEL20_1M
4087 X3PIXEL21_C
4088 X3PIXEL22_1M
4089 break;
4090 }
4091 case 216:
4092 {
4093 X3PIXEL00_1M
4094 X3PIXEL01_1
4095 X3PIXEL02_1M
4096 X3PIXEL10_C
4097 X3PIXEL11
4098 X3PIXEL20_1M
4099 if (Diff(RGBtoYUV[w6], RGBtoYUV[w8]))
4100 {
4101 X3PIXEL12_C
4102 X3PIXEL21_C
4103 X3PIXEL22_C
4104 }
4105 else
4106 {
4107 X3PIXEL12_3
4108 X3PIXEL21_3
4109 X3PIXEL22_4
4110 }
4111 break;
4112 }
4113 case 106:
4114 {
4115 X3PIXEL00_1M
4116 X3PIXEL01_C
4117 X3PIXEL02_1M
4118 X3PIXEL11
4119 X3PIXEL12_1
4120 if (Diff(RGBtoYUV[w8], RGBtoYUV[w4]))
4121 {
4122 X3PIXEL10_C
4123 X3PIXEL20_C
4124 X3PIXEL21_C
4125 }
4126 else
4127 {
4128 X3PIXEL10_3
4129 X3PIXEL20_4
4130 X3PIXEL21_3
4131 }
4132 X3PIXEL22_1M
4133 break;
4134 }
4135 case 30:
4136 {
4137 X3PIXEL00_1M
4138 if (Diff(RGBtoYUV[w2], RGBtoYUV[w6]))
4139 {
4140 X3PIXEL01_C
4141 X3PIXEL02_C
4142 X3PIXEL12_C
4143 }
4144 else
4145 {
4146 X3PIXEL01_3
4147 X3PIXEL02_4
4148 X3PIXEL12_3
4149 }
4150 X3PIXEL10_C
4151 X3PIXEL11
4152 X3PIXEL20_1M
4153 X3PIXEL21_1
4154 X3PIXEL22_1M
4155 break;
4156 }
4157 case 210:
4158 {
4159 X3PIXEL00_1M
4160 X3PIXEL01_C
4161 X3PIXEL02_1M
4162 X3PIXEL10_1
4163 X3PIXEL11
4164 X3PIXEL20_1M
4165 if (Diff(RGBtoYUV[w6], RGBtoYUV[w8]))
4166 {
4167 X3PIXEL12_C
4168 X3PIXEL21_C
4169 X3PIXEL22_C
4170 }
4171 else
4172 {
4173 X3PIXEL12_3
4174 X3PIXEL21_3
4175 X3PIXEL22_4
4176 }
4177 break;
4178 }
4179 case 120:
4180 {
4181 X3PIXEL00_1M
4182 X3PIXEL01_1
4183 X3PIXEL02_1M
4184 X3PIXEL11
4185 X3PIXEL12_C
4186 if (Diff(RGBtoYUV[w8], RGBtoYUV[w4]))
4187 {
4188 X3PIXEL10_C
4189 X3PIXEL20_C
4190 X3PIXEL21_C
4191 }
4192 else
4193 {
4194 X3PIXEL10_3
4195 X3PIXEL20_4
4196 X3PIXEL21_3
4197 }
4198 X3PIXEL22_1M
4199 break;
4200 }
4201 case 75:
4202 {
4203 if (Diff(RGBtoYUV[w4], RGBtoYUV[w2]))
4204 {
4205 X3PIXEL00_C
4206 X3PIXEL01_C
4207 X3PIXEL10_C
4208 }
4209 else
4210 {
4211 X3PIXEL00_4
4212 X3PIXEL01_3
4213 X3PIXEL10_3
4214 }
4215 X3PIXEL02_1M
4216 X3PIXEL11
4217 X3PIXEL12_1
4218 X3PIXEL20_1M
4219 X3PIXEL21_C
4220 X3PIXEL22_1M
4221 break;
4222 }
4223 case 29:
4224 {
4225 X3PIXEL00_1U
4226 X3PIXEL01_1
4227 X3PIXEL02_1U
4228 X3PIXEL10_C
4229 X3PIXEL11
4230 X3PIXEL12_C
4231 X3PIXEL20_1M
4232 X3PIXEL21_1
4233 X3PIXEL22_1M
4234 break;
4235 }
4236 case 198:
4237 {
4238 X3PIXEL00_1M
4239 X3PIXEL01_C
4240 X3PIXEL02_1R
4241 X3PIXEL10_1
4242 X3PIXEL11
4243 X3PIXEL12_1
4244 X3PIXEL20_1M
4245 X3PIXEL21_C
4246 X3PIXEL22_1R
4247 break;
4248 }
4249 case 184:
4250 {
4251 X3PIXEL00_1M
4252 X3PIXEL01_1
4253 X3PIXEL02_1M
4254 X3PIXEL10_C
4255 X3PIXEL11
4256 X3PIXEL12_C
4257 X3PIXEL20_1D
4258 X3PIXEL21_1
4259 X3PIXEL22_1D
4260 break;
4261 }
4262 case 99:
4263 {
4264 X3PIXEL00_1L
4265 X3PIXEL01_C
4266 X3PIXEL02_1M
4267 X3PIXEL10_1
4268 X3PIXEL11
4269 X3PIXEL12_1
4270 X3PIXEL20_1L
4271 X3PIXEL21_C
4272 X3PIXEL22_1M
4273 break;
4274 }
4275 case 57:
4276 {
4277 X3PIXEL00_1U
4278 X3PIXEL01_1
4279 X3PIXEL02_1M
4280 X3PIXEL10_C
4281 X3PIXEL11
4282 X3PIXEL12_C
4283 X3PIXEL20_1D
4284 X3PIXEL21_1
4285 X3PIXEL22_1M
4286 break;
4287 }
4288 case 71:
4289 {
4290 X3PIXEL00_1L
4291 X3PIXEL01_C
4292 X3PIXEL02_1R
4293 X3PIXEL10_1
4294 X3PIXEL11
4295 X3PIXEL12_1
4296 X3PIXEL20_1M
4297 X3PIXEL21_C
4298 X3PIXEL22_1M
4299 break;
4300 }
4301 case 156:
4302 {
4303 X3PIXEL00_1M
4304 X3PIXEL01_1
4305 X3PIXEL02_1U
4306 X3PIXEL10_C
4307 X3PIXEL11
4308 X3PIXEL12_C
4309 X3PIXEL20_1M
4310 X3PIXEL21_1
4311 X3PIXEL22_1D
4312 break;
4313 }
4314 case 226:
4315 {
4316 X3PIXEL00_1M
4317 X3PIXEL01_C
4318 X3PIXEL02_1M
4319 X3PIXEL10_1
4320 X3PIXEL11
4321 X3PIXEL12_1
4322 X3PIXEL20_1L
4323 X3PIXEL21_C
4324 X3PIXEL22_1R
4325 break;
4326 }
4327 case 60:
4328 {
4329 X3PIXEL00_1M
4330 X3PIXEL01_1
4331 X3PIXEL02_1U
4332 X3PIXEL10_C
4333 X3PIXEL11
4334 X3PIXEL12_C
4335 X3PIXEL20_1D
4336 X3PIXEL21_1
4337 X3PIXEL22_1M
4338 break;
4339 }
4340 case 195:
4341 {
4342 X3PIXEL00_1L
4343 X3PIXEL01_C
4344 X3PIXEL02_1M
4345 X3PIXEL10_1
4346 X3PIXEL11
4347 X3PIXEL12_1
4348 X3PIXEL20_1M
4349 X3PIXEL21_C
4350 X3PIXEL22_1R
4351 break;
4352 }
4353 case 102:
4354 {
4355 X3PIXEL00_1M
4356 X3PIXEL01_C
4357 X3PIXEL02_1R
4358 X3PIXEL10_1
4359 X3PIXEL11
4360 X3PIXEL12_1
4361 X3PIXEL20_1L
4362 X3PIXEL21_C
4363 X3PIXEL22_1M
4364 break;
4365 }
4366 case 153:
4367 {
4368 X3PIXEL00_1U
4369 X3PIXEL01_1
4370 X3PIXEL02_1M
4371 X3PIXEL10_C
4372 X3PIXEL11
4373 X3PIXEL12_C
4374 X3PIXEL20_1M
4375 X3PIXEL21_1
4376 X3PIXEL22_1D
4377 break;
4378 }
4379 case 58:
4380 {
4381 if (Diff(RGBtoYUV[w4], RGBtoYUV[w2]))
4382 {
4383 X3PIXEL00_1M
4384 }
4385 else
4386 {
4387 X3PIXEL00_2
4388 }
4389 X3PIXEL01_C
4390 if (Diff(RGBtoYUV[w2], RGBtoYUV[w6]))
4391 {
4392 X3PIXEL02_1M
4393 }
4394 else
4395 {
4396 X3PIXEL02_2
4397 }
4398 X3PIXEL10_C
4399 X3PIXEL11
4400 X3PIXEL12_C
4401 X3PIXEL20_1D
4402 X3PIXEL21_1
4403 X3PIXEL22_1M
4404 break;
4405 }
4406 case 83:
4407 {
4408 X3PIXEL00_1L
4409 X3PIXEL01_C
4410 if (Diff(RGBtoYUV[w2], RGBtoYUV[w6]))
4411 {
4412 X3PIXEL02_1M
4413 }
4414 else
4415 {
4416 X3PIXEL02_2
4417 }
4418 X3PIXEL10_1
4419 X3PIXEL11
4420 X3PIXEL12_C
4421 X3PIXEL20_1M
4422 X3PIXEL21_C
4423 if (Diff(RGBtoYUV[w6], RGBtoYUV[w8]))
4424 {
4425 X3PIXEL22_1M
4426 }
4427 else
4428 {
4429 X3PIXEL22_2
4430 }
4431 break;
4432 }
4433 case 92:
4434 {
4435 X3PIXEL00_1M
4436 X3PIXEL01_1
4437 X3PIXEL02_1U
4438 X3PIXEL10_C
4439 X3PIXEL11
4440 X3PIXEL12_C
4441 if (Diff(RGBtoYUV[w8], RGBtoYUV[w4]))
4442 {
4443 X3PIXEL20_1M
4444 }
4445 else
4446 {
4447 X3PIXEL20_2
4448 }
4449 X3PIXEL21_C
4450 if (Diff(RGBtoYUV[w6], RGBtoYUV[w8]))
4451 {
4452 X3PIXEL22_1M
4453 }
4454 else
4455 {
4456 X3PIXEL22_2
4457 }
4458 break;
4459 }
4460 case 202:
4461 {
4462 if (Diff(RGBtoYUV[w4], RGBtoYUV[w2]))
4463 {
4464 X3PIXEL00_1M
4465 }
4466 else
4467 {
4468 X3PIXEL00_2
4469 }
4470 X3PIXEL01_C
4471 X3PIXEL02_1M
4472 X3PIXEL10_C
4473 X3PIXEL11
4474 X3PIXEL12_1
4475 if (Diff(RGBtoYUV[w8], RGBtoYUV[w4]))
4476 {
4477 X3PIXEL20_1M
4478 }
4479 else
4480 {
4481 X3PIXEL20_2
4482 }
4483 X3PIXEL21_C
4484 X3PIXEL22_1R
4485 break;
4486 }
4487 case 78:
4488 {
4489 if (Diff(RGBtoYUV[w4], RGBtoYUV[w2]))
4490 {
4491 X3PIXEL00_1M
4492 }
4493 else
4494 {
4495 X3PIXEL00_2
4496 }
4497 X3PIXEL01_C
4498 X3PIXEL02_1R
4499 X3PIXEL10_C
4500 X3PIXEL11
4501 X3PIXEL12_1
4502 if (Diff(RGBtoYUV[w8], RGBtoYUV[w4]))
4503 {
4504 X3PIXEL20_1M
4505 }
4506 else
4507 {
4508 X3PIXEL20_2
4509 }
4510 X3PIXEL21_C
4511 X3PIXEL22_1M
4512 break;
4513 }
4514 case 154:
4515 {
4516 if (Diff(RGBtoYUV[w4], RGBtoYUV[w2]))
4517 {
4518 X3PIXEL00_1M
4519 }
4520 else
4521 {
4522 X3PIXEL00_2
4523 }
4524 X3PIXEL01_C
4525 if (Diff(RGBtoYUV[w2], RGBtoYUV[w6]))
4526 {
4527 X3PIXEL02_1M
4528 }
4529 else
4530 {
4531 X3PIXEL02_2
4532 }
4533 X3PIXEL10_C
4534 X3PIXEL11
4535 X3PIXEL12_C
4536 X3PIXEL20_1M
4537 X3PIXEL21_1
4538 X3PIXEL22_1D
4539 break;
4540 }
4541 case 114:
4542 {
4543 X3PIXEL00_1M
4544 X3PIXEL01_C
4545 if (Diff(RGBtoYUV[w2], RGBtoYUV[w6]))
4546 {
4547 X3PIXEL02_1M
4548 }
4549 else
4550 {
4551 X3PIXEL02_2
4552 }
4553 X3PIXEL10_1
4554 X3PIXEL11
4555 X3PIXEL12_C
4556 X3PIXEL20_1L
4557 X3PIXEL21_C
4558 if (Diff(RGBtoYUV[w6], RGBtoYUV[w8]))
4559 {
4560 X3PIXEL22_1M
4561 }
4562 else
4563 {
4564 X3PIXEL22_2
4565 }
4566 break;
4567 }
4568 case 89:
4569 {
4570 X3PIXEL00_1U
4571 X3PIXEL01_1
4572 X3PIXEL02_1M
4573 X3PIXEL10_C
4574 X3PIXEL11
4575 X3PIXEL12_C
4576 if (Diff(RGBtoYUV[w8], RGBtoYUV[w4]))
4577 {
4578 X3PIXEL20_1M
4579 }
4580 else
4581 {
4582 X3PIXEL20_2
4583 }
4584 X3PIXEL21_C
4585 if (Diff(RGBtoYUV[w6], RGBtoYUV[w8]))
4586 {
4587 X3PIXEL22_1M
4588 }
4589 else
4590 {
4591 X3PIXEL22_2
4592 }
4593 break;
4594 }
4595 case 90:
4596 {
4597 if (Diff(RGBtoYUV[w4], RGBtoYUV[w2]))
4598 {
4599 X3PIXEL00_1M
4600 }
4601 else
4602 {
4603 X3PIXEL00_2
4604 }
4605 X3PIXEL01_C
4606 if (Diff(RGBtoYUV[w2], RGBtoYUV[w6]))
4607 {
4608 X3PIXEL02_1M
4609 }
4610 else
4611 {
4612 X3PIXEL02_2
4613 }
4614 X3PIXEL10_C
4615 X3PIXEL11
4616 X3PIXEL12_C
4617 if (Diff(RGBtoYUV[w8], RGBtoYUV[w4]))
4618 {
4619 X3PIXEL20_1M
4620 }
4621 else
4622 {
4623 X3PIXEL20_2
4624 }
4625 X3PIXEL21_C
4626 if (Diff(RGBtoYUV[w6], RGBtoYUV[w8]))
4627 {
4628 X3PIXEL22_1M
4629 }
4630 else
4631 {
4632 X3PIXEL22_2
4633 }
4634 break;
4635 }
4636 case 55:
4637 case 23:
4638 {
4639 if (Diff(RGBtoYUV[w2], RGBtoYUV[w6]))
4640 {
4641 X3PIXEL00_1L
4642 X3PIXEL01_C
4643 X3PIXEL02_C
4644 X3PIXEL12_C
4645 }
4646 else
4647 {
4648 X3PIXEL00_2
4649 X3PIXEL01_6
4650 X3PIXEL02_5
4651 X3PIXEL12_1
4652 }
4653 X3PIXEL10_1
4654 X3PIXEL11
4655 X3PIXEL20_2
4656 X3PIXEL21_1
4657 X3PIXEL22_1M
4658 break;
4659 }
4660 case 182:
4661 case 150:
4662 {
4663 if (Diff(RGBtoYUV[w2], RGBtoYUV[w6]))
4664 {
4665 X3PIXEL01_C
4666 X3PIXEL02_C
4667 X3PIXEL12_C
4668 X3PIXEL22_1D
4669 }
4670 else
4671 {
4672 X3PIXEL01_1
4673 X3PIXEL02_5
4674 X3PIXEL12_6
4675 X3PIXEL22_2
4676 }
4677 X3PIXEL00_1M
4678 X3PIXEL10_1
4679 X3PIXEL11
4680 X3PIXEL20_2
4681 X3PIXEL21_1
4682 break;
4683 }
4684 case 213:
4685 case 212:
4686 {
4687 if (Diff(RGBtoYUV[w6], RGBtoYUV[w8]))
4688 {
4689 X3PIXEL02_1U
4690 X3PIXEL12_C
4691 X3PIXEL21_C
4692 X3PIXEL22_C
4693 }
4694 else
4695 {
4696 X3PIXEL02_2
4697 X3PIXEL12_6
4698 X3PIXEL21_1
4699 X3PIXEL22_5
4700 }
4701 X3PIXEL00_2
4702 X3PIXEL01_1
4703 X3PIXEL10_1
4704 X3PIXEL11
4705 X3PIXEL20_1M
4706 break;
4707 }
4708 case 241:
4709 case 240:
4710 {
4711 if (Diff(RGBtoYUV[w6], RGBtoYUV[w8]))
4712 {
4713 X3PIXEL12_C
4714 X3PIXEL20_1L
4715 X3PIXEL21_C
4716 X3PIXEL22_C
4717 }
4718 else
4719 {
4720 X3PIXEL12_1
4721 X3PIXEL20_2
4722 X3PIXEL21_6
4723 X3PIXEL22_5
4724 }
4725 X3PIXEL00_2
4726 X3PIXEL01_1
4727 X3PIXEL02_1M
4728 X3PIXEL10_1
4729 X3PIXEL11
4730 break;
4731 }
4732 case 236:
4733 case 232:
4734 {
4735 if (Diff(RGBtoYUV[w8], RGBtoYUV[w4]))
4736 {
4737 X3PIXEL10_C
4738 X3PIXEL20_C
4739 X3PIXEL21_C
4740 X3PIXEL22_1R
4741 }
4742 else
4743 {
4744 X3PIXEL10_1
4745 X3PIXEL20_5
4746 X3PIXEL21_6
4747 X3PIXEL22_2
4748 }
4749 X3PIXEL00_1M
4750 X3PIXEL01_1
4751 X3PIXEL02_2
4752 X3PIXEL11
4753 X3PIXEL12_1
4754 break;
4755 }
4756 case 109:
4757 case 105:
4758 {
4759 if (Diff(RGBtoYUV[w8], RGBtoYUV[w4]))
4760 {
4761 X3PIXEL00_1U
4762 X3PIXEL10_C
4763 X3PIXEL20_C
4764 X3PIXEL21_C
4765 }
4766 else
4767 {
4768 X3PIXEL00_2
4769 X3PIXEL10_6
4770 X3PIXEL20_5
4771 X3PIXEL21_1
4772 }
4773 X3PIXEL01_1
4774 X3PIXEL02_2
4775 X3PIXEL11
4776 X3PIXEL12_1
4777 X3PIXEL22_1M
4778 break;
4779 }
4780 case 171:
4781 case 43:
4782 {
4783 if (Diff(RGBtoYUV[w4], RGBtoYUV[w2]))
4784 {
4785 X3PIXEL00_C
4786 X3PIXEL01_C
4787 X3PIXEL10_C
4788 X3PIXEL20_1D
4789 }
4790 else
4791 {
4792 X3PIXEL00_5
4793 X3PIXEL01_1
4794 X3PIXEL10_6
4795 X3PIXEL20_2
4796 }
4797 X3PIXEL02_1M
4798 X3PIXEL11
4799 X3PIXEL12_1
4800 X3PIXEL21_1
4801 X3PIXEL22_2
4802 break;
4803 }
4804 case 143:
4805 case 15:
4806 {
4807 if (Diff(RGBtoYUV[w4], RGBtoYUV[w2]))
4808 {
4809 X3PIXEL00_C
4810 X3PIXEL01_C
4811 X3PIXEL02_1R
4812 X3PIXEL10_C
4813 }
4814 else
4815 {
4816 X3PIXEL00_5
4817 X3PIXEL01_6
4818 X3PIXEL02_2
4819 X3PIXEL10_1
4820 }
4821 X3PIXEL11
4822 X3PIXEL12_1
4823 X3PIXEL20_1M
4824 X3PIXEL21_1
4825 X3PIXEL22_2
4826 break;
4827 }
4828 case 124:
4829 {
4830 X3PIXEL00_1M
4831 X3PIXEL01_1
4832 X3PIXEL02_1U
4833 X3PIXEL11
4834 X3PIXEL12_C
4835 if (Diff(RGBtoYUV[w8], RGBtoYUV[w4]))
4836 {
4837 X3PIXEL10_C
4838 X3PIXEL20_C
4839 X3PIXEL21_C
4840 }
4841 else
4842 {
4843 X3PIXEL10_3
4844 X3PIXEL20_4
4845 X3PIXEL21_3
4846 }
4847 X3PIXEL22_1M
4848 break;
4849 }
4850 case 203:
4851 {
4852 if (Diff(RGBtoYUV[w4], RGBtoYUV[w2]))
4853 {
4854 X3PIXEL00_C
4855 X3PIXEL01_C
4856 X3PIXEL10_C
4857 }
4858 else
4859 {
4860 X3PIXEL00_4
4861 X3PIXEL01_3
4862 X3PIXEL10_3
4863 }
4864 X3PIXEL02_1M
4865 X3PIXEL11
4866 X3PIXEL12_1
4867 X3PIXEL20_1M
4868 X3PIXEL21_C
4869 X3PIXEL22_1R
4870 break;
4871 }
4872 case 62:
4873 {
4874 X3PIXEL00_1M
4875 if (Diff(RGBtoYUV[w2], RGBtoYUV[w6]))
4876 {
4877 X3PIXEL01_C
4878 X3PIXEL02_C
4879 X3PIXEL12_C
4880 }
4881 else
4882 {
4883 X3PIXEL01_3
4884 X3PIXEL02_4
4885 X3PIXEL12_3
4886 }
4887 X3PIXEL10_C
4888 X3PIXEL11
4889 X3PIXEL20_1D
4890 X3PIXEL21_1
4891 X3PIXEL22_1M
4892 break;
4893 }
4894 case 211:
4895 {
4896 X3PIXEL00_1L
4897 X3PIXEL01_C
4898 X3PIXEL02_1M
4899 X3PIXEL10_1
4900 X3PIXEL11
4901 X3PIXEL20_1M
4902 if (Diff(RGBtoYUV[w6], RGBtoYUV[w8]))
4903 {
4904 X3PIXEL12_C
4905 X3PIXEL21_C
4906 X3PIXEL22_C
4907 }
4908 else
4909 {
4910 X3PIXEL12_3
4911 X3PIXEL21_3
4912 X3PIXEL22_4
4913 }
4914 break;
4915 }
4916 case 118:
4917 {
4918 X3PIXEL00_1M
4919 if (Diff(RGBtoYUV[w2], RGBtoYUV[w6]))
4920 {
4921 X3PIXEL01_C
4922 X3PIXEL02_C
4923 X3PIXEL12_C
4924 }
4925 else
4926 {
4927 X3PIXEL01_3
4928 X3PIXEL02_4
4929 X3PIXEL12_3
4930 }
4931 X3PIXEL10_1
4932 X3PIXEL11
4933 X3PIXEL20_1L
4934 X3PIXEL21_C
4935 X3PIXEL22_1M
4936 break;
4937 }
4938 case 217:
4939 {
4940 X3PIXEL00_1U
4941 X3PIXEL01_1
4942 X3PIXEL02_1M
4943 X3PIXEL10_C
4944 X3PIXEL11
4945 X3PIXEL20_1M
4946 if (Diff(RGBtoYUV[w6], RGBtoYUV[w8]))
4947 {
4948 X3PIXEL12_C
4949 X3PIXEL21_C
4950 X3PIXEL22_C
4951 }
4952 else
4953 {
4954 X3PIXEL12_3
4955 X3PIXEL21_3
4956 X3PIXEL22_4
4957 }
4958 break;
4959 }
4960 case 110:
4961 {
4962 X3PIXEL00_1M
4963 X3PIXEL01_C
4964 X3PIXEL02_1R
4965 X3PIXEL11
4966 X3PIXEL12_1
4967 if (Diff(RGBtoYUV[w8], RGBtoYUV[w4]))
4968 {
4969 X3PIXEL10_C
4970 X3PIXEL20_C
4971 X3PIXEL21_C
4972 }
4973 else
4974 {
4975 X3PIXEL10_3
4976 X3PIXEL20_4
4977 X3PIXEL21_3
4978 }
4979 X3PIXEL22_1M
4980 break;
4981 }
4982 case 155:
4983 {
4984 if (Diff(RGBtoYUV[w4], RGBtoYUV[w2]))
4985 {
4986 X3PIXEL00_C
4987 X3PIXEL01_C
4988 X3PIXEL10_C
4989 }
4990 else
4991 {
4992 X3PIXEL00_4
4993 X3PIXEL01_3
4994 X3PIXEL10_3
4995 }
4996 X3PIXEL02_1M
4997 X3PIXEL11
4998 X3PIXEL12_C
4999 X3PIXEL20_1M
5000 X3PIXEL21_1
5001 X3PIXEL22_1D
5002 break;
5003 }
5004 case 188:
5005 {
5006 X3PIXEL00_1M
5007 X3PIXEL01_1
5008 X3PIXEL02_1U
5009 X3PIXEL10_C
5010 X3PIXEL11
5011 X3PIXEL12_C
5012 X3PIXEL20_1D
5013 X3PIXEL21_1
5014 X3PIXEL22_1D
5015 break;
5016 }
5017 case 185:
5018 {
5019 X3PIXEL00_1U
5020 X3PIXEL01_1
5021 X3PIXEL02_1M
5022 X3PIXEL10_C
5023 X3PIXEL11
5024 X3PIXEL12_C
5025 X3PIXEL20_1D
5026 X3PIXEL21_1
5027 X3PIXEL22_1D
5028 break;
5029 }
5030 case 61:
5031 {
5032 X3PIXEL00_1U
5033 X3PIXEL01_1
5034 X3PIXEL02_1U
5035 X3PIXEL10_C
5036 X3PIXEL11
5037 X3PIXEL12_C
5038 X3PIXEL20_1D
5039 X3PIXEL21_1
5040 X3PIXEL22_1M
5041 break;
5042 }
5043 case 157:
5044 {
5045 X3PIXEL00_1U
5046 X3PIXEL01_1
5047 X3PIXEL02_1U
5048 X3PIXEL10_C
5049 X3PIXEL11
5050 X3PIXEL12_C
5051 X3PIXEL20_1M
5052 X3PIXEL21_1
5053 X3PIXEL22_1D
5054 break;
5055 }
5056 case 103:
5057 {
5058 X3PIXEL00_1L
5059 X3PIXEL01_C
5060 X3PIXEL02_1R
5061 X3PIXEL10_1
5062 X3PIXEL11
5063 X3PIXEL12_1
5064 X3PIXEL20_1L
5065 X3PIXEL21_C
5066 X3PIXEL22_1M
5067 break;
5068 }
5069 case 227:
5070 {
5071 X3PIXEL00_1L
5072 X3PIXEL01_C
5073 X3PIXEL02_1M
5074 X3PIXEL10_1
5075 X3PIXEL11
5076 X3PIXEL12_1
5077 X3PIXEL20_1L
5078 X3PIXEL21_C
5079 X3PIXEL22_1R
5080 break;
5081 }
5082 case 230:
5083 {
5084 X3PIXEL00_1M
5085 X3PIXEL01_C
5086 X3PIXEL02_1R
5087 X3PIXEL10_1
5088 X3PIXEL11
5089 X3PIXEL12_1
5090 X3PIXEL20_1L
5091 X3PIXEL21_C
5092 X3PIXEL22_1R
5093 break;
5094 }
5095 case 199:
5096 {
5097 X3PIXEL00_1L
5098 X3PIXEL01_C
5099 X3PIXEL02_1R
5100 X3PIXEL10_1
5101 X3PIXEL11
5102 X3PIXEL12_1
5103 X3PIXEL20_1M
5104 X3PIXEL21_C
5105 X3PIXEL22_1R
5106 break;
5107 }
5108 case 220:
5109 {
5110 X3PIXEL00_1M
5111 X3PIXEL01_1
5112 X3PIXEL02_1U
5113 X3PIXEL10_C
5114 X3PIXEL11
5115 if (Diff(RGBtoYUV[w8], RGBtoYUV[w4]))
5116 {
5117 X3PIXEL20_1M
5118 }
5119 else
5120 {
5121 X3PIXEL20_2
5122 }
5123 if (Diff(RGBtoYUV[w6], RGBtoYUV[w8]))
5124 {
5125 X3PIXEL12_C
5126 X3PIXEL21_C
5127 X3PIXEL22_C
5128 }
5129 else
5130 {
5131 X3PIXEL12_3
5132 X3PIXEL21_3
5133 X3PIXEL22_4
5134 }
5135 break;
5136 }
5137 case 158:
5138 {
5139 if (Diff(RGBtoYUV[w4], RGBtoYUV[w2]))
5140 {
5141 X3PIXEL00_1M
5142 }
5143 else
5144 {
5145 X3PIXEL00_2
5146 }
5147 if (Diff(RGBtoYUV[w2], RGBtoYUV[w6]))
5148 {
5149 X3PIXEL01_C
5150 X3PIXEL02_C
5151 X3PIXEL12_C
5152 }
5153 else
5154 {
5155 X3PIXEL01_3
5156 X3PIXEL02_4
5157 X3PIXEL12_3
5158 }
5159 X3PIXEL10_C
5160 X3PIXEL11
5161 X3PIXEL20_1M
5162 X3PIXEL21_1
5163 X3PIXEL22_1D
5164 break;
5165 }
5166 case 234:
5167 {
5168 if (Diff(RGBtoYUV[w4], RGBtoYUV[w2]))
5169 {
5170 X3PIXEL00_1M
5171 }
5172 else
5173 {
5174 X3PIXEL00_2
5175 }
5176 X3PIXEL01_C
5177 X3PIXEL02_1M
5178 X3PIXEL11
5179 X3PIXEL12_1
5180 if (Diff(RGBtoYUV[w8], RGBtoYUV[w4]))
5181 {
5182 X3PIXEL10_C
5183 X3PIXEL20_C
5184 X3PIXEL21_C
5185 }
5186 else
5187 {
5188 X3PIXEL10_3
5189 X3PIXEL20_4
5190 X3PIXEL21_3
5191 }
5192 X3PIXEL22_1R
5193 break;
5194 }
5195 case 242:
5196 {
5197 X3PIXEL00_1M
5198 X3PIXEL01_C
5199 if (Diff(RGBtoYUV[w2], RGBtoYUV[w6]))
5200 {
5201 X3PIXEL02_1M
5202 }
5203 else
5204 {
5205 X3PIXEL02_2
5206 }
5207 X3PIXEL10_1
5208 X3PIXEL11
5209 X3PIXEL20_1L
5210 if (Diff(RGBtoYUV[w6], RGBtoYUV[w8]))
5211 {
5212 X3PIXEL12_C
5213 X3PIXEL21_C
5214 X3PIXEL22_C
5215 }
5216 else
5217 {
5218 X3PIXEL12_3
5219 X3PIXEL21_3
5220 X3PIXEL22_4
5221 }
5222 break;
5223 }
5224 case 59:
5225 {
5226 if (Diff(RGBtoYUV[w4], RGBtoYUV[w2]))
5227 {
5228 X3PIXEL00_C
5229 X3PIXEL01_C
5230 X3PIXEL10_C
5231 }
5232 else
5233 {
5234 X3PIXEL00_4
5235 X3PIXEL01_3
5236 X3PIXEL10_3
5237 }
5238 if (Diff(RGBtoYUV[w2], RGBtoYUV[w6]))
5239 {
5240 X3PIXEL02_1M
5241 }
5242 else
5243 {
5244 X3PIXEL02_2
5245 }
5246 X3PIXEL11
5247 X3PIXEL12_C
5248 X3PIXEL20_1D
5249 X3PIXEL21_1
5250 X3PIXEL22_1M
5251 break;
5252 }
5253 case 121:
5254 {
5255 X3PIXEL00_1U
5256 X3PIXEL01_1
5257 X3PIXEL02_1M
5258 X3PIXEL11
5259 X3PIXEL12_C
5260 if (Diff(RGBtoYUV[w8], RGBtoYUV[w4]))
5261 {
5262 X3PIXEL10_C
5263 X3PIXEL20_C
5264 X3PIXEL21_C
5265 }
5266 else
5267 {
5268 X3PIXEL10_3
5269 X3PIXEL20_4
5270 X3PIXEL21_3
5271 }
5272 if (Diff(RGBtoYUV[w6], RGBtoYUV[w8]))
5273 {
5274 X3PIXEL22_1M
5275 }
5276 else
5277 {
5278 X3PIXEL22_2
5279 }
5280 break;
5281 }
5282 case 87:
5283 {
5284 X3PIXEL00_1L
5285 if (Diff(RGBtoYUV[w2], RGBtoYUV[w6]))
5286 {
5287 X3PIXEL01_C
5288 X3PIXEL02_C
5289 X3PIXEL12_C
5290 }
5291 else
5292 {
5293 X3PIXEL01_3
5294 X3PIXEL02_4
5295 X3PIXEL12_3
5296 }
5297 X3PIXEL10_1
5298 X3PIXEL11
5299 X3PIXEL20_1M
5300 X3PIXEL21_C
5301 if (Diff(RGBtoYUV[w6], RGBtoYUV[w8]))
5302 {
5303 X3PIXEL22_1M
5304 }
5305 else
5306 {
5307 X3PIXEL22_2
5308 }
5309 break;
5310 }
5311 case 79:
5312 {
5313 if (Diff(RGBtoYUV[w4], RGBtoYUV[w2]))
5314 {
5315 X3PIXEL00_C
5316 X3PIXEL01_C
5317 X3PIXEL10_C
5318 }
5319 else
5320 {
5321 X3PIXEL00_4
5322 X3PIXEL01_3
5323 X3PIXEL10_3
5324 }
5325 X3PIXEL02_1R
5326 X3PIXEL11
5327 X3PIXEL12_1
5328 if (Diff(RGBtoYUV[w8], RGBtoYUV[w4]))
5329 {
5330 X3PIXEL20_1M
5331 }
5332 else
5333 {
5334 X3PIXEL20_2
5335 }
5336 X3PIXEL21_C
5337 X3PIXEL22_1M
5338 break;
5339 }
5340 case 122:
5341 {
5342 if (Diff(RGBtoYUV[w4], RGBtoYUV[w2]))
5343 {
5344 X3PIXEL00_1M
5345 }
5346 else
5347 {
5348 X3PIXEL00_2
5349 }
5350 X3PIXEL01_C
5351 if (Diff(RGBtoYUV[w2], RGBtoYUV[w6]))
5352 {
5353 X3PIXEL02_1M
5354 }
5355 else
5356 {
5357 X3PIXEL02_2
5358 }
5359 X3PIXEL11
5360 X3PIXEL12_C
5361 if (Diff(RGBtoYUV[w8], RGBtoYUV[w4]))
5362 {
5363 X3PIXEL10_C
5364 X3PIXEL20_C
5365 X3PIXEL21_C
5366 }
5367 else
5368 {
5369 X3PIXEL10_3
5370 X3PIXEL20_4
5371 X3PIXEL21_3
5372 }
5373 if (Diff(RGBtoYUV[w6], RGBtoYUV[w8]))
5374 {
5375 X3PIXEL22_1M
5376 }
5377 else
5378 {
5379 X3PIXEL22_2
5380 }
5381 break;
5382 }
5383 case 94:
5384 {
5385 if (Diff(RGBtoYUV[w4], RGBtoYUV[w2]))
5386 {
5387 X3PIXEL00_1M
5388 }
5389 else
5390 {
5391 X3PIXEL00_2
5392 }
5393 if (Diff(RGBtoYUV[w2], RGBtoYUV[w6]))
5394 {
5395 X3PIXEL01_C
5396 X3PIXEL02_C
5397 X3PIXEL12_C
5398 }
5399 else
5400 {
5401 X3PIXEL01_3
5402 X3PIXEL02_4
5403 X3PIXEL12_3
5404 }
5405 X3PIXEL10_C
5406 X3PIXEL11
5407 if (Diff(RGBtoYUV[w8], RGBtoYUV[w4]))
5408 {
5409 X3PIXEL20_1M
5410 }
5411 else
5412 {
5413 X3PIXEL20_2
5414 }
5415 X3PIXEL21_C
5416 if (Diff(RGBtoYUV[w6], RGBtoYUV[w8]))
5417 {
5418 X3PIXEL22_1M
5419 }
5420 else
5421 {
5422 X3PIXEL22_2
5423 }
5424 break;
5425 }
5426 case 218:
5427 {
5428 if (Diff(RGBtoYUV[w4], RGBtoYUV[w2]))
5429 {
5430 X3PIXEL00_1M
5431 }
5432 else
5433 {
5434 X3PIXEL00_2
5435 }
5436 X3PIXEL01_C
5437 if (Diff(RGBtoYUV[w2], RGBtoYUV[w6]))
5438 {
5439 X3PIXEL02_1M
5440 }
5441 else
5442 {
5443 X3PIXEL02_2
5444 }
5445 X3PIXEL10_C
5446 X3PIXEL11
5447 if (Diff(RGBtoYUV[w8], RGBtoYUV[w4]))
5448 {
5449 X3PIXEL20_1M
5450 }
5451 else
5452 {
5453 X3PIXEL20_2
5454 }
5455 if (Diff(RGBtoYUV[w6], RGBtoYUV[w8]))
5456 {
5457 X3PIXEL12_C
5458 X3PIXEL21_C
5459 X3PIXEL22_C
5460 }
5461 else
5462 {
5463 X3PIXEL12_3
5464 X3PIXEL21_3
5465 X3PIXEL22_4
5466 }
5467 break;
5468 }
5469 case 91:
5470 {
5471 if (Diff(RGBtoYUV[w4], RGBtoYUV[w2]))
5472 {
5473 X3PIXEL00_C
5474 X3PIXEL01_C
5475 X3PIXEL10_C
5476 }
5477 else
5478 {
5479 X3PIXEL00_4
5480 X3PIXEL01_3
5481 X3PIXEL10_3
5482 }
5483 if (Diff(RGBtoYUV[w2], RGBtoYUV[w6]))
5484 {
5485 X3PIXEL02_1M
5486 }
5487 else
5488 {
5489 X3PIXEL02_2
5490 }
5491 X3PIXEL11
5492 X3PIXEL12_C
5493 if (Diff(RGBtoYUV[w8], RGBtoYUV[w4]))
5494 {
5495 X3PIXEL20_1M
5496 }
5497 else
5498 {
5499 X3PIXEL20_2
5500 }
5501 X3PIXEL21_C
5502 if (Diff(RGBtoYUV[w6], RGBtoYUV[w8]))
5503 {
5504 X3PIXEL22_1M
5505 }
5506 else
5507 {
5508 X3PIXEL22_2
5509 }
5510 break;
5511 }
5512 case 229:
5513 {
5514 X3PIXEL00_2
5515 X3PIXEL01_1
5516 X3PIXEL02_2
5517 X3PIXEL10_1
5518 X3PIXEL11
5519 X3PIXEL12_1
5520 X3PIXEL20_1L
5521 X3PIXEL21_C
5522 X3PIXEL22_1R
5523 break;
5524 }
5525 case 167:
5526 {
5527 X3PIXEL00_1L
5528 X3PIXEL01_C
5529 X3PIXEL02_1R
5530 X3PIXEL10_1
5531 X3PIXEL11
5532 X3PIXEL12_1
5533 X3PIXEL20_2
5534 X3PIXEL21_1
5535 X3PIXEL22_2
5536 break;
5537 }
5538 case 173:
5539 {
5540 X3PIXEL00_1U
5541 X3PIXEL01_1
5542 X3PIXEL02_2
5543 X3PIXEL10_C
5544 X3PIXEL11
5545 X3PIXEL12_1
5546 X3PIXEL20_1D
5547 X3PIXEL21_1
5548 X3PIXEL22_2
5549 break;
5550 }
5551 case 181:
5552 {
5553 X3PIXEL00_2
5554 X3PIXEL01_1
5555 X3PIXEL02_1U
5556 X3PIXEL10_1
5557 X3PIXEL11
5558 X3PIXEL12_C
5559 X3PIXEL20_2
5560 X3PIXEL21_1
5561 X3PIXEL22_1D
5562 break;
5563 }
5564 case 186:
5565 {
5566 if (Diff(RGBtoYUV[w4], RGBtoYUV[w2]))
5567 {
5568 X3PIXEL00_1M
5569 }
5570 else
5571 {
5572 X3PIXEL00_2
5573 }
5574 X3PIXEL01_C
5575 if (Diff(RGBtoYUV[w2], RGBtoYUV[w6]))
5576 {
5577 X3PIXEL02_1M
5578 }
5579 else
5580 {
5581 X3PIXEL02_2
5582 }
5583 X3PIXEL10_C
5584 X3PIXEL11
5585 X3PIXEL12_C
5586 X3PIXEL20_1D
5587 X3PIXEL21_1
5588 X3PIXEL22_1D
5589 break;
5590 }
5591 case 115:
5592 {
5593 X3PIXEL00_1L
5594 X3PIXEL01_C
5595 if (Diff(RGBtoYUV[w2], RGBtoYUV[w6]))
5596 {
5597 X3PIXEL02_1M
5598 }
5599 else
5600 {
5601 X3PIXEL02_2
5602 }
5603 X3PIXEL10_1
5604 X3PIXEL11
5605 X3PIXEL12_C
5606 X3PIXEL20_1L
5607 X3PIXEL21_C
5608 if (Diff(RGBtoYUV[w6], RGBtoYUV[w8]))
5609 {
5610 X3PIXEL22_1M
5611 }
5612 else
5613 {
5614 X3PIXEL22_2
5615 }
5616 break;
5617 }
5618 case 93:
5619 {
5620 X3PIXEL00_1U
5621 X3PIXEL01_1
5622 X3PIXEL02_1U
5623 X3PIXEL10_C
5624 X3PIXEL11
5625 X3PIXEL12_C
5626 if (Diff(RGBtoYUV[w8], RGBtoYUV[w4]))
5627 {
5628 X3PIXEL20_1M
5629 }
5630 else
5631 {
5632 X3PIXEL20_2
5633 }
5634 X3PIXEL21_C
5635 if (Diff(RGBtoYUV[w6], RGBtoYUV[w8]))
5636 {
5637 X3PIXEL22_1M
5638 }
5639 else
5640 {
5641 X3PIXEL22_2
5642 }
5643 break;
5644 }
5645 case 206:
5646 {
5647 if (Diff(RGBtoYUV[w4], RGBtoYUV[w2]))
5648 {
5649 X3PIXEL00_1M
5650 }
5651 else
5652 {
5653 X3PIXEL00_2
5654 }
5655 X3PIXEL01_C
5656 X3PIXEL02_1R
5657 X3PIXEL10_C
5658 X3PIXEL11
5659 X3PIXEL12_1
5660 if (Diff(RGBtoYUV[w8], RGBtoYUV[w4]))
5661 {
5662 X3PIXEL20_1M
5663 }
5664 else
5665 {
5666 X3PIXEL20_2
5667 }
5668 X3PIXEL21_C
5669 X3PIXEL22_1R
5670 break;
5671 }
5672 case 205:
5673 case 201:
5674 {
5675 X3PIXEL00_1U
5676 X3PIXEL01_1
5677 X3PIXEL02_2
5678 X3PIXEL10_C
5679 X3PIXEL11
5680 X3PIXEL12_1
5681 if (Diff(RGBtoYUV[w8], RGBtoYUV[w4]))
5682 {
5683 X3PIXEL20_1M
5684 }
5685 else
5686 {
5687 X3PIXEL20_2
5688 }
5689 X3PIXEL21_C
5690 X3PIXEL22_1R
5691 break;
5692 }
5693 case 174:
5694 case 46:
5695 {
5696 if (Diff(RGBtoYUV[w4], RGBtoYUV[w2]))
5697 {
5698 X3PIXEL00_1M
5699 }
5700 else
5701 {
5702 X3PIXEL00_2
5703 }
5704 X3PIXEL01_C
5705 X3PIXEL02_1R
5706 X3PIXEL10_C
5707 X3PIXEL11
5708 X3PIXEL12_1
5709 X3PIXEL20_1D
5710 X3PIXEL21_1
5711 X3PIXEL22_2
5712 break;
5713 }
5714 case 179:
5715 case 147:
5716 {
5717 X3PIXEL00_1L
5718 X3PIXEL01_C
5719 if (Diff(RGBtoYUV[w2], RGBtoYUV[w6]))
5720 {
5721 X3PIXEL02_1M
5722 }
5723 else
5724 {
5725 X3PIXEL02_2
5726 }
5727 X3PIXEL10_1
5728 X3PIXEL11
5729 X3PIXEL12_C
5730 X3PIXEL20_2
5731 X3PIXEL21_1
5732 X3PIXEL22_1D
5733 break;
5734 }
5735 case 117:
5736 case 116:
5737 {
5738 X3PIXEL00_2
5739 X3PIXEL01_1
5740 X3PIXEL02_1U
5741 X3PIXEL10_1
5742 X3PIXEL11
5743 X3PIXEL12_C
5744 X3PIXEL20_1L
5745 X3PIXEL21_C
5746 if (Diff(RGBtoYUV[w6], RGBtoYUV[w8]))
5747 {
5748 X3PIXEL22_1M
5749 }
5750 else
5751 {
5752 X3PIXEL22_2
5753 }
5754 break;
5755 }
5756 case 189:
5757 {
5758 X3PIXEL00_1U
5759 X3PIXEL01_1
5760 X3PIXEL02_1U
5761 X3PIXEL10_C
5762 X3PIXEL11
5763 X3PIXEL12_C
5764 X3PIXEL20_1D
5765 X3PIXEL21_1
5766 X3PIXEL22_1D
5767 break;
5768 }
5769 case 231:
5770 {
5771 X3PIXEL00_1L
5772 X3PIXEL01_C
5773 X3PIXEL02_1R
5774 X3PIXEL10_1
5775 X3PIXEL11
5776 X3PIXEL12_1
5777 X3PIXEL20_1L
5778 X3PIXEL21_C
5779 X3PIXEL22_1R
5780 break;
5781 }
5782 case 126:
5783 {
5784 X3PIXEL00_1M
5785 if (Diff(RGBtoYUV[w2], RGBtoYUV[w6]))
5786 {
5787 X3PIXEL01_C
5788 X3PIXEL02_C
5789 X3PIXEL12_C
5790 }
5791 else
5792 {
5793 X3PIXEL01_3
5794 X3PIXEL02_4
5795 X3PIXEL12_3
5796 }
5797 X3PIXEL11
5798 if (Diff(RGBtoYUV[w8], RGBtoYUV[w4]))
5799 {
5800 X3PIXEL10_C
5801 X3PIXEL20_C
5802 X3PIXEL21_C
5803 }
5804 else
5805 {
5806 X3PIXEL10_3
5807 X3PIXEL20_4
5808 X3PIXEL21_3
5809 }
5810 X3PIXEL22_1M
5811 break;
5812 }
5813 case 219:
5814 {
5815 if (Diff(RGBtoYUV[w4], RGBtoYUV[w2]))
5816 {
5817 X3PIXEL00_C
5818 X3PIXEL01_C
5819 X3PIXEL10_C
5820 }
5821 else
5822 {
5823 X3PIXEL00_4
5824 X3PIXEL01_3
5825 X3PIXEL10_3
5826 }
5827 X3PIXEL02_1M
5828 X3PIXEL11
5829 X3PIXEL20_1M
5830 if (Diff(RGBtoYUV[w6], RGBtoYUV[w8]))
5831 {
5832 X3PIXEL12_C
5833 X3PIXEL21_C
5834 X3PIXEL22_C
5835 }
5836 else
5837 {
5838 X3PIXEL12_3
5839 X3PIXEL21_3
5840 X3PIXEL22_4
5841 }
5842 break;
5843 }
5844 case 125:
5845 {
5846 if (Diff(RGBtoYUV[w8], RGBtoYUV[w4]))
5847 {
5848 X3PIXEL00_1U
5849 X3PIXEL10_C
5850 X3PIXEL20_C
5851 X3PIXEL21_C
5852 }
5853 else
5854 {
5855 X3PIXEL00_2
5856 X3PIXEL10_6
5857 X3PIXEL20_5
5858 X3PIXEL21_1
5859 }
5860 X3PIXEL01_1
5861 X3PIXEL02_1U
5862 X3PIXEL11
5863 X3PIXEL12_C
5864 X3PIXEL22_1M
5865 break;
5866 }
5867 case 221:
5868 {
5869 if (Diff(RGBtoYUV[w6], RGBtoYUV[w8]))
5870 {
5871 X3PIXEL02_1U
5872 X3PIXEL12_C
5873 X3PIXEL21_C
5874 X3PIXEL22_C
5875 }
5876 else
5877 {
5878 X3PIXEL02_2
5879 X3PIXEL12_6
5880 X3PIXEL21_1
5881 X3PIXEL22_5
5882 }
5883 X3PIXEL00_1U
5884 X3PIXEL01_1
5885 X3PIXEL10_C
5886 X3PIXEL11
5887 X3PIXEL20_1M
5888 break;
5889 }
5890 case 207:
5891 {
5892 if (Diff(RGBtoYUV[w4], RGBtoYUV[w2]))
5893 {
5894 X3PIXEL00_C
5895 X3PIXEL01_C
5896 X3PIXEL02_1R
5897 X3PIXEL10_C
5898 }
5899 else
5900 {
5901 X3PIXEL00_5
5902 X3PIXEL01_6
5903 X3PIXEL02_2
5904 X3PIXEL10_1
5905 }
5906 X3PIXEL11
5907 X3PIXEL12_1
5908 X3PIXEL20_1M
5909 X3PIXEL21_C
5910 X3PIXEL22_1R
5911 break;
5912 }
5913 case 238:
5914 {
5915 if (Diff(RGBtoYUV[w8], RGBtoYUV[w4]))
5916 {
5917 X3PIXEL10_C
5918 X3PIXEL20_C
5919 X3PIXEL21_C
5920 X3PIXEL22_1R
5921 }
5922 else
5923 {
5924 X3PIXEL10_1
5925 X3PIXEL20_5
5926 X3PIXEL21_6
5927 X3PIXEL22_2
5928 }
5929 X3PIXEL00_1M
5930 X3PIXEL01_C
5931 X3PIXEL02_1R
5932 X3PIXEL11
5933 X3PIXEL12_1
5934 break;
5935 }
5936 case 190:
5937 {
5938 if (Diff(RGBtoYUV[w2], RGBtoYUV[w6]))
5939 {
5940 X3PIXEL01_C
5941 X3PIXEL02_C
5942 X3PIXEL12_C
5943 X3PIXEL22_1D
5944 }
5945 else
5946 {
5947 X3PIXEL01_1
5948 X3PIXEL02_5
5949 X3PIXEL12_6
5950 X3PIXEL22_2
5951 }
5952 X3PIXEL00_1M
5953 X3PIXEL10_C
5954 X3PIXEL11
5955 X3PIXEL20_1D
5956 X3PIXEL21_1
5957 break;
5958 }
5959 case 187:
5960 {
5961 if (Diff(RGBtoYUV[w4], RGBtoYUV[w2]))
5962 {
5963 X3PIXEL00_C
5964 X3PIXEL01_C
5965 X3PIXEL10_C
5966 X3PIXEL20_1D
5967 }
5968 else
5969 {
5970 X3PIXEL00_5
5971 X3PIXEL01_1
5972 X3PIXEL10_6
5973 X3PIXEL20_2
5974 }
5975 X3PIXEL02_1M
5976 X3PIXEL11
5977 X3PIXEL12_C
5978 X3PIXEL21_1
5979 X3PIXEL22_1D
5980 break;
5981 }
5982 case 243:
5983 {
5984 if (Diff(RGBtoYUV[w6], RGBtoYUV[w8]))
5985 {
5986 X3PIXEL12_C
5987 X3PIXEL20_1L
5988 X3PIXEL21_C
5989 X3PIXEL22_C
5990 }
5991 else
5992 {
5993 X3PIXEL12_1
5994 X3PIXEL20_2
5995 X3PIXEL21_6
5996 X3PIXEL22_5
5997 }
5998 X3PIXEL00_1L
5999 X3PIXEL01_C
6000 X3PIXEL02_1M
6001 X3PIXEL10_1
6002 X3PIXEL11
6003 break;
6004 }
6005 case 119:
6006 {
6007 if (Diff(RGBtoYUV[w2], RGBtoYUV[w6]))
6008 {
6009 X3PIXEL00_1L
6010 X3PIXEL01_C
6011 X3PIXEL02_C
6012 X3PIXEL12_C
6013 }
6014 else
6015 {
6016 X3PIXEL00_2
6017 X3PIXEL01_6
6018 X3PIXEL02_5
6019 X3PIXEL12_1
6020 }
6021 X3PIXEL10_1
6022 X3PIXEL11
6023 X3PIXEL20_1L
6024 X3PIXEL21_C
6025 X3PIXEL22_1M
6026 break;
6027 }
6028 case 237:
6029 case 233:
6030 {
6031 X3PIXEL00_1U
6032 X3PIXEL01_1
6033 X3PIXEL02_2
6034 X3PIXEL10_C
6035 X3PIXEL11
6036 X3PIXEL12_1
6037 if (Diff(RGBtoYUV[w8], RGBtoYUV[w4]))
6038 {
6039 X3PIXEL20_C
6040 }
6041 else
6042 {
6043 X3PIXEL20_2
6044 }
6045 X3PIXEL21_C
6046 X3PIXEL22_1R
6047 break;
6048 }
6049 case 175:
6050 case 47:
6051 {
6052 if (Diff(RGBtoYUV[w4], RGBtoYUV[w2]))
6053 {
6054 X3PIXEL00_C
6055 }
6056 else
6057 {
6058 X3PIXEL00_2
6059 }
6060 X3PIXEL01_C
6061 X3PIXEL02_1R
6062 X3PIXEL10_C
6063 X3PIXEL11
6064 X3PIXEL12_1
6065 X3PIXEL20_1D
6066 X3PIXEL21_1
6067 X3PIXEL22_2
6068 break;
6069 }
6070 case 183:
6071 case 151:
6072 {
6073 X3PIXEL00_1L
6074 X3PIXEL01_C
6075 if (Diff(RGBtoYUV[w2], RGBtoYUV[w6]))
6076 {
6077 X3PIXEL02_C
6078 }
6079 else
6080 {
6081 X3PIXEL02_2
6082 }
6083 X3PIXEL10_1
6084 X3PIXEL11
6085 X3PIXEL12_C
6086 X3PIXEL20_2
6087 X3PIXEL21_1
6088 X3PIXEL22_1D
6089 break;
6090 }
6091 case 245:
6092 case 244:
6093 {
6094 X3PIXEL00_2
6095 X3PIXEL01_1
6096 X3PIXEL02_1U
6097 X3PIXEL10_1
6098 X3PIXEL11
6099 X3PIXEL12_C
6100 X3PIXEL20_1L
6101 X3PIXEL21_C
6102 if (Diff(RGBtoYUV[w6], RGBtoYUV[w8]))
6103 {
6104 X3PIXEL22_C
6105 }
6106 else
6107 {
6108 X3PIXEL22_2
6109 }
6110 break;
6111 }
6112 case 250:
6113 {
6114 X3PIXEL00_1M
6115 X3PIXEL01_C
6116 X3PIXEL02_1M
6117 X3PIXEL11
6118 if (Diff(RGBtoYUV[w8], RGBtoYUV[w4]))
6119 {
6120 X3PIXEL10_C
6121 X3PIXEL20_C
6122 }
6123 else
6124 {
6125 X3PIXEL10_3
6126 X3PIXEL20_4
6127 }
6128 X3PIXEL21_C
6129 if (Diff(RGBtoYUV[w6], RGBtoYUV[w8]))
6130 {
6131 X3PIXEL12_C
6132 X3PIXEL22_C
6133 }
6134 else
6135 {
6136 X3PIXEL12_3
6137 X3PIXEL22_4
6138 }
6139 break;
6140 }
6141 case 123:
6142 {
6143 if (Diff(RGBtoYUV[w4], RGBtoYUV[w2]))
6144 {
6145 X3PIXEL00_C
6146 X3PIXEL01_C
6147 }
6148 else
6149 {
6150 X3PIXEL00_4
6151 X3PIXEL01_3
6152 }
6153 X3PIXEL02_1M
6154 X3PIXEL10_C
6155 X3PIXEL11
6156 X3PIXEL12_C
6157 if (Diff(RGBtoYUV[w8], RGBtoYUV[w4]))
6158 {
6159 X3PIXEL20_C
6160 X3PIXEL21_C
6161 }
6162 else
6163 {
6164 X3PIXEL20_4
6165 X3PIXEL21_3
6166 }
6167 X3PIXEL22_1M
6168 break;
6169 }
6170 case 95:
6171 {
6172 if (Diff(RGBtoYUV[w4], RGBtoYUV[w2]))
6173 {
6174 X3PIXEL00_C
6175 X3PIXEL10_C
6176 }
6177 else
6178 {
6179 X3PIXEL00_4
6180 X3PIXEL10_3
6181 }
6182 X3PIXEL01_C
6183 if (Diff(RGBtoYUV[w2], RGBtoYUV[w6]))
6184 {
6185 X3PIXEL02_C
6186 X3PIXEL12_C
6187 }
6188 else
6189 {
6190 X3PIXEL02_4
6191 X3PIXEL12_3
6192 }
6193 X3PIXEL11
6194 X3PIXEL20_1M
6195 X3PIXEL21_C
6196 X3PIXEL22_1M
6197 break;
6198 }
6199 case 222:
6200 {
6201 X3PIXEL00_1M
6202 if (Diff(RGBtoYUV[w2], RGBtoYUV[w6]))
6203 {
6204 X3PIXEL01_C
6205 X3PIXEL02_C
6206 }
6207 else
6208 {
6209 X3PIXEL01_3
6210 X3PIXEL02_4
6211 }
6212 X3PIXEL10_C
6213 X3PIXEL11
6214 X3PIXEL12_C
6215 X3PIXEL20_1M
6216 if (Diff(RGBtoYUV[w6], RGBtoYUV[w8]))
6217 {
6218 X3PIXEL21_C
6219 X3PIXEL22_C
6220 }
6221 else
6222 {
6223 X3PIXEL21_3
6224 X3PIXEL22_4
6225 }
6226 break;
6227 }
6228 case 252:
6229 {
6230 X3PIXEL00_1M
6231 X3PIXEL01_1
6232 X3PIXEL02_1U
6233 X3PIXEL11
6234 X3PIXEL12_C
6235 if (Diff(RGBtoYUV[w8], RGBtoYUV[w4]))
6236 {
6237 X3PIXEL10_C
6238 X3PIXEL20_C
6239 }
6240 else
6241 {
6242 X3PIXEL10_3
6243 X3PIXEL20_4
6244 }
6245 X3PIXEL21_C
6246 if (Diff(RGBtoYUV[w6], RGBtoYUV[w8]))
6247 {
6248 X3PIXEL22_C
6249 }
6250 else
6251 {
6252 X3PIXEL22_2
6253 }
6254 break;
6255 }
6256 case 249:
6257 {
6258 X3PIXEL00_1U
6259 X3PIXEL01_1
6260 X3PIXEL02_1M
6261 X3PIXEL10_C
6262 X3PIXEL11
6263 if (Diff(RGBtoYUV[w8], RGBtoYUV[w4]))
6264 {
6265 X3PIXEL20_C
6266 }
6267 else
6268 {
6269 X3PIXEL20_2
6270 }
6271 X3PIXEL21_C
6272 if (Diff(RGBtoYUV[w6], RGBtoYUV[w8]))
6273 {
6274 X3PIXEL12_C
6275 X3PIXEL22_C
6276 }
6277 else
6278 {
6279 X3PIXEL12_3
6280 X3PIXEL22_4
6281 }
6282 break;
6283 }
6284 case 235:
6285 {
6286 if (Diff(RGBtoYUV[w4], RGBtoYUV[w2]))
6287 {
6288 X3PIXEL00_C
6289 X3PIXEL01_C
6290 }
6291 else
6292 {
6293 X3PIXEL00_4
6294 X3PIXEL01_3
6295 }
6296 X3PIXEL02_1M
6297 X3PIXEL10_C
6298 X3PIXEL11
6299 X3PIXEL12_1
6300 if (Diff(RGBtoYUV[w8], RGBtoYUV[w4]))
6301 {
6302 X3PIXEL20_C
6303 }
6304 else
6305 {
6306 X3PIXEL20_2
6307 }
6308 X3PIXEL21_C
6309 X3PIXEL22_1R
6310 break;
6311 }
6312 case 111:
6313 {
6314 if (Diff(RGBtoYUV[w4], RGBtoYUV[w2]))
6315 {
6316 X3PIXEL00_C
6317 }
6318 else
6319 {
6320 X3PIXEL00_2
6321 }
6322 X3PIXEL01_C
6323 X3PIXEL02_1R
6324 X3PIXEL10_C
6325 X3PIXEL11
6326 X3PIXEL12_1
6327 if (Diff(RGBtoYUV[w8], RGBtoYUV[w4]))
6328 {
6329 X3PIXEL20_C
6330 X3PIXEL21_C
6331 }
6332 else
6333 {
6334 X3PIXEL20_4
6335 X3PIXEL21_3
6336 }
6337 X3PIXEL22_1M
6338 break;
6339 }
6340 case 63:
6341 {
6342 if (Diff(RGBtoYUV[w4], RGBtoYUV[w2]))
6343 {
6344 X3PIXEL00_C
6345 }
6346 else
6347 {
6348 X3PIXEL00_2
6349 }
6350 X3PIXEL01_C
6351 if (Diff(RGBtoYUV[w2], RGBtoYUV[w6]))
6352 {
6353 X3PIXEL02_C
6354 X3PIXEL12_C
6355 }
6356 else
6357 {
6358 X3PIXEL02_4
6359 X3PIXEL12_3
6360 }
6361 X3PIXEL10_C
6362 X3PIXEL11
6363 X3PIXEL20_1D
6364 X3PIXEL21_1
6365 X3PIXEL22_1M
6366 break;
6367 }
6368 case 159:
6369 {
6370 if (Diff(RGBtoYUV[w4], RGBtoYUV[w2]))
6371 {
6372 X3PIXEL00_C
6373 X3PIXEL10_C
6374 }
6375 else
6376 {
6377 X3PIXEL00_4
6378 X3PIXEL10_3
6379 }
6380 X3PIXEL01_C
6381 if (Diff(RGBtoYUV[w2], RGBtoYUV[w6]))
6382 {
6383 X3PIXEL02_C
6384 }
6385 else
6386 {
6387 X3PIXEL02_2
6388 }
6389 X3PIXEL11
6390 X3PIXEL12_C
6391 X3PIXEL20_1M
6392 X3PIXEL21_1
6393 X3PIXEL22_1D
6394 break;
6395 }
6396 case 215:
6397 {
6398 X3PIXEL00_1L
6399 X3PIXEL01_C
6400 if (Diff(RGBtoYUV[w2], RGBtoYUV[w6]))
6401 {
6402 X3PIXEL02_C
6403 }
6404 else
6405 {
6406 X3PIXEL02_2
6407 }
6408 X3PIXEL10_1
6409 X3PIXEL11
6410 X3PIXEL12_C
6411 X3PIXEL20_1M
6412 if (Diff(RGBtoYUV[w6], RGBtoYUV[w8]))
6413 {
6414 X3PIXEL21_C
6415 X3PIXEL22_C
6416 }
6417 else
6418 {
6419 X3PIXEL21_3
6420 X3PIXEL22_4
6421 }
6422 break;
6423 }
6424 case 246:
6425 {
6426 X3PIXEL00_1M
6427 if (Diff(RGBtoYUV[w2], RGBtoYUV[w6]))
6428 {
6429 X3PIXEL01_C
6430 X3PIXEL02_C
6431 }
6432 else
6433 {
6434 X3PIXEL01_3
6435 X3PIXEL02_4
6436 }
6437 X3PIXEL10_1
6438 X3PIXEL11
6439 X3PIXEL12_C
6440 X3PIXEL20_1L
6441 X3PIXEL21_C
6442 if (Diff(RGBtoYUV[w6], RGBtoYUV[w8]))
6443 {
6444 X3PIXEL22_C
6445 }
6446 else
6447 {
6448 X3PIXEL22_2
6449 }
6450 break;
6451 }
6452 case 254:
6453 {
6454 X3PIXEL00_1M
6455 if (Diff(RGBtoYUV[w2], RGBtoYUV[w6]))
6456 {
6457 X3PIXEL01_C
6458 X3PIXEL02_C
6459 }
6460 else
6461 {
6462 X3PIXEL01_3
6463 X3PIXEL02_4
6464 }
6465 X3PIXEL11
6466 if (Diff(RGBtoYUV[w8], RGBtoYUV[w4]))
6467 {
6468 X3PIXEL10_C
6469 X3PIXEL20_C
6470 }
6471 else
6472 {
6473 X3PIXEL10_3
6474 X3PIXEL20_4
6475 }
6476 if (Diff(RGBtoYUV[w6], RGBtoYUV[w8]))
6477 {
6478 X3PIXEL12_C
6479 X3PIXEL21_C
6480 X3PIXEL22_C
6481 }
6482 else
6483 {
6484 X3PIXEL12_3
6485 X3PIXEL21_3
6486 X3PIXEL22_2
6487 }
6488 break;
6489 }
6490 case 253:
6491 {
6492 X3PIXEL00_1U
6493 X3PIXEL01_1
6494 X3PIXEL02_1U
6495 X3PIXEL10_C
6496 X3PIXEL11
6497 X3PIXEL12_C
6498 if (Diff(RGBtoYUV[w8], RGBtoYUV[w4]))
6499 {
6500 X3PIXEL20_C
6501 }
6502 else
6503 {
6504 X3PIXEL20_2
6505 }
6506 X3PIXEL21_C
6507 if (Diff(RGBtoYUV[w6], RGBtoYUV[w8]))
6508 {
6509 X3PIXEL22_C
6510 }
6511 else
6512 {
6513 X3PIXEL22_2
6514 }
6515 break;
6516 }
6517 case 251:
6518 {
6519 if (Diff(RGBtoYUV[w4], RGBtoYUV[w2]))
6520 {
6521 X3PIXEL00_C
6522 X3PIXEL01_C
6523 }
6524 else
6525 {
6526 X3PIXEL00_4
6527 X3PIXEL01_3
6528 }
6529 X3PIXEL02_1M
6530 X3PIXEL11
6531 if (Diff(RGBtoYUV[w8], RGBtoYUV[w4]))
6532 {
6533 X3PIXEL10_C
6534 X3PIXEL20_C
6535 X3PIXEL21_C
6536 }
6537 else
6538 {
6539 X3PIXEL10_3
6540 X3PIXEL20_2
6541 X3PIXEL21_3
6542 }
6543 if (Diff(RGBtoYUV[w6], RGBtoYUV[w8]))
6544 {
6545 X3PIXEL12_C
6546 X3PIXEL22_C
6547 }
6548 else
6549 {
6550 X3PIXEL12_3
6551 X3PIXEL22_4
6552 }
6553 break;
6554 }
6555 case 239:
6556 {
6557 if (Diff(RGBtoYUV[w4], RGBtoYUV[w2]))
6558 {
6559 X3PIXEL00_C
6560 }
6561 else
6562 {
6563 X3PIXEL00_2
6564 }
6565 X3PIXEL01_C
6566 X3PIXEL02_1R
6567 X3PIXEL10_C
6568 X3PIXEL11
6569 X3PIXEL12_1
6570 if (Diff(RGBtoYUV[w8], RGBtoYUV[w4]))
6571 {
6572 X3PIXEL20_C
6573 }
6574 else
6575 {
6576 X3PIXEL20_2
6577 }
6578 X3PIXEL21_C
6579 X3PIXEL22_1R
6580 break;
6581 }
6582 case 127:
6583 {
6584 if (Diff(RGBtoYUV[w4], RGBtoYUV[w2]))
6585 {
6586 X3PIXEL00_C
6587 X3PIXEL01_C
6588 X3PIXEL10_C
6589 }
6590 else
6591 {
6592 X3PIXEL00_2
6593 X3PIXEL01_3
6594 X3PIXEL10_3
6595 }
6596 if (Diff(RGBtoYUV[w2], RGBtoYUV[w6]))
6597 {
6598 X3PIXEL02_C
6599 X3PIXEL12_C
6600 }
6601 else
6602 {
6603 X3PIXEL02_4
6604 X3PIXEL12_3
6605 }
6606 X3PIXEL11
6607 if (Diff(RGBtoYUV[w8], RGBtoYUV[w4]))
6608 {
6609 X3PIXEL20_C
6610 X3PIXEL21_C
6611 }
6612 else
6613 {
6614 X3PIXEL20_4
6615 X3PIXEL21_3
6616 }
6617 X3PIXEL22_1M
6618 break;
6619 }
6620 case 191:
6621 {
6622 if (Diff(RGBtoYUV[w4], RGBtoYUV[w2]))
6623 {
6624 X3PIXEL00_C
6625 }
6626 else
6627 {
6628 X3PIXEL00_2
6629 }
6630 X3PIXEL01_C
6631 if (Diff(RGBtoYUV[w2], RGBtoYUV[w6]))
6632 {
6633 X3PIXEL02_C
6634 }
6635 else
6636 {
6637 X3PIXEL02_2
6638 }
6639 X3PIXEL10_C
6640 X3PIXEL11
6641 X3PIXEL12_C
6642 X3PIXEL20_1D
6643 X3PIXEL21_1
6644 X3PIXEL22_1D
6645 break;
6646 }
6647 case 223:
6648 {
6649 if (Diff(RGBtoYUV[w4], RGBtoYUV[w2]))
6650 {
6651 X3PIXEL00_C
6652 X3PIXEL10_C
6653 }
6654 else
6655 {
6656 X3PIXEL00_4
6657 X3PIXEL10_3
6658 }
6659 if (Diff(RGBtoYUV[w2], RGBtoYUV[w6]))
6660 {
6661 X3PIXEL01_C
6662 X3PIXEL02_C
6663 X3PIXEL12_C
6664 }
6665 else
6666 {
6667 X3PIXEL01_3
6668 X3PIXEL02_2
6669 X3PIXEL12_3
6670 }
6671 X3PIXEL11
6672 X3PIXEL20_1M
6673 if (Diff(RGBtoYUV[w6], RGBtoYUV[w8]))
6674 {
6675 X3PIXEL21_C
6676 X3PIXEL22_C
6677 }
6678 else
6679 {
6680 X3PIXEL21_3
6681 X3PIXEL22_4
6682 }
6683 break;
6684 }
6685 case 247:
6686 {
6687 X3PIXEL00_1L
6688 X3PIXEL01_C
6689 if (Diff(RGBtoYUV[w2], RGBtoYUV[w6]))
6690 {
6691 X3PIXEL02_C
6692 }
6693 else
6694 {
6695 X3PIXEL02_2
6696 }
6697 X3PIXEL10_1
6698 X3PIXEL11
6699 X3PIXEL12_C
6700 X3PIXEL20_1L
6701 X3PIXEL21_C
6702 if (Diff(RGBtoYUV[w6], RGBtoYUV[w8]))
6703 {
6704 X3PIXEL22_C
6705 }
6706 else
6707 {
6708 X3PIXEL22_2
6709 }
6710 break;
6711 }
6712 case 255:
6713 {
6714 if (Diff(RGBtoYUV[w4], RGBtoYUV[w2]))
6715 {
6716 X3PIXEL00_C
6717 }
6718 else
6719 {
6720 X3PIXEL00_2
6721 }
6722 X3PIXEL01_C
6723 if (Diff(RGBtoYUV[w2], RGBtoYUV[w6]))
6724 {
6725 X3PIXEL02_C
6726 }
6727 else
6728 {
6729 X3PIXEL02_2
6730 }
6731 X3PIXEL10_C
6732 X3PIXEL11
6733 X3PIXEL12_C
6734 if (Diff(RGBtoYUV[w8], RGBtoYUV[w4]))
6735 {
6736 X3PIXEL20_C
6737 }
6738 else
6739 {
6740 X3PIXEL20_2
6741 }
6742 X3PIXEL21_C
6743 if (Diff(RGBtoYUV[w6], RGBtoYUV[w8]))
6744 {
6745 X3PIXEL22_C
6746 }
6747 else
6748 {
6749 X3PIXEL22_2
6750 }
6751 break;
6752 }
6753 }
6754
6755 w1 = w2; w4 = w5; w7 = w8;
6756 w2 = w3; w5 = w6; w8 = w9;
6757
6758 dp += 3;
6759 }
6760
6761 dp += (dst1line - width) * 3;
6762 sp += (src1line - width);
6763 }
6764}
6765
6766void HQ4X_16 (uint8 *srcPtr, uint32 srcPitch, uint8 *dstPtr, uint32 dstPitch, int width, int height)
6767{
6768 int w1, w2, w3, w4, w5, w6, w7, w8, w9;
6769 uint32 src1line = srcPitch >> 1;
6770 uint32 dst1line = dstPitch >> 1;
6771 uint16 *sp = (uint16 *) srcPtr;
6772 uint16 *dp = (uint16 *) dstPtr;
6773
6774 uint32 pattern;
6775 int l, y;
6776
6777 while (height--)
6778 {
6779 sp--;
6780
6781 w1 = *(sp - src1line);
6782 w4 = *(sp);
6783 w7 = *(sp + src1line);
6784
6785 sp++;
6786
6787 w2 = *(sp - src1line);
6788 w5 = *(sp);
6789 w8 = *(sp + src1line);
6790
6791 for (l = width; l; l--)
6792 {
6793 sp++;
6794
6795 w3 = *(sp - src1line);
6796 w6 = *(sp);
6797 w9 = *(sp + src1line);
6798
6799 y = RGBtoYUV[w5];
6800 pattern = 0;
6801
6802 if ((w1 != w5) && (Diff(y, RGBtoYUV[w1]))) pattern |= (1 << 0);
6803 if ((w2 != w5) && (Diff(y, RGBtoYUV[w2]))) pattern |= (1 << 1);
6804 if ((w3 != w5) && (Diff(y, RGBtoYUV[w3]))) pattern |= (1 << 2);
6805 if ((w4 != w5) && (Diff(y, RGBtoYUV[w4]))) pattern |= (1 << 3);
6806 if ((w6 != w5) && (Diff(y, RGBtoYUV[w6]))) pattern |= (1 << 4);
6807 if ((w7 != w5) && (Diff(y, RGBtoYUV[w7]))) pattern |= (1 << 5);
6808 if ((w8 != w5) && (Diff(y, RGBtoYUV[w8]))) pattern |= (1 << 6);
6809 if ((w9 != w5) && (Diff(y, RGBtoYUV[w9]))) pattern |= (1 << 7);
6810
6811 switch (pattern)
6812 {
6813 case 0:
6814 case 1:
6815 case 4:
6816 case 32:
6817 case 128:
6818 case 5:
6819 case 132:
6820 case 160:
6821 case 33:
6822 case 129:
6823 case 36:
6824 case 133:
6825 case 164:
6826 case 161:
6827 case 37:
6828 case 165:
6829 {
6830 X4PIXEL00_20
6831 X4PIXEL01_60
6832 X4PIXEL02_60
6833 X4PIXEL03_20
6834 X4PIXEL10_60
6835 X4PIXEL11_70
6836 X4PIXEL12_70
6837 X4PIXEL13_60
6838 X4PIXEL20_60
6839 X4PIXEL21_70
6840 X4PIXEL22_70
6841 X4PIXEL23_60
6842 X4PIXEL30_20
6843 X4PIXEL31_60
6844 X4PIXEL32_60
6845 X4PIXEL33_20
6846 break;
6847 }
6848 case 2:
6849 case 34:
6850 case 130:
6851 case 162:
6852 {
6853 X4PIXEL00_80
6854 X4PIXEL01_10
6855 X4PIXEL02_10
6856 X4PIXEL03_80
6857 X4PIXEL10_61
6858 X4PIXEL11_30
6859 X4PIXEL12_30
6860 X4PIXEL13_61
6861 X4PIXEL20_60
6862 X4PIXEL21_70
6863 X4PIXEL22_70
6864 X4PIXEL23_60
6865 X4PIXEL30_20
6866 X4PIXEL31_60
6867 X4PIXEL32_60
6868 X4PIXEL33_20
6869 break;
6870 }
6871 case 16:
6872 case 17:
6873 case 48:
6874 case 49:
6875 {
6876 X4PIXEL00_20
6877 X4PIXEL01_60
6878 X4PIXEL02_61
6879 X4PIXEL03_80
6880 X4PIXEL10_60
6881 X4PIXEL11_70
6882 X4PIXEL12_30
6883 X4PIXEL13_10
6884 X4PIXEL20_60
6885 X4PIXEL21_70
6886 X4PIXEL22_30
6887 X4PIXEL23_10
6888 X4PIXEL30_20
6889 X4PIXEL31_60
6890 X4PIXEL32_61
6891 X4PIXEL33_80
6892 break;
6893 }
6894 case 64:
6895 case 65:
6896 case 68:
6897 case 69:
6898 {
6899 X4PIXEL00_20
6900 X4PIXEL01_60
6901 X4PIXEL02_60
6902 X4PIXEL03_20
6903 X4PIXEL10_60
6904 X4PIXEL11_70
6905 X4PIXEL12_70
6906 X4PIXEL13_60
6907 X4PIXEL20_61
6908 X4PIXEL21_30
6909 X4PIXEL22_30
6910 X4PIXEL23_61
6911 X4PIXEL30_80
6912 X4PIXEL31_10
6913 X4PIXEL32_10
6914 X4PIXEL33_80
6915 break;
6916 }
6917 case 8:
6918 case 12:
6919 case 136:
6920 case 140:
6921 {
6922 X4PIXEL00_80
6923 X4PIXEL01_61
6924 X4PIXEL02_60
6925 X4PIXEL03_20
6926 X4PIXEL10_10
6927 X4PIXEL11_30
6928 X4PIXEL12_70
6929 X4PIXEL13_60
6930 X4PIXEL20_10
6931 X4PIXEL21_30
6932 X4PIXEL22_70
6933 X4PIXEL23_60
6934 X4PIXEL30_80
6935 X4PIXEL31_61
6936 X4PIXEL32_60
6937 X4PIXEL33_20
6938 break;
6939 }
6940 case 3:
6941 case 35:
6942 case 131:
6943 case 163:
6944 {
6945 X4PIXEL00_81
6946 X4PIXEL01_31
6947 X4PIXEL02_10
6948 X4PIXEL03_80
6949 X4PIXEL10_81
6950 X4PIXEL11_31
6951 X4PIXEL12_30
6952 X4PIXEL13_61
6953 X4PIXEL20_60
6954 X4PIXEL21_70
6955 X4PIXEL22_70
6956 X4PIXEL23_60
6957 X4PIXEL30_20
6958 X4PIXEL31_60
6959 X4PIXEL32_60
6960 X4PIXEL33_20
6961 break;
6962 }
6963 case 6:
6964 case 38:
6965 case 134:
6966 case 166:
6967 {
6968 X4PIXEL00_80
6969 X4PIXEL01_10
6970 X4PIXEL02_32
6971 X4PIXEL03_82
6972 X4PIXEL10_61
6973 X4PIXEL11_30
6974 X4PIXEL12_32
6975 X4PIXEL13_82
6976 X4PIXEL20_60
6977 X4PIXEL21_70
6978 X4PIXEL22_70
6979 X4PIXEL23_60
6980 X4PIXEL30_20
6981 X4PIXEL31_60
6982 X4PIXEL32_60
6983 X4PIXEL33_20
6984 break;
6985 }
6986 case 20:
6987 case 21:
6988 case 52:
6989 case 53:
6990 {
6991 X4PIXEL00_20
6992 X4PIXEL01_60
6993 X4PIXEL02_81
6994 X4PIXEL03_81
6995 X4PIXEL10_60
6996 X4PIXEL11_70
6997 X4PIXEL12_31
6998 X4PIXEL13_31
6999 X4PIXEL20_60
7000 X4PIXEL21_70
7001 X4PIXEL22_30
7002 X4PIXEL23_10
7003 X4PIXEL30_20
7004 X4PIXEL31_60
7005 X4PIXEL32_61
7006 X4PIXEL33_80
7007 break;
7008 }
7009 case 144:
7010 case 145:
7011 case 176:
7012 case 177:
7013 {
7014 X4PIXEL00_20
7015 X4PIXEL01_60
7016 X4PIXEL02_61
7017 X4PIXEL03_80
7018 X4PIXEL10_60
7019 X4PIXEL11_70
7020 X4PIXEL12_30
7021 X4PIXEL13_10
7022 X4PIXEL20_60
7023 X4PIXEL21_70
7024 X4PIXEL22_32
7025 X4PIXEL23_32
7026 X4PIXEL30_20
7027 X4PIXEL31_60
7028 X4PIXEL32_82
7029 X4PIXEL33_82
7030 break;
7031 }
7032 case 192:
7033 case 193:
7034 case 196:
7035 case 197:
7036 {
7037 X4PIXEL00_20
7038 X4PIXEL01_60
7039 X4PIXEL02_60
7040 X4PIXEL03_20
7041 X4PIXEL10_60
7042 X4PIXEL11_70
7043 X4PIXEL12_70
7044 X4PIXEL13_60
7045 X4PIXEL20_61
7046 X4PIXEL21_30
7047 X4PIXEL22_31
7048 X4PIXEL23_81
7049 X4PIXEL30_80
7050 X4PIXEL31_10
7051 X4PIXEL32_31
7052 X4PIXEL33_81
7053 break;
7054 }
7055 case 96:
7056 case 97:
7057 case 100:
7058 case 101:
7059 {
7060 X4PIXEL00_20
7061 X4PIXEL01_60
7062 X4PIXEL02_60
7063 X4PIXEL03_20
7064 X4PIXEL10_60
7065 X4PIXEL11_70
7066 X4PIXEL12_70
7067 X4PIXEL13_60
7068 X4PIXEL20_82
7069 X4PIXEL21_32
7070 X4PIXEL22_30
7071 X4PIXEL23_61
7072 X4PIXEL30_82
7073 X4PIXEL31_32
7074 X4PIXEL32_10
7075 X4PIXEL33_80
7076 break;
7077 }
7078 case 40:
7079 case 44:
7080 case 168:
7081 case 172:
7082 {
7083 X4PIXEL00_80
7084 X4PIXEL01_61
7085 X4PIXEL02_60
7086 X4PIXEL03_20
7087 X4PIXEL10_10
7088 X4PIXEL11_30
7089 X4PIXEL12_70
7090 X4PIXEL13_60
7091 X4PIXEL20_31
7092 X4PIXEL21_31
7093 X4PIXEL22_70
7094 X4PIXEL23_60
7095 X4PIXEL30_81
7096 X4PIXEL31_81
7097 X4PIXEL32_60
7098 X4PIXEL33_20
7099 break;
7100 }
7101 case 9:
7102 case 13:
7103 case 137:
7104 case 141:
7105 {
7106 X4PIXEL00_82
7107 X4PIXEL01_82
7108 X4PIXEL02_60
7109 X4PIXEL03_20
7110 X4PIXEL10_32
7111 X4PIXEL11_32
7112 X4PIXEL12_70
7113 X4PIXEL13_60
7114 X4PIXEL20_10
7115 X4PIXEL21_30
7116 X4PIXEL22_70
7117 X4PIXEL23_60
7118 X4PIXEL30_80
7119 X4PIXEL31_61
7120 X4PIXEL32_60
7121 X4PIXEL33_20
7122 break;
7123 }
7124 case 18:
7125 case 50:
7126 {
7127 X4PIXEL00_80
7128 X4PIXEL01_10
7129 if (Diff(RGBtoYUV[w2], RGBtoYUV[w6]))
7130 {
7131 X4PIXEL02_10
7132 X4PIXEL03_80
7133 X4PIXEL12_30
7134 X4PIXEL13_10
7135 }
7136 else
7137 {
7138 X4PIXEL02_50
7139 X4PIXEL03_50
7140 X4PIXEL12_0
7141 X4PIXEL13_50
7142 }
7143 X4PIXEL10_61
7144 X4PIXEL11_30
7145 X4PIXEL20_60
7146 X4PIXEL21_70
7147 X4PIXEL22_30
7148 X4PIXEL23_10
7149 X4PIXEL30_20
7150 X4PIXEL31_60
7151 X4PIXEL32_61
7152 X4PIXEL33_80
7153 break;
7154 }
7155 case 80:
7156 case 81:
7157 {
7158 X4PIXEL00_20
7159 X4PIXEL01_60
7160 X4PIXEL02_61
7161 X4PIXEL03_80
7162 X4PIXEL10_60
7163 X4PIXEL11_70
7164 X4PIXEL12_30
7165 X4PIXEL13_10
7166 X4PIXEL20_61
7167 X4PIXEL21_30
7168 if (Diff(RGBtoYUV[w6], RGBtoYUV[w8]))
7169 {
7170 X4PIXEL22_30
7171 X4PIXEL23_10
7172 X4PIXEL32_10
7173 X4PIXEL33_80
7174 }
7175 else
7176 {
7177 X4PIXEL22_0
7178 X4PIXEL23_50
7179 X4PIXEL32_50
7180 X4PIXEL33_50
7181 }
7182 X4PIXEL30_80
7183 X4PIXEL31_10
7184 break;
7185 }
7186 case 72:
7187 case 76:
7188 {
7189 X4PIXEL00_80
7190 X4PIXEL01_61
7191 X4PIXEL02_60
7192 X4PIXEL03_20
7193 X4PIXEL10_10
7194 X4PIXEL11_30
7195 X4PIXEL12_70
7196 X4PIXEL13_60
7197 if (Diff(RGBtoYUV[w8], RGBtoYUV[w4]))
7198 {
7199 X4PIXEL20_10
7200 X4PIXEL21_30
7201 X4PIXEL30_80
7202 X4PIXEL31_10
7203 }
7204 else
7205 {
7206 X4PIXEL20_50
7207 X4PIXEL21_0
7208 X4PIXEL30_50
7209 X4PIXEL31_50
7210 }
7211 X4PIXEL22_30
7212 X4PIXEL23_61
7213 X4PIXEL32_10
7214 X4PIXEL33_80
7215 break;
7216 }
7217 case 10:
7218 case 138:
7219 {
7220 if (Diff(RGBtoYUV[w4], RGBtoYUV[w2]))
7221 {
7222 X4PIXEL00_80
7223 X4PIXEL01_10
7224 X4PIXEL10_10
7225 X4PIXEL11_30
7226 }
7227 else
7228 {
7229 X4PIXEL00_50
7230 X4PIXEL01_50
7231 X4PIXEL10_50
7232 X4PIXEL11_0
7233 }
7234 X4PIXEL02_10
7235 X4PIXEL03_80
7236 X4PIXEL12_30
7237 X4PIXEL13_61
7238 X4PIXEL20_10
7239 X4PIXEL21_30
7240 X4PIXEL22_70
7241 X4PIXEL23_60
7242 X4PIXEL30_80
7243 X4PIXEL31_61
7244 X4PIXEL32_60
7245 X4PIXEL33_20
7246 break;
7247 }
7248 case 66:
7249 {
7250 X4PIXEL00_80
7251 X4PIXEL01_10
7252 X4PIXEL02_10
7253 X4PIXEL03_80
7254 X4PIXEL10_61
7255 X4PIXEL11_30
7256 X4PIXEL12_30
7257 X4PIXEL13_61
7258 X4PIXEL20_61
7259 X4PIXEL21_30
7260 X4PIXEL22_30
7261 X4PIXEL23_61
7262 X4PIXEL30_80
7263 X4PIXEL31_10
7264 X4PIXEL32_10
7265 X4PIXEL33_80
7266 break;
7267 }
7268 case 24:
7269 {
7270 X4PIXEL00_80
7271 X4PIXEL01_61
7272 X4PIXEL02_61
7273 X4PIXEL03_80
7274 X4PIXEL10_10
7275 X4PIXEL11_30
7276 X4PIXEL12_30
7277 X4PIXEL13_10
7278 X4PIXEL20_10
7279 X4PIXEL21_30
7280 X4PIXEL22_30
7281 X4PIXEL23_10
7282 X4PIXEL30_80
7283 X4PIXEL31_61
7284 X4PIXEL32_61
7285 X4PIXEL33_80
7286 break;
7287 }
7288 case 7:
7289 case 39:
7290 case 135:
7291 {
7292 X4PIXEL00_81
7293 X4PIXEL01_31
7294 X4PIXEL02_32
7295 X4PIXEL03_82
7296 X4PIXEL10_81
7297 X4PIXEL11_31
7298 X4PIXEL12_32
7299 X4PIXEL13_82
7300 X4PIXEL20_60
7301 X4PIXEL21_70
7302 X4PIXEL22_70
7303 X4PIXEL23_60
7304 X4PIXEL30_20
7305 X4PIXEL31_60
7306 X4PIXEL32_60
7307 X4PIXEL33_20
7308 break;
7309 }
7310 case 148:
7311 case 149:
7312 case 180:
7313 {
7314 X4PIXEL00_20
7315 X4PIXEL01_60
7316 X4PIXEL02_81
7317 X4PIXEL03_81
7318 X4PIXEL10_60
7319 X4PIXEL11_70
7320 X4PIXEL12_31
7321 X4PIXEL13_31
7322 X4PIXEL20_60
7323 X4PIXEL21_70
7324 X4PIXEL22_32
7325 X4PIXEL23_32
7326 X4PIXEL30_20
7327 X4PIXEL31_60
7328 X4PIXEL32_82
7329 X4PIXEL33_82
7330 break;
7331 }
7332 case 224:
7333 case 228:
7334 case 225:
7335 {
7336 X4PIXEL00_20
7337 X4PIXEL01_60
7338 X4PIXEL02_60
7339 X4PIXEL03_20
7340 X4PIXEL10_60
7341 X4PIXEL11_70
7342 X4PIXEL12_70
7343 X4PIXEL13_60
7344 X4PIXEL20_82
7345 X4PIXEL21_32
7346 X4PIXEL22_31
7347 X4PIXEL23_81
7348 X4PIXEL30_82
7349 X4PIXEL31_32
7350 X4PIXEL32_31
7351 X4PIXEL33_81
7352 break;
7353 }
7354 case 41:
7355 case 169:
7356 case 45:
7357 {
7358 X4PIXEL00_82
7359 X4PIXEL01_82
7360 X4PIXEL02_60
7361 X4PIXEL03_20
7362 X4PIXEL10_32
7363 X4PIXEL11_32
7364 X4PIXEL12_70
7365 X4PIXEL13_60
7366 X4PIXEL20_31
7367 X4PIXEL21_31
7368 X4PIXEL22_70
7369 X4PIXEL23_60
7370 X4PIXEL30_81
7371 X4PIXEL31_81
7372 X4PIXEL32_60
7373 X4PIXEL33_20
7374 break;
7375 }
7376 case 22:
7377 case 54:
7378 {
7379 X4PIXEL00_80
7380 X4PIXEL01_10
7381 if (Diff(RGBtoYUV[w2], RGBtoYUV[w6]))
7382 {
7383 X4PIXEL02_0
7384 X4PIXEL03_0
7385 X4PIXEL13_0
7386 }
7387 else
7388 {
7389 X4PIXEL02_50
7390 X4PIXEL03_50
7391 X4PIXEL13_50
7392 }
7393 X4PIXEL10_61
7394 X4PIXEL11_30
7395 X4PIXEL12_0
7396 X4PIXEL20_60
7397 X4PIXEL21_70
7398 X4PIXEL22_30
7399 X4PIXEL23_10
7400 X4PIXEL30_20
7401 X4PIXEL31_60
7402 X4PIXEL32_61
7403 X4PIXEL33_80
7404 break;
7405 }
7406 case 208:
7407 case 209:
7408 {
7409 X4PIXEL00_20
7410 X4PIXEL01_60
7411 X4PIXEL02_61
7412 X4PIXEL03_80
7413 X4PIXEL10_60
7414 X4PIXEL11_70
7415 X4PIXEL12_30
7416 X4PIXEL13_10
7417 X4PIXEL20_61
7418 X4PIXEL21_30
7419 X4PIXEL22_0
7420 if (Diff(RGBtoYUV[w6], RGBtoYUV[w8]))
7421 {
7422 X4PIXEL23_0
7423 X4PIXEL32_0
7424 X4PIXEL33_0
7425 }
7426 else
7427 {
7428 X4PIXEL23_50
7429 X4PIXEL32_50
7430 X4PIXEL33_50
7431 }
7432 X4PIXEL30_80
7433 X4PIXEL31_10
7434 break;
7435 }
7436 case 104:
7437 case 108:
7438 {
7439 X4PIXEL00_80
7440 X4PIXEL01_61
7441 X4PIXEL02_60
7442 X4PIXEL03_20
7443 X4PIXEL10_10
7444 X4PIXEL11_30
7445 X4PIXEL12_70
7446 X4PIXEL13_60
7447 if (Diff(RGBtoYUV[w8], RGBtoYUV[w4]))
7448 {
7449 X4PIXEL20_0
7450 X4PIXEL30_0
7451 X4PIXEL31_0
7452 }
7453 else
7454 {
7455 X4PIXEL20_50
7456 X4PIXEL30_50
7457 X4PIXEL31_50
7458 }
7459 X4PIXEL21_0
7460 X4PIXEL22_30
7461 X4PIXEL23_61
7462 X4PIXEL32_10
7463 X4PIXEL33_80
7464 break;
7465 }
7466 case 11:
7467 case 139:
7468 {
7469 if (Diff(RGBtoYUV[w4], RGBtoYUV[w2]))
7470 {
7471 X4PIXEL00_0
7472 X4PIXEL01_0
7473 X4PIXEL10_0
7474 }
7475 else
7476 {
7477 X4PIXEL00_50
7478 X4PIXEL01_50
7479 X4PIXEL10_50
7480 }
7481 X4PIXEL02_10
7482 X4PIXEL03_80
7483 X4PIXEL11_0
7484 X4PIXEL12_30
7485 X4PIXEL13_61
7486 X4PIXEL20_10
7487 X4PIXEL21_30
7488 X4PIXEL22_70
7489 X4PIXEL23_60
7490 X4PIXEL30_80
7491 X4PIXEL31_61
7492 X4PIXEL32_60
7493 X4PIXEL33_20
7494 break;
7495 }
7496 case 19:
7497 case 51:
7498 {
7499 if (Diff(RGBtoYUV[w2], RGBtoYUV[w6]))
7500 {
7501 X4PIXEL00_81
7502 X4PIXEL01_31
7503 X4PIXEL02_10
7504 X4PIXEL03_80
7505 X4PIXEL12_30
7506 X4PIXEL13_10
7507 }
7508 else
7509 {
7510 X4PIXEL00_12
7511 X4PIXEL01_14
7512 X4PIXEL02_83
7513 X4PIXEL03_50
7514 X4PIXEL12_70
7515 X4PIXEL13_21
7516 }
7517 X4PIXEL10_81
7518 X4PIXEL11_31
7519 X4PIXEL20_60
7520 X4PIXEL21_70
7521 X4PIXEL22_30
7522 X4PIXEL23_10
7523 X4PIXEL30_20
7524 X4PIXEL31_60
7525 X4PIXEL32_61
7526 X4PIXEL33_80
7527 break;
7528 }
7529 case 146:
7530 case 178:
7531 {
7532 X4PIXEL00_80
7533 X4PIXEL01_10
7534 if (Diff(RGBtoYUV[w2], RGBtoYUV[w6]))
7535 {
7536 X4PIXEL02_10
7537 X4PIXEL03_80
7538 X4PIXEL12_30
7539 X4PIXEL13_10
7540 X4PIXEL23_32
7541 X4PIXEL33_82
7542 }
7543 else
7544 {
7545 X4PIXEL02_21
7546 X4PIXEL03_50
7547 X4PIXEL12_70
7548 X4PIXEL13_83
7549 X4PIXEL23_13
7550 X4PIXEL33_11
7551 }
7552 X4PIXEL10_61
7553 X4PIXEL11_30
7554 X4PIXEL20_60
7555 X4PIXEL21_70
7556 X4PIXEL22_32
7557 X4PIXEL30_20
7558 X4PIXEL31_60
7559 X4PIXEL32_82
7560 break;
7561 }
7562 case 84:
7563 case 85:
7564 {
7565 X4PIXEL00_20
7566 X4PIXEL01_60
7567 X4PIXEL02_81
7568 if (Diff(RGBtoYUV[w6], RGBtoYUV[w8]))
7569 {
7570 X4PIXEL03_81
7571 X4PIXEL13_31
7572 X4PIXEL22_30
7573 X4PIXEL23_10
7574 X4PIXEL32_10
7575 X4PIXEL33_80
7576 }
7577 else
7578 {
7579 X4PIXEL03_12
7580 X4PIXEL13_14
7581 X4PIXEL22_70
7582 X4PIXEL23_83
7583 X4PIXEL32_21
7584 X4PIXEL33_50
7585 }
7586 X4PIXEL10_60
7587 X4PIXEL11_70
7588 X4PIXEL12_31
7589 X4PIXEL20_61
7590 X4PIXEL21_30
7591 X4PIXEL30_80
7592 X4PIXEL31_10
7593 break;
7594 }
7595 case 112:
7596 case 113:
7597 {
7598 X4PIXEL00_20
7599 X4PIXEL01_60
7600 X4PIXEL02_61
7601 X4PIXEL03_80
7602 X4PIXEL10_60
7603 X4PIXEL11_70
7604 X4PIXEL12_30
7605 X4PIXEL13_10
7606 X4PIXEL20_82
7607 X4PIXEL21_32
7608 if (Diff(RGBtoYUV[w6], RGBtoYUV[w8]))
7609 {
7610 X4PIXEL22_30
7611 X4PIXEL23_10
7612 X4PIXEL30_82
7613 X4PIXEL31_32
7614 X4PIXEL32_10
7615 X4PIXEL33_80
7616 }
7617 else
7618 {
7619 X4PIXEL22_70
7620 X4PIXEL23_21
7621 X4PIXEL30_11
7622 X4PIXEL31_13
7623 X4PIXEL32_83
7624 X4PIXEL33_50
7625 }
7626 break;
7627 }
7628 case 200:
7629 case 204:
7630 {
7631 X4PIXEL00_80
7632 X4PIXEL01_61
7633 X4PIXEL02_60
7634 X4PIXEL03_20
7635 X4PIXEL10_10
7636 X4PIXEL11_30
7637 X4PIXEL12_70
7638 X4PIXEL13_60
7639 if (Diff(RGBtoYUV[w8], RGBtoYUV[w4]))
7640 {
7641 X4PIXEL20_10
7642 X4PIXEL21_30
7643 X4PIXEL30_80
7644 X4PIXEL31_10
7645 X4PIXEL32_31
7646 X4PIXEL33_81
7647 }
7648 else
7649 {
7650 X4PIXEL20_21
7651 X4PIXEL21_70
7652 X4PIXEL30_50
7653 X4PIXEL31_83
7654 X4PIXEL32_14
7655 X4PIXEL33_12
7656 }
7657 X4PIXEL22_31
7658 X4PIXEL23_81
7659 break;
7660 }
7661 case 73:
7662 case 77:
7663 {
7664 if (Diff(RGBtoYUV[w8], RGBtoYUV[w4]))
7665 {
7666 X4PIXEL00_82
7667 X4PIXEL10_32
7668 X4PIXEL20_10
7669 X4PIXEL21_30
7670 X4PIXEL30_80
7671 X4PIXEL31_10
7672 }
7673 else
7674 {
7675 X4PIXEL00_11
7676 X4PIXEL10_13
7677 X4PIXEL20_83
7678 X4PIXEL21_70
7679 X4PIXEL30_50
7680 X4PIXEL31_21
7681 }
7682 X4PIXEL01_82
7683 X4PIXEL02_60
7684 X4PIXEL03_20
7685 X4PIXEL11_32
7686 X4PIXEL12_70
7687 X4PIXEL13_60
7688 X4PIXEL22_30
7689 X4PIXEL23_61
7690 X4PIXEL32_10
7691 X4PIXEL33_80
7692 break;
7693 }
7694 case 42:
7695 case 170:
7696 {
7697 if (Diff(RGBtoYUV[w4], RGBtoYUV[w2]))
7698 {
7699 X4PIXEL00_80
7700 X4PIXEL01_10
7701 X4PIXEL10_10
7702 X4PIXEL11_30
7703 X4PIXEL20_31
7704 X4PIXEL30_81
7705 }
7706 else
7707 {
7708 X4PIXEL00_50
7709 X4PIXEL01_21
7710 X4PIXEL10_83
7711 X4PIXEL11_70
7712 X4PIXEL20_14
7713 X4PIXEL30_12
7714 }
7715 X4PIXEL02_10
7716 X4PIXEL03_80
7717 X4PIXEL12_30
7718 X4PIXEL13_61
7719 X4PIXEL21_31
7720 X4PIXEL22_70
7721 X4PIXEL23_60
7722 X4PIXEL31_81
7723 X4PIXEL32_60
7724 X4PIXEL33_20
7725 break;
7726 }
7727 case 14:
7728 case 142:
7729 {
7730 if (Diff(RGBtoYUV[w4], RGBtoYUV[w2]))
7731 {
7732 X4PIXEL00_80
7733 X4PIXEL01_10
7734 X4PIXEL02_32
7735 X4PIXEL03_82
7736 X4PIXEL10_10
7737 X4PIXEL11_30
7738 }
7739 else
7740 {
7741 X4PIXEL00_50
7742 X4PIXEL01_83
7743 X4PIXEL02_13
7744 X4PIXEL03_11
7745 X4PIXEL10_21
7746 X4PIXEL11_70
7747 }
7748 X4PIXEL12_32
7749 X4PIXEL13_82
7750 X4PIXEL20_10
7751 X4PIXEL21_30
7752 X4PIXEL22_70
7753 X4PIXEL23_60
7754 X4PIXEL30_80
7755 X4PIXEL31_61
7756 X4PIXEL32_60
7757 X4PIXEL33_20
7758 break;
7759 }
7760 case 67:
7761 {
7762 X4PIXEL00_81
7763 X4PIXEL01_31
7764 X4PIXEL02_10
7765 X4PIXEL03_80
7766 X4PIXEL10_81
7767 X4PIXEL11_31
7768 X4PIXEL12_30
7769 X4PIXEL13_61
7770 X4PIXEL20_61
7771 X4PIXEL21_30
7772 X4PIXEL22_30
7773 X4PIXEL23_61
7774 X4PIXEL30_80
7775 X4PIXEL31_10
7776 X4PIXEL32_10
7777 X4PIXEL33_80
7778 break;
7779 }
7780 case 70:
7781 {
7782 X4PIXEL00_80
7783 X4PIXEL01_10
7784 X4PIXEL02_32
7785 X4PIXEL03_82
7786 X4PIXEL10_61
7787 X4PIXEL11_30
7788 X4PIXEL12_32
7789 X4PIXEL13_82
7790 X4PIXEL20_61
7791 X4PIXEL21_30
7792 X4PIXEL22_30
7793 X4PIXEL23_61
7794 X4PIXEL30_80
7795 X4PIXEL31_10
7796 X4PIXEL32_10
7797 X4PIXEL33_80
7798 break;
7799 }
7800 case 28:
7801 {
7802 X4PIXEL00_80
7803 X4PIXEL01_61
7804 X4PIXEL02_81
7805 X4PIXEL03_81
7806 X4PIXEL10_10
7807 X4PIXEL11_30
7808 X4PIXEL12_31
7809 X4PIXEL13_31
7810 X4PIXEL20_10
7811 X4PIXEL21_30
7812 X4PIXEL22_30
7813 X4PIXEL23_10
7814 X4PIXEL30_80
7815 X4PIXEL31_61
7816 X4PIXEL32_61
7817 X4PIXEL33_80
7818 break;
7819 }
7820 case 152:
7821 {
7822 X4PIXEL00_80
7823 X4PIXEL01_61
7824 X4PIXEL02_61
7825 X4PIXEL03_80
7826 X4PIXEL10_10
7827 X4PIXEL11_30
7828 X4PIXEL12_30
7829 X4PIXEL13_10
7830 X4PIXEL20_10
7831 X4PIXEL21_30
7832 X4PIXEL22_32
7833 X4PIXEL23_32
7834 X4PIXEL30_80
7835 X4PIXEL31_61
7836 X4PIXEL32_82
7837 X4PIXEL33_82
7838 break;
7839 }
7840 case 194:
7841 {
7842 X4PIXEL00_80
7843 X4PIXEL01_10
7844 X4PIXEL02_10
7845 X4PIXEL03_80
7846 X4PIXEL10_61
7847 X4PIXEL11_30
7848 X4PIXEL12_30
7849 X4PIXEL13_61
7850 X4PIXEL20_61
7851 X4PIXEL21_30
7852 X4PIXEL22_31
7853 X4PIXEL23_81
7854 X4PIXEL30_80
7855 X4PIXEL31_10
7856 X4PIXEL32_31
7857 X4PIXEL33_81
7858 break;
7859 }
7860 case 98:
7861 {
7862 X4PIXEL00_80
7863 X4PIXEL01_10
7864 X4PIXEL02_10
7865 X4PIXEL03_80
7866 X4PIXEL10_61
7867 X4PIXEL11_30
7868 X4PIXEL12_30
7869 X4PIXEL13_61
7870 X4PIXEL20_82
7871 X4PIXEL21_32
7872 X4PIXEL22_30
7873 X4PIXEL23_61
7874 X4PIXEL30_82
7875 X4PIXEL31_32
7876 X4PIXEL32_10
7877 X4PIXEL33_80
7878 break;
7879 }
7880 case 56:
7881 {
7882 X4PIXEL00_80
7883 X4PIXEL01_61
7884 X4PIXEL02_61
7885 X4PIXEL03_80
7886 X4PIXEL10_10
7887 X4PIXEL11_30
7888 X4PIXEL12_30
7889 X4PIXEL13_10
7890 X4PIXEL20_31
7891 X4PIXEL21_31
7892 X4PIXEL22_30
7893 X4PIXEL23_10
7894 X4PIXEL30_81
7895 X4PIXEL31_81
7896 X4PIXEL32_61
7897 X4PIXEL33_80
7898 break;
7899 }
7900 case 25:
7901 {
7902 X4PIXEL00_82
7903 X4PIXEL01_82
7904 X4PIXEL02_61
7905 X4PIXEL03_80
7906 X4PIXEL10_32
7907 X4PIXEL11_32
7908 X4PIXEL12_30
7909 X4PIXEL13_10
7910 X4PIXEL20_10
7911 X4PIXEL21_30
7912 X4PIXEL22_30
7913 X4PIXEL23_10
7914 X4PIXEL30_80
7915 X4PIXEL31_61
7916 X4PIXEL32_61
7917 X4PIXEL33_80
7918 break;
7919 }
7920 case 26:
7921 case 31:
7922 {
7923 if (Diff(RGBtoYUV[w4], RGBtoYUV[w2]))
7924 {
7925 X4PIXEL00_0
7926 X4PIXEL01_0
7927 X4PIXEL10_0
7928 }
7929 else
7930 {
7931 X4PIXEL00_50
7932 X4PIXEL01_50
7933 X4PIXEL10_50
7934 }
7935 if (Diff(RGBtoYUV[w2], RGBtoYUV[w6]))
7936 {
7937 X4PIXEL02_0
7938 X4PIXEL03_0
7939 X4PIXEL13_0
7940 }
7941 else
7942 {
7943 X4PIXEL02_50
7944 X4PIXEL03_50
7945 X4PIXEL13_50
7946 }
7947 X4PIXEL11_0
7948 X4PIXEL12_0
7949 X4PIXEL20_10
7950 X4PIXEL21_30
7951 X4PIXEL22_30
7952 X4PIXEL23_10
7953 X4PIXEL30_80
7954 X4PIXEL31_61
7955 X4PIXEL32_61
7956 X4PIXEL33_80
7957 break;
7958 }
7959 case 82:
7960 case 214:
7961 {
7962 X4PIXEL00_80
7963 X4PIXEL01_10
7964 if (Diff(RGBtoYUV[w2], RGBtoYUV[w6]))
7965 {
7966 X4PIXEL02_0
7967 X4PIXEL03_0
7968 X4PIXEL13_0
7969 }
7970 else
7971 {
7972 X4PIXEL02_50
7973 X4PIXEL03_50
7974 X4PIXEL13_50
7975 }
7976 X4PIXEL10_61
7977 X4PIXEL11_30
7978 X4PIXEL12_0
7979 X4PIXEL20_61
7980 X4PIXEL21_30
7981 X4PIXEL22_0
7982 if (Diff(RGBtoYUV[w6], RGBtoYUV[w8]))
7983 {
7984 X4PIXEL23_0
7985 X4PIXEL32_0
7986 X4PIXEL33_0
7987 }
7988 else
7989 {
7990 X4PIXEL23_50
7991 X4PIXEL32_50
7992 X4PIXEL33_50
7993 }
7994 X4PIXEL30_80
7995 X4PIXEL31_10
7996 break;
7997 }
7998 case 88:
7999 case 248:
8000 {
8001 X4PIXEL00_80
8002 X4PIXEL01_61
8003 X4PIXEL02_61
8004 X4PIXEL03_80
8005 X4PIXEL10_10
8006 X4PIXEL11_30
8007 X4PIXEL12_30
8008 X4PIXEL13_10
8009 if (Diff(RGBtoYUV[w8], RGBtoYUV[w4]))
8010 {
8011 X4PIXEL20_0
8012 X4PIXEL30_0
8013 X4PIXEL31_0
8014 }
8015 else
8016 {
8017 X4PIXEL20_50
8018 X4PIXEL30_50
8019 X4PIXEL31_50
8020 }
8021 X4PIXEL21_0
8022 X4PIXEL22_0
8023 if (Diff(RGBtoYUV[w6], RGBtoYUV[w8]))
8024 {
8025 X4PIXEL23_0
8026 X4PIXEL32_0
8027 X4PIXEL33_0
8028 }
8029 else
8030 {
8031 X4PIXEL23_50
8032 X4PIXEL32_50
8033 X4PIXEL33_50
8034 }
8035 break;
8036 }
8037 case 74:
8038 case 107:
8039 {
8040 if (Diff(RGBtoYUV[w4], RGBtoYUV[w2]))
8041 {
8042 X4PIXEL00_0
8043 X4PIXEL01_0
8044 X4PIXEL10_0
8045 }
8046 else
8047 {
8048 X4PIXEL00_50
8049 X4PIXEL01_50
8050 X4PIXEL10_50
8051 }
8052 X4PIXEL02_10
8053 X4PIXEL03_80
8054 X4PIXEL11_0
8055 X4PIXEL12_30
8056 X4PIXEL13_61
8057 if (Diff(RGBtoYUV[w8], RGBtoYUV[w4]))
8058 {
8059 X4PIXEL20_0
8060 X4PIXEL30_0
8061 X4PIXEL31_0
8062 }
8063 else
8064 {
8065 X4PIXEL20_50
8066 X4PIXEL30_50
8067 X4PIXEL31_50
8068 }
8069 X4PIXEL21_0
8070 X4PIXEL22_30
8071 X4PIXEL23_61
8072 X4PIXEL32_10
8073 X4PIXEL33_80
8074 break;
8075 }
8076 case 27:
8077 {
8078 if (Diff(RGBtoYUV[w4], RGBtoYUV[w2]))
8079 {
8080 X4PIXEL00_0
8081 X4PIXEL01_0
8082 X4PIXEL10_0
8083 }
8084 else
8085 {
8086 X4PIXEL00_50
8087 X4PIXEL01_50
8088 X4PIXEL10_50
8089 }
8090 X4PIXEL02_10
8091 X4PIXEL03_80
8092 X4PIXEL11_0
8093 X4PIXEL12_30
8094 X4PIXEL13_10
8095 X4PIXEL20_10
8096 X4PIXEL21_30
8097 X4PIXEL22_30
8098 X4PIXEL23_10
8099 X4PIXEL30_80
8100 X4PIXEL31_61
8101 X4PIXEL32_61
8102 X4PIXEL33_80
8103 break;
8104 }
8105 case 86:
8106 {
8107 X4PIXEL00_80
8108 X4PIXEL01_10
8109 if (Diff(RGBtoYUV[w2], RGBtoYUV[w6]))
8110 {
8111 X4PIXEL02_0
8112 X4PIXEL03_0
8113 X4PIXEL13_0
8114 }
8115 else
8116 {
8117 X4PIXEL02_50
8118 X4PIXEL03_50
8119 X4PIXEL13_50
8120 }
8121 X4PIXEL10_61
8122 X4PIXEL11_30
8123 X4PIXEL12_0
8124 X4PIXEL20_61
8125 X4PIXEL21_30
8126 X4PIXEL22_30
8127 X4PIXEL23_10
8128 X4PIXEL30_80
8129 X4PIXEL31_10
8130 X4PIXEL32_10
8131 X4PIXEL33_80
8132 break;
8133 }
8134 case 216:
8135 {
8136 X4PIXEL00_80
8137 X4PIXEL01_61
8138 X4PIXEL02_61
8139 X4PIXEL03_80
8140 X4PIXEL10_10
8141 X4PIXEL11_30
8142 X4PIXEL12_30
8143 X4PIXEL13_10
8144 X4PIXEL20_10
8145 X4PIXEL21_30
8146 X4PIXEL22_0
8147 if (Diff(RGBtoYUV[w6], RGBtoYUV[w8]))
8148 {
8149 X4PIXEL23_0
8150 X4PIXEL32_0
8151 X4PIXEL33_0
8152 }
8153 else
8154 {
8155 X4PIXEL23_50
8156 X4PIXEL32_50
8157 X4PIXEL33_50
8158 }
8159 X4PIXEL30_80
8160 X4PIXEL31_10
8161 break;
8162 }
8163 case 106:
8164 {
8165 X4PIXEL00_80
8166 X4PIXEL01_10
8167 X4PIXEL02_10
8168 X4PIXEL03_80
8169 X4PIXEL10_10
8170 X4PIXEL11_30
8171 X4PIXEL12_30
8172 X4PIXEL13_61
8173 if (Diff(RGBtoYUV[w8], RGBtoYUV[w4]))
8174 {
8175 X4PIXEL20_0
8176 X4PIXEL30_0
8177 X4PIXEL31_0
8178 }
8179 else
8180 {
8181 X4PIXEL20_50
8182 X4PIXEL30_50
8183 X4PIXEL31_50
8184 }
8185 X4PIXEL21_0
8186 X4PIXEL22_30
8187 X4PIXEL23_61
8188 X4PIXEL32_10
8189 X4PIXEL33_80
8190 break;
8191 }
8192 case 30:
8193 {
8194 X4PIXEL00_80
8195 X4PIXEL01_10
8196 if (Diff(RGBtoYUV[w2], RGBtoYUV[w6]))
8197 {
8198 X4PIXEL02_0
8199 X4PIXEL03_0
8200 X4PIXEL13_0
8201 }
8202 else
8203 {
8204 X4PIXEL02_50
8205 X4PIXEL03_50
8206 X4PIXEL13_50
8207 }
8208 X4PIXEL10_10
8209 X4PIXEL11_30
8210 X4PIXEL12_0
8211 X4PIXEL20_10
8212 X4PIXEL21_30
8213 X4PIXEL22_30
8214 X4PIXEL23_10
8215 X4PIXEL30_80
8216 X4PIXEL31_61
8217 X4PIXEL32_61
8218 X4PIXEL33_80
8219 break;
8220 }
8221 case 210:
8222 {
8223 X4PIXEL00_80
8224 X4PIXEL01_10
8225 X4PIXEL02_10
8226 X4PIXEL03_80
8227 X4PIXEL10_61
8228 X4PIXEL11_30
8229 X4PIXEL12_30
8230 X4PIXEL13_10
8231 X4PIXEL20_61
8232 X4PIXEL21_30
8233 X4PIXEL22_0
8234 if (Diff(RGBtoYUV[w6], RGBtoYUV[w8]))
8235 {
8236 X4PIXEL23_0
8237 X4PIXEL32_0
8238 X4PIXEL33_0
8239 }
8240 else
8241 {
8242 X4PIXEL23_50
8243 X4PIXEL32_50
8244 X4PIXEL33_50
8245 }
8246 X4PIXEL30_80
8247 X4PIXEL31_10
8248 break;
8249 }
8250 case 120:
8251 {
8252 X4PIXEL00_80
8253 X4PIXEL01_61
8254 X4PIXEL02_61
8255 X4PIXEL03_80
8256 X4PIXEL10_10
8257 X4PIXEL11_30
8258 X4PIXEL12_30
8259 X4PIXEL13_10
8260 if (Diff(RGBtoYUV[w8], RGBtoYUV[w4]))
8261 {
8262 X4PIXEL20_0
8263 X4PIXEL30_0
8264 X4PIXEL31_0
8265 }
8266 else
8267 {
8268 X4PIXEL20_50
8269 X4PIXEL30_50
8270 X4PIXEL31_50
8271 }
8272 X4PIXEL21_0
8273 X4PIXEL22_30
8274 X4PIXEL23_10
8275 X4PIXEL32_10
8276 X4PIXEL33_80
8277 break;
8278 }
8279 case 75:
8280 {
8281 if (Diff(RGBtoYUV[w4], RGBtoYUV[w2]))
8282 {
8283 X4PIXEL00_0
8284 X4PIXEL01_0
8285 X4PIXEL10_0
8286 }
8287 else
8288 {
8289 X4PIXEL00_50
8290 X4PIXEL01_50
8291 X4PIXEL10_50
8292 }
8293 X4PIXEL02_10
8294 X4PIXEL03_80
8295 X4PIXEL11_0
8296 X4PIXEL12_30
8297 X4PIXEL13_61
8298 X4PIXEL20_10
8299 X4PIXEL21_30
8300 X4PIXEL22_30
8301 X4PIXEL23_61
8302 X4PIXEL30_80
8303 X4PIXEL31_10
8304 X4PIXEL32_10
8305 X4PIXEL33_80
8306 break;
8307 }
8308 case 29:
8309 {
8310 X4PIXEL00_82
8311 X4PIXEL01_82
8312 X4PIXEL02_81
8313 X4PIXEL03_81
8314 X4PIXEL10_32
8315 X4PIXEL11_32
8316 X4PIXEL12_31
8317 X4PIXEL13_31
8318 X4PIXEL20_10
8319 X4PIXEL21_30
8320 X4PIXEL22_30
8321 X4PIXEL23_10
8322 X4PIXEL30_80
8323 X4PIXEL31_61
8324 X4PIXEL32_61
8325 X4PIXEL33_80
8326 break;
8327 }
8328 case 198:
8329 {
8330 X4PIXEL00_80
8331 X4PIXEL01_10
8332 X4PIXEL02_32
8333 X4PIXEL03_82
8334 X4PIXEL10_61
8335 X4PIXEL11_30
8336 X4PIXEL12_32
8337 X4PIXEL13_82
8338 X4PIXEL20_61
8339 X4PIXEL21_30
8340 X4PIXEL22_31
8341 X4PIXEL23_81
8342 X4PIXEL30_80
8343 X4PIXEL31_10
8344 X4PIXEL32_31
8345 X4PIXEL33_81
8346 break;
8347 }
8348 case 184:
8349 {
8350 X4PIXEL00_80
8351 X4PIXEL01_61
8352 X4PIXEL02_61
8353 X4PIXEL03_80
8354 X4PIXEL10_10
8355 X4PIXEL11_30
8356 X4PIXEL12_30
8357 X4PIXEL13_10
8358 X4PIXEL20_31
8359 X4PIXEL21_31
8360 X4PIXEL22_32
8361 X4PIXEL23_32
8362 X4PIXEL30_81
8363 X4PIXEL31_81
8364 X4PIXEL32_82
8365 X4PIXEL33_82
8366 break;
8367 }
8368 case 99:
8369 {
8370 X4PIXEL00_81
8371 X4PIXEL01_31
8372 X4PIXEL02_10
8373 X4PIXEL03_80
8374 X4PIXEL10_81
8375 X4PIXEL11_31
8376 X4PIXEL12_30
8377 X4PIXEL13_61
8378 X4PIXEL20_82
8379 X4PIXEL21_32
8380 X4PIXEL22_30
8381 X4PIXEL23_61
8382 X4PIXEL30_82
8383 X4PIXEL31_32
8384 X4PIXEL32_10
8385 X4PIXEL33_80
8386 break;
8387 }
8388 case 57:
8389 {
8390 X4PIXEL00_82
8391 X4PIXEL01_82
8392 X4PIXEL02_61
8393 X4PIXEL03_80
8394 X4PIXEL10_32
8395 X4PIXEL11_32
8396 X4PIXEL12_30
8397 X4PIXEL13_10
8398 X4PIXEL20_31
8399 X4PIXEL21_31
8400 X4PIXEL22_30
8401 X4PIXEL23_10
8402 X4PIXEL30_81
8403 X4PIXEL31_81
8404 X4PIXEL32_61
8405 X4PIXEL33_80
8406 break;
8407 }
8408 case 71:
8409 {
8410 X4PIXEL00_81
8411 X4PIXEL01_31
8412 X4PIXEL02_32
8413 X4PIXEL03_82
8414 X4PIXEL10_81
8415 X4PIXEL11_31
8416 X4PIXEL12_32
8417 X4PIXEL13_82
8418 X4PIXEL20_61
8419 X4PIXEL21_30
8420 X4PIXEL22_30
8421 X4PIXEL23_61
8422 X4PIXEL30_80
8423 X4PIXEL31_10
8424 X4PIXEL32_10
8425 X4PIXEL33_80
8426 break;
8427 }
8428 case 156:
8429 {
8430 X4PIXEL00_80
8431 X4PIXEL01_61
8432 X4PIXEL02_81
8433 X4PIXEL03_81
8434 X4PIXEL10_10
8435 X4PIXEL11_30
8436 X4PIXEL12_31
8437 X4PIXEL13_31
8438 X4PIXEL20_10
8439 X4PIXEL21_30
8440 X4PIXEL22_32
8441 X4PIXEL23_32
8442 X4PIXEL30_80
8443 X4PIXEL31_61
8444 X4PIXEL32_82
8445 X4PIXEL33_82
8446 break;
8447 }
8448 case 226:
8449 {
8450 X4PIXEL00_80
8451 X4PIXEL01_10
8452 X4PIXEL02_10
8453 X4PIXEL03_80
8454 X4PIXEL10_61
8455 X4PIXEL11_30
8456 X4PIXEL12_30
8457 X4PIXEL13_61
8458 X4PIXEL20_82
8459 X4PIXEL21_32
8460 X4PIXEL22_31
8461 X4PIXEL23_81
8462 X4PIXEL30_82
8463 X4PIXEL31_32
8464 X4PIXEL32_31
8465 X4PIXEL33_81
8466 break;
8467 }
8468 case 60:
8469 {
8470 X4PIXEL00_80
8471 X4PIXEL01_61
8472 X4PIXEL02_81
8473 X4PIXEL03_81
8474 X4PIXEL10_10
8475 X4PIXEL11_30
8476 X4PIXEL12_31
8477 X4PIXEL13_31
8478 X4PIXEL20_31
8479 X4PIXEL21_31
8480 X4PIXEL22_30
8481 X4PIXEL23_10
8482 X4PIXEL30_81
8483 X4PIXEL31_81
8484 X4PIXEL32_61
8485 X4PIXEL33_80
8486 break;
8487 }
8488 case 195:
8489 {
8490 X4PIXEL00_81
8491 X4PIXEL01_31
8492 X4PIXEL02_10
8493 X4PIXEL03_80
8494 X4PIXEL10_81
8495 X4PIXEL11_31
8496 X4PIXEL12_30
8497 X4PIXEL13_61
8498 X4PIXEL20_61
8499 X4PIXEL21_30
8500 X4PIXEL22_31
8501 X4PIXEL23_81
8502 X4PIXEL30_80
8503 X4PIXEL31_10
8504 X4PIXEL32_31
8505 X4PIXEL33_81
8506 break;
8507 }
8508 case 102:
8509 {
8510 X4PIXEL00_80
8511 X4PIXEL01_10
8512 X4PIXEL02_32
8513 X4PIXEL03_82
8514 X4PIXEL10_61
8515 X4PIXEL11_30
8516 X4PIXEL12_32
8517 X4PIXEL13_82
8518 X4PIXEL20_82
8519 X4PIXEL21_32
8520 X4PIXEL22_30
8521 X4PIXEL23_61
8522 X4PIXEL30_82
8523 X4PIXEL31_32
8524 X4PIXEL32_10
8525 X4PIXEL33_80
8526 break;
8527 }
8528 case 153:
8529 {
8530 X4PIXEL00_82
8531 X4PIXEL01_82
8532 X4PIXEL02_61
8533 X4PIXEL03_80
8534 X4PIXEL10_32
8535 X4PIXEL11_32
8536 X4PIXEL12_30
8537 X4PIXEL13_10
8538 X4PIXEL20_10
8539 X4PIXEL21_30
8540 X4PIXEL22_32
8541 X4PIXEL23_32
8542 X4PIXEL30_80
8543 X4PIXEL31_61
8544 X4PIXEL32_82
8545 X4PIXEL33_82
8546 break;
8547 }
8548 case 58:
8549 {
8550 if (Diff(RGBtoYUV[w4], RGBtoYUV[w2]))
8551 {
8552 X4PIXEL00_80
8553 X4PIXEL01_10
8554 X4PIXEL10_10
8555 X4PIXEL11_30
8556 }
8557 else
8558 {
8559 X4PIXEL00_20
8560 X4PIXEL01_12
8561 X4PIXEL10_11
8562 X4PIXEL11_0
8563 }
8564 if (Diff(RGBtoYUV[w2], RGBtoYUV[w6]))
8565 {
8566 X4PIXEL02_10
8567 X4PIXEL03_80
8568 X4PIXEL12_30
8569 X4PIXEL13_10
8570 }
8571 else
8572 {
8573 X4PIXEL02_11
8574 X4PIXEL03_20
8575 X4PIXEL12_0
8576 X4PIXEL13_12
8577 }
8578 X4PIXEL20_31
8579 X4PIXEL21_31
8580 X4PIXEL22_30
8581 X4PIXEL23_10
8582 X4PIXEL30_81
8583 X4PIXEL31_81
8584 X4PIXEL32_61
8585 X4PIXEL33_80
8586 break;
8587 }
8588 case 83:
8589 {
8590 X4PIXEL00_81
8591 X4PIXEL01_31
8592 if (Diff(RGBtoYUV[w2], RGBtoYUV[w6]))
8593 {
8594 X4PIXEL02_10
8595 X4PIXEL03_80
8596 X4PIXEL12_30
8597 X4PIXEL13_10
8598 }
8599 else
8600 {
8601 X4PIXEL02_11
8602 X4PIXEL03_20
8603 X4PIXEL12_0
8604 X4PIXEL13_12
8605 }
8606 X4PIXEL10_81
8607 X4PIXEL11_31
8608 X4PIXEL20_61
8609 X4PIXEL21_30
8610 if (Diff(RGBtoYUV[w6], RGBtoYUV[w8]))
8611 {
8612 X4PIXEL22_30
8613 X4PIXEL23_10
8614 X4PIXEL32_10
8615 X4PIXEL33_80
8616 }
8617 else
8618 {
8619 X4PIXEL22_0
8620 X4PIXEL23_11
8621 X4PIXEL32_12
8622 X4PIXEL33_20
8623 }
8624 X4PIXEL30_80
8625 X4PIXEL31_10
8626 break;
8627 }
8628 case 92:
8629 {
8630 X4PIXEL00_80
8631 X4PIXEL01_61
8632 X4PIXEL02_81
8633 X4PIXEL03_81
8634 X4PIXEL10_10
8635 X4PIXEL11_30
8636 X4PIXEL12_31
8637 X4PIXEL13_31
8638 if (Diff(RGBtoYUV[w8], RGBtoYUV[w4]))
8639 {
8640 X4PIXEL20_10
8641 X4PIXEL21_30
8642 X4PIXEL30_80
8643 X4PIXEL31_10
8644 }
8645 else
8646 {
8647 X4PIXEL20_12
8648 X4PIXEL21_0
8649 X4PIXEL30_20
8650 X4PIXEL31_11
8651 }
8652 if (Diff(RGBtoYUV[w6], RGBtoYUV[w8]))
8653 {
8654 X4PIXEL22_30
8655 X4PIXEL23_10
8656 X4PIXEL32_10
8657 X4PIXEL33_80
8658 }
8659 else
8660 {
8661 X4PIXEL22_0
8662 X4PIXEL23_11
8663 X4PIXEL32_12
8664 X4PIXEL33_20
8665 }
8666 break;
8667 }
8668 case 202:
8669 {
8670 if (Diff(RGBtoYUV[w4], RGBtoYUV[w2]))
8671 {
8672 X4PIXEL00_80
8673 X4PIXEL01_10
8674 X4PIXEL10_10
8675 X4PIXEL11_30
8676 }
8677 else
8678 {
8679 X4PIXEL00_20
8680 X4PIXEL01_12
8681 X4PIXEL10_11
8682 X4PIXEL11_0
8683 }
8684 X4PIXEL02_10
8685 X4PIXEL03_80
8686 X4PIXEL12_30
8687 X4PIXEL13_61
8688 if (Diff(RGBtoYUV[w8], RGBtoYUV[w4]))
8689 {
8690 X4PIXEL20_10
8691 X4PIXEL21_30
8692 X4PIXEL30_80
8693 X4PIXEL31_10
8694 }
8695 else
8696 {
8697 X4PIXEL20_12
8698 X4PIXEL21_0
8699 X4PIXEL30_20
8700 X4PIXEL31_11
8701 }
8702 X4PIXEL22_31
8703 X4PIXEL23_81
8704 X4PIXEL32_31
8705 X4PIXEL33_81
8706 break;
8707 }
8708 case 78:
8709 {
8710 if (Diff(RGBtoYUV[w4], RGBtoYUV[w2]))
8711 {
8712 X4PIXEL00_80
8713 X4PIXEL01_10
8714 X4PIXEL10_10
8715 X4PIXEL11_30
8716 }
8717 else
8718 {
8719 X4PIXEL00_20
8720 X4PIXEL01_12
8721 X4PIXEL10_11
8722 X4PIXEL11_0
8723 }
8724 X4PIXEL02_32
8725 X4PIXEL03_82
8726 X4PIXEL12_32
8727 X4PIXEL13_82
8728 if (Diff(RGBtoYUV[w8], RGBtoYUV[w4]))
8729 {
8730 X4PIXEL20_10
8731 X4PIXEL21_30
8732 X4PIXEL30_80
8733 X4PIXEL31_10
8734 }
8735 else
8736 {
8737 X4PIXEL20_12
8738 X4PIXEL21_0
8739 X4PIXEL30_20
8740 X4PIXEL31_11
8741 }
8742 X4PIXEL22_30
8743 X4PIXEL23_61
8744 X4PIXEL32_10
8745 X4PIXEL33_80
8746 break;
8747 }
8748 case 154:
8749 {
8750 if (Diff(RGBtoYUV[w4], RGBtoYUV[w2]))
8751 {
8752 X4PIXEL00_80
8753 X4PIXEL01_10
8754 X4PIXEL10_10
8755 X4PIXEL11_30
8756 }
8757 else
8758 {
8759 X4PIXEL00_20
8760 X4PIXEL01_12
8761 X4PIXEL10_11
8762 X4PIXEL11_0
8763 }
8764 if (Diff(RGBtoYUV[w2], RGBtoYUV[w6]))
8765 {
8766 X4PIXEL02_10
8767 X4PIXEL03_80
8768 X4PIXEL12_30
8769 X4PIXEL13_10
8770 }
8771 else
8772 {
8773 X4PIXEL02_11
8774 X4PIXEL03_20
8775 X4PIXEL12_0
8776 X4PIXEL13_12
8777 }
8778 X4PIXEL20_10
8779 X4PIXEL21_30
8780 X4PIXEL22_32
8781 X4PIXEL23_32
8782 X4PIXEL30_80
8783 X4PIXEL31_61
8784 X4PIXEL32_82
8785 X4PIXEL33_82
8786 break;
8787 }
8788 case 114:
8789 {
8790 X4PIXEL00_80
8791 X4PIXEL01_10
8792 if (Diff(RGBtoYUV[w2], RGBtoYUV[w6]))
8793 {
8794 X4PIXEL02_10
8795 X4PIXEL03_80
8796 X4PIXEL12_30
8797 X4PIXEL13_10
8798 }
8799 else
8800 {
8801 X4PIXEL02_11
8802 X4PIXEL03_20
8803 X4PIXEL12_0
8804 X4PIXEL13_12
8805 }
8806 X4PIXEL10_61
8807 X4PIXEL11_30
8808 X4PIXEL20_82
8809 X4PIXEL21_32
8810 if (Diff(RGBtoYUV[w6], RGBtoYUV[w8]))
8811 {
8812 X4PIXEL22_30
8813 X4PIXEL23_10
8814 X4PIXEL32_10
8815 X4PIXEL33_80
8816 }
8817 else
8818 {
8819 X4PIXEL22_0
8820 X4PIXEL23_11
8821 X4PIXEL32_12
8822 X4PIXEL33_20
8823 }
8824 X4PIXEL30_82
8825 X4PIXEL31_32
8826 break;
8827 }
8828 case 89:
8829 {
8830 X4PIXEL00_82
8831 X4PIXEL01_82
8832 X4PIXEL02_61
8833 X4PIXEL03_80
8834 X4PIXEL10_32
8835 X4PIXEL11_32
8836 X4PIXEL12_30
8837 X4PIXEL13_10
8838 if (Diff(RGBtoYUV[w8], RGBtoYUV[w4]))
8839 {
8840 X4PIXEL20_10
8841 X4PIXEL21_30
8842 X4PIXEL30_80
8843 X4PIXEL31_10
8844 }
8845 else
8846 {
8847 X4PIXEL20_12
8848 X4PIXEL21_0
8849 X4PIXEL30_20
8850 X4PIXEL31_11
8851 }
8852 if (Diff(RGBtoYUV[w6], RGBtoYUV[w8]))
8853 {
8854 X4PIXEL22_30
8855 X4PIXEL23_10
8856 X4PIXEL32_10
8857 X4PIXEL33_80
8858 }
8859 else
8860 {
8861 X4PIXEL22_0
8862 X4PIXEL23_11
8863 X4PIXEL32_12
8864 X4PIXEL33_20
8865 }
8866 break;
8867 }
8868 case 90:
8869 {
8870 if (Diff(RGBtoYUV[w4], RGBtoYUV[w2]))
8871 {
8872 X4PIXEL00_80
8873 X4PIXEL01_10
8874 X4PIXEL10_10
8875 X4PIXEL11_30
8876 }
8877 else
8878 {
8879 X4PIXEL00_20
8880 X4PIXEL01_12
8881 X4PIXEL10_11
8882 X4PIXEL11_0
8883 }
8884 if (Diff(RGBtoYUV[w2], RGBtoYUV[w6]))
8885 {
8886 X4PIXEL02_10
8887 X4PIXEL03_80
8888 X4PIXEL12_30
8889 X4PIXEL13_10
8890 }
8891 else
8892 {
8893 X4PIXEL02_11
8894 X4PIXEL03_20
8895 X4PIXEL12_0
8896 X4PIXEL13_12
8897 }
8898 if (Diff(RGBtoYUV[w8], RGBtoYUV[w4]))
8899 {
8900 X4PIXEL20_10
8901 X4PIXEL21_30
8902 X4PIXEL30_80
8903 X4PIXEL31_10
8904 }
8905 else
8906 {
8907 X4PIXEL20_12
8908 X4PIXEL21_0
8909 X4PIXEL30_20
8910 X4PIXEL31_11
8911 }
8912 if (Diff(RGBtoYUV[w6], RGBtoYUV[w8]))
8913 {
8914 X4PIXEL22_30
8915 X4PIXEL23_10
8916 X4PIXEL32_10
8917 X4PIXEL33_80
8918 }
8919 else
8920 {
8921 X4PIXEL22_0
8922 X4PIXEL23_11
8923 X4PIXEL32_12
8924 X4PIXEL33_20
8925 }
8926 break;
8927 }
8928 case 55:
8929 case 23:
8930 {
8931 if (Diff(RGBtoYUV[w2], RGBtoYUV[w6]))
8932 {
8933 X4PIXEL00_81
8934 X4PIXEL01_31
8935 X4PIXEL02_0
8936 X4PIXEL03_0
8937 X4PIXEL12_0
8938 X4PIXEL13_0
8939 }
8940 else
8941 {
8942 X4PIXEL00_12
8943 X4PIXEL01_14
8944 X4PIXEL02_83
8945 X4PIXEL03_50
8946 X4PIXEL12_70
8947 X4PIXEL13_21
8948 }
8949 X4PIXEL10_81
8950 X4PIXEL11_31
8951 X4PIXEL20_60
8952 X4PIXEL21_70
8953 X4PIXEL22_30
8954 X4PIXEL23_10
8955 X4PIXEL30_20
8956 X4PIXEL31_60
8957 X4PIXEL32_61
8958 X4PIXEL33_80
8959 break;
8960 }
8961 case 182:
8962 case 150:
8963 {
8964 X4PIXEL00_80
8965 X4PIXEL01_10
8966 if (Diff(RGBtoYUV[w2], RGBtoYUV[w6]))
8967 {
8968 X4PIXEL02_0
8969 X4PIXEL03_0
8970 X4PIXEL12_0
8971 X4PIXEL13_0
8972 X4PIXEL23_32
8973 X4PIXEL33_82
8974 }
8975 else
8976 {
8977 X4PIXEL02_21
8978 X4PIXEL03_50
8979 X4PIXEL12_70
8980 X4PIXEL13_83
8981 X4PIXEL23_13
8982 X4PIXEL33_11
8983 }
8984 X4PIXEL10_61
8985 X4PIXEL11_30
8986 X4PIXEL20_60
8987 X4PIXEL21_70
8988 X4PIXEL22_32
8989 X4PIXEL30_20
8990 X4PIXEL31_60
8991 X4PIXEL32_82
8992 break;
8993 }
8994 case 213:
8995 case 212:
8996 {
8997 X4PIXEL00_20
8998 X4PIXEL01_60
8999 X4PIXEL02_81
9000 if (Diff(RGBtoYUV[w6], RGBtoYUV[w8]))
9001 {
9002 X4PIXEL03_81
9003 X4PIXEL13_31
9004 X4PIXEL22_0
9005 X4PIXEL23_0
9006 X4PIXEL32_0
9007 X4PIXEL33_0
9008 }
9009 else
9010 {
9011 X4PIXEL03_12
9012 X4PIXEL13_14
9013 X4PIXEL22_70
9014 X4PIXEL23_83
9015 X4PIXEL32_21
9016 X4PIXEL33_50
9017 }
9018 X4PIXEL10_60
9019 X4PIXEL11_70
9020 X4PIXEL12_31
9021 X4PIXEL20_61
9022 X4PIXEL21_30
9023 X4PIXEL30_80
9024 X4PIXEL31_10
9025 break;
9026 }
9027 case 241:
9028 case 240:
9029 {
9030 X4PIXEL00_20
9031 X4PIXEL01_60
9032 X4PIXEL02_61
9033 X4PIXEL03_80
9034 X4PIXEL10_60
9035 X4PIXEL11_70
9036 X4PIXEL12_30
9037 X4PIXEL13_10
9038 X4PIXEL20_82
9039 X4PIXEL21_32
9040 if (Diff(RGBtoYUV[w6], RGBtoYUV[w8]))
9041 {
9042 X4PIXEL22_0
9043 X4PIXEL23_0
9044 X4PIXEL30_82
9045 X4PIXEL31_32
9046 X4PIXEL32_0
9047 X4PIXEL33_0
9048 }
9049 else
9050 {
9051 X4PIXEL22_70
9052 X4PIXEL23_21
9053 X4PIXEL30_11
9054 X4PIXEL31_13
9055 X4PIXEL32_83
9056 X4PIXEL33_50
9057 }
9058 break;
9059 }
9060 case 236:
9061 case 232:
9062 {
9063 X4PIXEL00_80
9064 X4PIXEL01_61
9065 X4PIXEL02_60
9066 X4PIXEL03_20
9067 X4PIXEL10_10
9068 X4PIXEL11_30
9069 X4PIXEL12_70
9070 X4PIXEL13_60
9071 if (Diff(RGBtoYUV[w8], RGBtoYUV[w4]))
9072 {
9073 X4PIXEL20_0
9074 X4PIXEL21_0
9075 X4PIXEL30_0
9076 X4PIXEL31_0
9077 X4PIXEL32_31
9078 X4PIXEL33_81
9079 }
9080 else
9081 {
9082 X4PIXEL20_21
9083 X4PIXEL21_70
9084 X4PIXEL30_50
9085 X4PIXEL31_83
9086 X4PIXEL32_14
9087 X4PIXEL33_12
9088 }
9089 X4PIXEL22_31
9090 X4PIXEL23_81
9091 break;
9092 }
9093 case 109:
9094 case 105:
9095 {
9096 if (Diff(RGBtoYUV[w8], RGBtoYUV[w4]))
9097 {
9098 X4PIXEL00_82
9099 X4PIXEL10_32
9100 X4PIXEL20_0
9101 X4PIXEL21_0
9102 X4PIXEL30_0
9103 X4PIXEL31_0
9104 }
9105 else
9106 {
9107 X4PIXEL00_11
9108 X4PIXEL10_13
9109 X4PIXEL20_83
9110 X4PIXEL21_70
9111 X4PIXEL30_50
9112 X4PIXEL31_21
9113 }
9114 X4PIXEL01_82
9115 X4PIXEL02_60
9116 X4PIXEL03_20
9117 X4PIXEL11_32
9118 X4PIXEL12_70
9119 X4PIXEL13_60
9120 X4PIXEL22_30
9121 X4PIXEL23_61
9122 X4PIXEL32_10
9123 X4PIXEL33_80
9124 break;
9125 }
9126 case 171:
9127 case 43:
9128 {
9129 if (Diff(RGBtoYUV[w4], RGBtoYUV[w2]))
9130 {
9131 X4PIXEL00_0
9132 X4PIXEL01_0
9133 X4PIXEL10_0
9134 X4PIXEL11_0
9135 X4PIXEL20_31
9136 X4PIXEL30_81
9137 }
9138 else
9139 {
9140 X4PIXEL00_50
9141 X4PIXEL01_21
9142 X4PIXEL10_83
9143 X4PIXEL11_70
9144 X4PIXEL20_14
9145 X4PIXEL30_12
9146 }
9147 X4PIXEL02_10
9148 X4PIXEL03_80
9149 X4PIXEL12_30
9150 X4PIXEL13_61
9151 X4PIXEL21_31
9152 X4PIXEL22_70
9153 X4PIXEL23_60
9154 X4PIXEL31_81
9155 X4PIXEL32_60
9156 X4PIXEL33_20
9157 break;
9158 }
9159 case 143:
9160 case 15:
9161 {
9162 if (Diff(RGBtoYUV[w4], RGBtoYUV[w2]))
9163 {
9164 X4PIXEL00_0
9165 X4PIXEL01_0
9166 X4PIXEL02_32
9167 X4PIXEL03_82
9168 X4PIXEL10_0
9169 X4PIXEL11_0
9170 }
9171 else
9172 {
9173 X4PIXEL00_50
9174 X4PIXEL01_83
9175 X4PIXEL02_13
9176 X4PIXEL03_11
9177 X4PIXEL10_21
9178 X4PIXEL11_70
9179 }
9180 X4PIXEL12_32
9181 X4PIXEL13_82
9182 X4PIXEL20_10
9183 X4PIXEL21_30
9184 X4PIXEL22_70
9185 X4PIXEL23_60
9186 X4PIXEL30_80
9187 X4PIXEL31_61
9188 X4PIXEL32_60
9189 X4PIXEL33_20
9190 break;
9191 }
9192 case 124:
9193 {
9194 X4PIXEL00_80
9195 X4PIXEL01_61
9196 X4PIXEL02_81
9197 X4PIXEL03_81
9198 X4PIXEL10_10
9199 X4PIXEL11_30
9200 X4PIXEL12_31
9201 X4PIXEL13_31
9202 if (Diff(RGBtoYUV[w8], RGBtoYUV[w4]))
9203 {
9204 X4PIXEL20_0
9205 X4PIXEL30_0
9206 X4PIXEL31_0
9207 }
9208 else
9209 {
9210 X4PIXEL20_50
9211 X4PIXEL30_50
9212 X4PIXEL31_50
9213 }
9214 X4PIXEL21_0
9215 X4PIXEL22_30
9216 X4PIXEL23_10
9217 X4PIXEL32_10
9218 X4PIXEL33_80
9219 break;
9220 }
9221 case 203:
9222 {
9223 if (Diff(RGBtoYUV[w4], RGBtoYUV[w2]))
9224 {
9225 X4PIXEL00_0
9226 X4PIXEL01_0
9227 X4PIXEL10_0
9228 }
9229 else
9230 {
9231 X4PIXEL00_50
9232 X4PIXEL01_50
9233 X4PIXEL10_50
9234 }
9235 X4PIXEL02_10
9236 X4PIXEL03_80
9237 X4PIXEL11_0
9238 X4PIXEL12_30
9239 X4PIXEL13_61
9240 X4PIXEL20_10
9241 X4PIXEL21_30
9242 X4PIXEL22_31
9243 X4PIXEL23_81
9244 X4PIXEL30_80
9245 X4PIXEL31_10
9246 X4PIXEL32_31
9247 X4PIXEL33_81
9248 break;
9249 }
9250 case 62:
9251 {
9252 X4PIXEL00_80
9253 X4PIXEL01_10
9254 if (Diff(RGBtoYUV[w2], RGBtoYUV[w6]))
9255 {
9256 X4PIXEL02_0
9257 X4PIXEL03_0
9258 X4PIXEL13_0
9259 }
9260 else
9261 {
9262 X4PIXEL02_50
9263 X4PIXEL03_50
9264 X4PIXEL13_50
9265 }
9266 X4PIXEL10_10
9267 X4PIXEL11_30
9268 X4PIXEL12_0
9269 X4PIXEL20_31
9270 X4PIXEL21_31
9271 X4PIXEL22_30
9272 X4PIXEL23_10
9273 X4PIXEL30_81
9274 X4PIXEL31_81
9275 X4PIXEL32_61
9276 X4PIXEL33_80
9277 break;
9278 }
9279 case 211:
9280 {
9281 X4PIXEL00_81
9282 X4PIXEL01_31
9283 X4PIXEL02_10
9284 X4PIXEL03_80
9285 X4PIXEL10_81
9286 X4PIXEL11_31
9287 X4PIXEL12_30
9288 X4PIXEL13_10
9289 X4PIXEL20_61
9290 X4PIXEL21_30
9291 X4PIXEL22_0
9292 if (Diff(RGBtoYUV[w6], RGBtoYUV[w8]))
9293 {
9294 X4PIXEL23_0
9295 X4PIXEL32_0
9296 X4PIXEL33_0
9297 }
9298 else
9299 {
9300 X4PIXEL23_50
9301 X4PIXEL32_50
9302 X4PIXEL33_50
9303 }
9304 X4PIXEL30_80
9305 X4PIXEL31_10
9306 break;
9307 }
9308 case 118:
9309 {
9310 X4PIXEL00_80
9311 X4PIXEL01_10
9312 if (Diff(RGBtoYUV[w2], RGBtoYUV[w6]))
9313 {
9314 X4PIXEL02_0
9315 X4PIXEL03_0
9316 X4PIXEL13_0
9317 }
9318 else
9319 {
9320 X4PIXEL02_50
9321 X4PIXEL03_50
9322 X4PIXEL13_50
9323 }
9324 X4PIXEL10_61
9325 X4PIXEL11_30
9326 X4PIXEL12_0
9327 X4PIXEL20_82
9328 X4PIXEL21_32
9329 X4PIXEL22_30
9330 X4PIXEL23_10
9331 X4PIXEL30_82
9332 X4PIXEL31_32
9333 X4PIXEL32_10
9334 X4PIXEL33_80
9335 break;
9336 }
9337 case 217:
9338 {
9339 X4PIXEL00_82
9340 X4PIXEL01_82
9341 X4PIXEL02_61
9342 X4PIXEL03_80
9343 X4PIXEL10_32
9344 X4PIXEL11_32
9345 X4PIXEL12_30
9346 X4PIXEL13_10
9347 X4PIXEL20_10
9348 X4PIXEL21_30
9349 X4PIXEL22_0
9350 if (Diff(RGBtoYUV[w6], RGBtoYUV[w8]))
9351 {
9352 X4PIXEL23_0
9353 X4PIXEL32_0
9354 X4PIXEL33_0
9355 }
9356 else
9357 {
9358 X4PIXEL23_50
9359 X4PIXEL32_50
9360 X4PIXEL33_50
9361 }
9362 X4PIXEL30_80
9363 X4PIXEL31_10
9364 break;
9365 }
9366 case 110:
9367 {
9368 X4PIXEL00_80
9369 X4PIXEL01_10
9370 X4PIXEL02_32
9371 X4PIXEL03_82
9372 X4PIXEL10_10
9373 X4PIXEL11_30
9374 X4PIXEL12_32
9375 X4PIXEL13_82
9376 if (Diff(RGBtoYUV[w8], RGBtoYUV[w4]))
9377 {
9378 X4PIXEL20_0
9379 X4PIXEL30_0
9380 X4PIXEL31_0
9381 }
9382 else
9383 {
9384 X4PIXEL20_50
9385 X4PIXEL30_50
9386 X4PIXEL31_50
9387 }
9388 X4PIXEL21_0
9389 X4PIXEL22_30
9390 X4PIXEL23_61
9391 X4PIXEL32_10
9392 X4PIXEL33_80
9393 break;
9394 }
9395 case 155:
9396 {
9397 if (Diff(RGBtoYUV[w4], RGBtoYUV[w2]))
9398 {
9399 X4PIXEL00_0
9400 X4PIXEL01_0
9401 X4PIXEL10_0
9402 }
9403 else
9404 {
9405 X4PIXEL00_50
9406 X4PIXEL01_50
9407 X4PIXEL10_50
9408 }
9409 X4PIXEL02_10
9410 X4PIXEL03_80
9411 X4PIXEL11_0
9412 X4PIXEL12_30
9413 X4PIXEL13_10
9414 X4PIXEL20_10
9415 X4PIXEL21_30
9416 X4PIXEL22_32
9417 X4PIXEL23_32
9418 X4PIXEL30_80
9419 X4PIXEL31_61
9420 X4PIXEL32_82
9421 X4PIXEL33_82
9422 break;
9423 }
9424 case 188:
9425 {
9426 X4PIXEL00_80
9427 X4PIXEL01_61
9428 X4PIXEL02_81
9429 X4PIXEL03_81
9430 X4PIXEL10_10
9431 X4PIXEL11_30
9432 X4PIXEL12_31
9433 X4PIXEL13_31
9434 X4PIXEL20_31
9435 X4PIXEL21_31
9436 X4PIXEL22_32
9437 X4PIXEL23_32
9438 X4PIXEL30_81
9439 X4PIXEL31_81
9440 X4PIXEL32_82
9441 X4PIXEL33_82
9442 break;
9443 }
9444 case 185:
9445 {
9446 X4PIXEL00_82
9447 X4PIXEL01_82
9448 X4PIXEL02_61
9449 X4PIXEL03_80
9450 X4PIXEL10_32
9451 X4PIXEL11_32
9452 X4PIXEL12_30
9453 X4PIXEL13_10
9454 X4PIXEL20_31
9455 X4PIXEL21_31
9456 X4PIXEL22_32
9457 X4PIXEL23_32
9458 X4PIXEL30_81
9459 X4PIXEL31_81
9460 X4PIXEL32_82
9461 X4PIXEL33_82
9462 break;
9463 }
9464 case 61:
9465 {
9466 X4PIXEL00_82
9467 X4PIXEL01_82
9468 X4PIXEL02_81
9469 X4PIXEL03_81
9470 X4PIXEL10_32
9471 X4PIXEL11_32
9472 X4PIXEL12_31
9473 X4PIXEL13_31
9474 X4PIXEL20_31
9475 X4PIXEL21_31
9476 X4PIXEL22_30
9477 X4PIXEL23_10
9478 X4PIXEL30_81
9479 X4PIXEL31_81
9480 X4PIXEL32_61
9481 X4PIXEL33_80
9482 break;
9483 }
9484 case 157:
9485 {
9486 X4PIXEL00_82
9487 X4PIXEL01_82
9488 X4PIXEL02_81
9489 X4PIXEL03_81
9490 X4PIXEL10_32
9491 X4PIXEL11_32
9492 X4PIXEL12_31
9493 X4PIXEL13_31
9494 X4PIXEL20_10
9495 X4PIXEL21_30
9496 X4PIXEL22_32
9497 X4PIXEL23_32
9498 X4PIXEL30_80
9499 X4PIXEL31_61
9500 X4PIXEL32_82
9501 X4PIXEL33_82
9502 break;
9503 }
9504 case 103:
9505 {
9506 X4PIXEL00_81
9507 X4PIXEL01_31
9508 X4PIXEL02_32
9509 X4PIXEL03_82
9510 X4PIXEL10_81
9511 X4PIXEL11_31
9512 X4PIXEL12_32
9513 X4PIXEL13_82
9514 X4PIXEL20_82
9515 X4PIXEL21_32
9516 X4PIXEL22_30
9517 X4PIXEL23_61
9518 X4PIXEL30_82
9519 X4PIXEL31_32
9520 X4PIXEL32_10
9521 X4PIXEL33_80
9522 break;
9523 }
9524 case 227:
9525 {
9526 X4PIXEL00_81
9527 X4PIXEL01_31
9528 X4PIXEL02_10
9529 X4PIXEL03_80
9530 X4PIXEL10_81
9531 X4PIXEL11_31
9532 X4PIXEL12_30
9533 X4PIXEL13_61
9534 X4PIXEL20_82
9535 X4PIXEL21_32
9536 X4PIXEL22_31
9537 X4PIXEL23_81
9538 X4PIXEL30_82
9539 X4PIXEL31_32
9540 X4PIXEL32_31
9541 X4PIXEL33_81
9542 break;
9543 }
9544 case 230:
9545 {
9546 X4PIXEL00_80
9547 X4PIXEL01_10
9548 X4PIXEL02_32
9549 X4PIXEL03_82
9550 X4PIXEL10_61
9551 X4PIXEL11_30
9552 X4PIXEL12_32
9553 X4PIXEL13_82
9554 X4PIXEL20_82
9555 X4PIXEL21_32
9556 X4PIXEL22_31
9557 X4PIXEL23_81
9558 X4PIXEL30_82
9559 X4PIXEL31_32
9560 X4PIXEL32_31
9561 X4PIXEL33_81
9562 break;
9563 }
9564 case 199:
9565 {
9566 X4PIXEL00_81
9567 X4PIXEL01_31
9568 X4PIXEL02_32
9569 X4PIXEL03_82
9570 X4PIXEL10_81
9571 X4PIXEL11_31
9572 X4PIXEL12_32
9573 X4PIXEL13_82
9574 X4PIXEL20_61
9575 X4PIXEL21_30
9576 X4PIXEL22_31
9577 X4PIXEL23_81
9578 X4PIXEL30_80
9579 X4PIXEL31_10
9580 X4PIXEL32_31
9581 X4PIXEL33_81
9582 break;
9583 }
9584 case 220:
9585 {
9586 X4PIXEL00_80
9587 X4PIXEL01_61
9588 X4PIXEL02_81
9589 X4PIXEL03_81
9590 X4PIXEL10_10
9591 X4PIXEL11_30
9592 X4PIXEL12_31
9593 X4PIXEL13_31
9594 if (Diff(RGBtoYUV[w8], RGBtoYUV[w4]))
9595 {
9596 X4PIXEL20_10
9597 X4PIXEL21_30
9598 X4PIXEL30_80
9599 X4PIXEL31_10
9600 }
9601 else
9602 {
9603 X4PIXEL20_12
9604 X4PIXEL21_0
9605 X4PIXEL30_20
9606 X4PIXEL31_11
9607 }
9608 X4PIXEL22_0
9609 if (Diff(RGBtoYUV[w6], RGBtoYUV[w8]))
9610 {
9611 X4PIXEL23_0
9612 X4PIXEL32_0
9613 X4PIXEL33_0
9614 }
9615 else
9616 {
9617 X4PIXEL23_50
9618 X4PIXEL32_50
9619 X4PIXEL33_50
9620 }
9621 break;
9622 }
9623 case 158:
9624 {
9625 if (Diff(RGBtoYUV[w4], RGBtoYUV[w2]))
9626 {
9627 X4PIXEL00_80
9628 X4PIXEL01_10
9629 X4PIXEL10_10
9630 X4PIXEL11_30
9631 }
9632 else
9633 {
9634 X4PIXEL00_20
9635 X4PIXEL01_12
9636 X4PIXEL10_11
9637 X4PIXEL11_0
9638 }
9639 if (Diff(RGBtoYUV[w2], RGBtoYUV[w6]))
9640 {
9641 X4PIXEL02_0
9642 X4PIXEL03_0
9643 X4PIXEL13_0
9644 }
9645 else
9646 {
9647 X4PIXEL02_50
9648 X4PIXEL03_50
9649 X4PIXEL13_50
9650 }
9651 X4PIXEL12_0
9652 X4PIXEL20_10
9653 X4PIXEL21_30
9654 X4PIXEL22_32
9655 X4PIXEL23_32
9656 X4PIXEL30_80
9657 X4PIXEL31_61
9658 X4PIXEL32_82
9659 X4PIXEL33_82
9660 break;
9661 }
9662 case 234:
9663 {
9664 if (Diff(RGBtoYUV[w4], RGBtoYUV[w2]))
9665 {
9666 X4PIXEL00_80
9667 X4PIXEL01_10
9668 X4PIXEL10_10
9669 X4PIXEL11_30
9670 }
9671 else
9672 {
9673 X4PIXEL00_20
9674 X4PIXEL01_12
9675 X4PIXEL10_11
9676 X4PIXEL11_0
9677 }
9678 X4PIXEL02_10
9679 X4PIXEL03_80
9680 X4PIXEL12_30
9681 X4PIXEL13_61
9682 if (Diff(RGBtoYUV[w8], RGBtoYUV[w4]))
9683 {
9684 X4PIXEL20_0
9685 X4PIXEL30_0
9686 X4PIXEL31_0
9687 }
9688 else
9689 {
9690 X4PIXEL20_50
9691 X4PIXEL30_50
9692 X4PIXEL31_50
9693 }
9694 X4PIXEL21_0
9695 X4PIXEL22_31
9696 X4PIXEL23_81
9697 X4PIXEL32_31
9698 X4PIXEL33_81
9699 break;
9700 }
9701 case 242:
9702 {
9703 X4PIXEL00_80
9704 X4PIXEL01_10
9705 if (Diff(RGBtoYUV[w2], RGBtoYUV[w6]))
9706 {
9707 X4PIXEL02_10
9708 X4PIXEL03_80
9709 X4PIXEL12_30
9710 X4PIXEL13_10
9711 }
9712 else
9713 {
9714 X4PIXEL02_11
9715 X4PIXEL03_20
9716 X4PIXEL12_0
9717 X4PIXEL13_12
9718 }
9719 X4PIXEL10_61
9720 X4PIXEL11_30
9721 X4PIXEL20_82
9722 X4PIXEL21_32
9723 X4PIXEL22_0
9724 if (Diff(RGBtoYUV[w6], RGBtoYUV[w8]))
9725 {
9726 X4PIXEL23_0
9727 X4PIXEL32_0
9728 X4PIXEL33_0
9729 }
9730 else
9731 {
9732 X4PIXEL23_50
9733 X4PIXEL32_50
9734 X4PIXEL33_50
9735 }
9736 X4PIXEL30_82
9737 X4PIXEL31_32
9738 break;
9739 }
9740 case 59:
9741 {
9742 if (Diff(RGBtoYUV[w4], RGBtoYUV[w2]))
9743 {
9744 X4PIXEL00_0
9745 X4PIXEL01_0
9746 X4PIXEL10_0
9747 }
9748 else
9749 {
9750 X4PIXEL00_50
9751 X4PIXEL01_50
9752 X4PIXEL10_50
9753 }
9754 if (Diff(RGBtoYUV[w2], RGBtoYUV[w6]))
9755 {
9756 X4PIXEL02_10
9757 X4PIXEL03_80
9758 X4PIXEL12_30
9759 X4PIXEL13_10
9760 }
9761 else
9762 {
9763 X4PIXEL02_11
9764 X4PIXEL03_20
9765 X4PIXEL12_0
9766 X4PIXEL13_12
9767 }
9768 X4PIXEL11_0
9769 X4PIXEL20_31
9770 X4PIXEL21_31
9771 X4PIXEL22_30
9772 X4PIXEL23_10
9773 X4PIXEL30_81
9774 X4PIXEL31_81
9775 X4PIXEL32_61
9776 X4PIXEL33_80
9777 break;
9778 }
9779 case 121:
9780 {
9781 X4PIXEL00_82
9782 X4PIXEL01_82
9783 X4PIXEL02_61
9784 X4PIXEL03_80
9785 X4PIXEL10_32
9786 X4PIXEL11_32
9787 X4PIXEL12_30
9788 X4PIXEL13_10
9789 if (Diff(RGBtoYUV[w8], RGBtoYUV[w4]))
9790 {
9791 X4PIXEL20_0
9792 X4PIXEL30_0
9793 X4PIXEL31_0
9794 }
9795 else
9796 {
9797 X4PIXEL20_50
9798 X4PIXEL30_50
9799 X4PIXEL31_50
9800 }
9801 X4PIXEL21_0
9802 if (Diff(RGBtoYUV[w6], RGBtoYUV[w8]))
9803 {
9804 X4PIXEL22_30
9805 X4PIXEL23_10
9806 X4PIXEL32_10
9807 X4PIXEL33_80
9808 }
9809 else
9810 {
9811 X4PIXEL22_0
9812 X4PIXEL23_11
9813 X4PIXEL32_12
9814 X4PIXEL33_20
9815 }
9816 break;
9817 }
9818 case 87:
9819 {
9820 X4PIXEL00_81
9821 X4PIXEL01_31
9822 if (Diff(RGBtoYUV[w2], RGBtoYUV[w6]))
9823 {
9824 X4PIXEL02_0
9825 X4PIXEL03_0
9826 X4PIXEL13_0
9827 }
9828 else
9829 {
9830 X4PIXEL02_50
9831 X4PIXEL03_50
9832 X4PIXEL13_50
9833 }
9834 X4PIXEL10_81
9835 X4PIXEL11_31
9836 X4PIXEL12_0
9837 X4PIXEL20_61
9838 X4PIXEL21_30
9839 if (Diff(RGBtoYUV[w6], RGBtoYUV[w8]))
9840 {
9841 X4PIXEL22_30
9842 X4PIXEL23_10
9843 X4PIXEL32_10
9844 X4PIXEL33_80
9845 }
9846 else
9847 {
9848 X4PIXEL22_0
9849 X4PIXEL23_11
9850 X4PIXEL32_12
9851 X4PIXEL33_20
9852 }
9853 X4PIXEL30_80
9854 X4PIXEL31_10
9855 break;
9856 }
9857 case 79:
9858 {
9859 if (Diff(RGBtoYUV[w4], RGBtoYUV[w2]))
9860 {
9861 X4PIXEL00_0
9862 X4PIXEL01_0
9863 X4PIXEL10_0
9864 }
9865 else
9866 {
9867 X4PIXEL00_50
9868 X4PIXEL01_50
9869 X4PIXEL10_50
9870 }
9871 X4PIXEL02_32
9872 X4PIXEL03_82
9873 X4PIXEL11_0
9874 X4PIXEL12_32
9875 X4PIXEL13_82
9876 if (Diff(RGBtoYUV[w8], RGBtoYUV[w4]))
9877 {
9878 X4PIXEL20_10
9879 X4PIXEL21_30
9880 X4PIXEL30_80
9881 X4PIXEL31_10
9882 }
9883 else
9884 {
9885 X4PIXEL20_12
9886 X4PIXEL21_0
9887 X4PIXEL30_20
9888 X4PIXEL31_11
9889 }
9890 X4PIXEL22_30
9891 X4PIXEL23_61
9892 X4PIXEL32_10
9893 X4PIXEL33_80
9894 break;
9895 }
9896 case 122:
9897 {
9898 if (Diff(RGBtoYUV[w4], RGBtoYUV[w2]))
9899 {
9900 X4PIXEL00_80
9901 X4PIXEL01_10
9902 X4PIXEL10_10
9903 X4PIXEL11_30
9904 }
9905 else
9906 {
9907 X4PIXEL00_20
9908 X4PIXEL01_12
9909 X4PIXEL10_11
9910 X4PIXEL11_0
9911 }
9912 if (Diff(RGBtoYUV[w2], RGBtoYUV[w6]))
9913 {
9914 X4PIXEL02_10
9915 X4PIXEL03_80
9916 X4PIXEL12_30
9917 X4PIXEL13_10
9918 }
9919 else
9920 {
9921 X4PIXEL02_11
9922 X4PIXEL03_20
9923 X4PIXEL12_0
9924 X4PIXEL13_12
9925 }
9926 if (Diff(RGBtoYUV[w8], RGBtoYUV[w4]))
9927 {
9928 X4PIXEL20_0
9929 X4PIXEL30_0
9930 X4PIXEL31_0
9931 }
9932 else
9933 {
9934 X4PIXEL20_50
9935 X4PIXEL30_50
9936 X4PIXEL31_50
9937 }
9938 X4PIXEL21_0
9939 if (Diff(RGBtoYUV[w6], RGBtoYUV[w8]))
9940 {
9941 X4PIXEL22_30
9942 X4PIXEL23_10
9943 X4PIXEL32_10
9944 X4PIXEL33_80
9945 }
9946 else
9947 {
9948 X4PIXEL22_0
9949 X4PIXEL23_11
9950 X4PIXEL32_12
9951 X4PIXEL33_20
9952 }
9953 break;
9954 }
9955 case 94:
9956 {
9957 if (Diff(RGBtoYUV[w4], RGBtoYUV[w2]))
9958 {
9959 X4PIXEL00_80
9960 X4PIXEL01_10
9961 X4PIXEL10_10
9962 X4PIXEL11_30
9963 }
9964 else
9965 {
9966 X4PIXEL00_20
9967 X4PIXEL01_12
9968 X4PIXEL10_11
9969 X4PIXEL11_0
9970 }
9971 if (Diff(RGBtoYUV[w2], RGBtoYUV[w6]))
9972 {
9973 X4PIXEL02_0
9974 X4PIXEL03_0
9975 X4PIXEL13_0
9976 }
9977 else
9978 {
9979 X4PIXEL02_50
9980 X4PIXEL03_50
9981 X4PIXEL13_50
9982 }
9983 X4PIXEL12_0
9984 if (Diff(RGBtoYUV[w8], RGBtoYUV[w4]))
9985 {
9986 X4PIXEL20_10
9987 X4PIXEL21_30
9988 X4PIXEL30_80
9989 X4PIXEL31_10
9990 }
9991 else
9992 {
9993 X4PIXEL20_12
9994 X4PIXEL21_0
9995 X4PIXEL30_20
9996 X4PIXEL31_11
9997 }
9998 if (Diff(RGBtoYUV[w6], RGBtoYUV[w8]))
9999 {
10000 X4PIXEL22_30
10001 X4PIXEL23_10
10002 X4PIXEL32_10
10003 X4PIXEL33_80
10004 }
10005 else
10006 {
10007 X4PIXEL22_0
10008 X4PIXEL23_11
10009 X4PIXEL32_12
10010 X4PIXEL33_20
10011 }
10012 break;
10013 }
10014 case 218:
10015 {
10016 if (Diff(RGBtoYUV[w4], RGBtoYUV[w2]))
10017 {
10018 X4PIXEL00_80
10019 X4PIXEL01_10
10020 X4PIXEL10_10
10021 X4PIXEL11_30
10022 }
10023 else
10024 {
10025 X4PIXEL00_20
10026 X4PIXEL01_12
10027 X4PIXEL10_11
10028 X4PIXEL11_0
10029 }
10030 if (Diff(RGBtoYUV[w2], RGBtoYUV[w6]))
10031 {
10032 X4PIXEL02_10
10033 X4PIXEL03_80
10034 X4PIXEL12_30
10035 X4PIXEL13_10
10036 }
10037 else
10038 {
10039 X4PIXEL02_11
10040 X4PIXEL03_20
10041 X4PIXEL12_0
10042 X4PIXEL13_12
10043 }
10044 if (Diff(RGBtoYUV[w8], RGBtoYUV[w4]))
10045 {
10046 X4PIXEL20_10
10047 X4PIXEL21_30
10048 X4PIXEL30_80
10049 X4PIXEL31_10
10050 }
10051 else
10052 {
10053 X4PIXEL20_12
10054 X4PIXEL21_0
10055 X4PIXEL30_20
10056 X4PIXEL31_11
10057 }
10058 X4PIXEL22_0
10059 if (Diff(RGBtoYUV[w6], RGBtoYUV[w8]))
10060 {
10061 X4PIXEL23_0
10062 X4PIXEL32_0
10063 X4PIXEL33_0
10064 }
10065 else
10066 {
10067 X4PIXEL23_50
10068 X4PIXEL32_50
10069 X4PIXEL33_50
10070 }
10071 break;
10072 }
10073 case 91:
10074 {
10075 if (Diff(RGBtoYUV[w4], RGBtoYUV[w2]))
10076 {
10077 X4PIXEL00_0
10078 X4PIXEL01_0
10079 X4PIXEL10_0
10080 }
10081 else
10082 {
10083 X4PIXEL00_50
10084 X4PIXEL01_50
10085 X4PIXEL10_50
10086 }
10087 if (Diff(RGBtoYUV[w2], RGBtoYUV[w6]))
10088 {
10089 X4PIXEL02_10
10090 X4PIXEL03_80
10091 X4PIXEL12_30
10092 X4PIXEL13_10
10093 }
10094 else
10095 {
10096 X4PIXEL02_11
10097 X4PIXEL03_20
10098 X4PIXEL12_0
10099 X4PIXEL13_12
10100 }
10101 X4PIXEL11_0
10102 if (Diff(RGBtoYUV[w8], RGBtoYUV[w4]))
10103 {
10104 X4PIXEL20_10
10105 X4PIXEL21_30
10106 X4PIXEL30_80
10107 X4PIXEL31_10
10108 }
10109 else
10110 {
10111 X4PIXEL20_12
10112 X4PIXEL21_0
10113 X4PIXEL30_20
10114 X4PIXEL31_11
10115 }
10116 if (Diff(RGBtoYUV[w6], RGBtoYUV[w8]))
10117 {
10118 X4PIXEL22_30
10119 X4PIXEL23_10
10120 X4PIXEL32_10
10121 X4PIXEL33_80
10122 }
10123 else
10124 {
10125 X4PIXEL22_0
10126 X4PIXEL23_11
10127 X4PIXEL32_12
10128 X4PIXEL33_20
10129 }
10130 break;
10131 }
10132 case 229:
10133 {
10134 X4PIXEL00_20
10135 X4PIXEL01_60
10136 X4PIXEL02_60
10137 X4PIXEL03_20
10138 X4PIXEL10_60
10139 X4PIXEL11_70
10140 X4PIXEL12_70
10141 X4PIXEL13_60
10142 X4PIXEL20_82
10143 X4PIXEL21_32
10144 X4PIXEL22_31
10145 X4PIXEL23_81
10146 X4PIXEL30_82
10147 X4PIXEL31_32
10148 X4PIXEL32_31
10149 X4PIXEL33_81
10150 break;
10151 }
10152 case 167:
10153 {
10154 X4PIXEL00_81
10155 X4PIXEL01_31
10156 X4PIXEL02_32
10157 X4PIXEL03_82
10158 X4PIXEL10_81
10159 X4PIXEL11_31
10160 X4PIXEL12_32
10161 X4PIXEL13_82
10162 X4PIXEL20_60
10163 X4PIXEL21_70
10164 X4PIXEL22_70
10165 X4PIXEL23_60
10166 X4PIXEL30_20
10167 X4PIXEL31_60
10168 X4PIXEL32_60
10169 X4PIXEL33_20
10170 break;
10171 }
10172 case 173:
10173 {
10174 X4PIXEL00_82
10175 X4PIXEL01_82
10176 X4PIXEL02_60
10177 X4PIXEL03_20
10178 X4PIXEL10_32
10179 X4PIXEL11_32
10180 X4PIXEL12_70
10181 X4PIXEL13_60
10182 X4PIXEL20_31
10183 X4PIXEL21_31
10184 X4PIXEL22_70
10185 X4PIXEL23_60
10186 X4PIXEL30_81
10187 X4PIXEL31_81
10188 X4PIXEL32_60
10189 X4PIXEL33_20
10190 break;
10191 }
10192 case 181:
10193 {
10194 X4PIXEL00_20
10195 X4PIXEL01_60
10196 X4PIXEL02_81
10197 X4PIXEL03_81
10198 X4PIXEL10_60
10199 X4PIXEL11_70
10200 X4PIXEL12_31
10201 X4PIXEL13_31
10202 X4PIXEL20_60
10203 X4PIXEL21_70
10204 X4PIXEL22_32
10205 X4PIXEL23_32
10206 X4PIXEL30_20
10207 X4PIXEL31_60
10208 X4PIXEL32_82
10209 X4PIXEL33_82
10210 break;
10211 }
10212 case 186:
10213 {
10214 if (Diff(RGBtoYUV[w4], RGBtoYUV[w2]))
10215 {
10216 X4PIXEL00_80
10217 X4PIXEL01_10
10218 X4PIXEL10_10
10219 X4PIXEL11_30
10220 }
10221 else
10222 {
10223 X4PIXEL00_20
10224 X4PIXEL01_12
10225 X4PIXEL10_11
10226 X4PIXEL11_0
10227 }
10228 if (Diff(RGBtoYUV[w2], RGBtoYUV[w6]))
10229 {
10230 X4PIXEL02_10
10231 X4PIXEL03_80
10232 X4PIXEL12_30
10233 X4PIXEL13_10
10234 }
10235 else
10236 {
10237 X4PIXEL02_11
10238 X4PIXEL03_20
10239 X4PIXEL12_0
10240 X4PIXEL13_12
10241 }
10242 X4PIXEL20_31
10243 X4PIXEL21_31
10244 X4PIXEL22_32
10245 X4PIXEL23_32
10246 X4PIXEL30_81
10247 X4PIXEL31_81
10248 X4PIXEL32_82
10249 X4PIXEL33_82
10250 break;
10251 }
10252 case 115:
10253 {
10254 X4PIXEL00_81
10255 X4PIXEL01_31
10256 if (Diff(RGBtoYUV[w2], RGBtoYUV[w6]))
10257 {
10258 X4PIXEL02_10
10259 X4PIXEL03_80
10260 X4PIXEL12_30
10261 X4PIXEL13_10
10262 }
10263 else
10264 {
10265 X4PIXEL02_11
10266 X4PIXEL03_20
10267 X4PIXEL12_0
10268 X4PIXEL13_12
10269 }
10270 X4PIXEL10_81
10271 X4PIXEL11_31
10272 X4PIXEL20_82
10273 X4PIXEL21_32
10274 if (Diff(RGBtoYUV[w6], RGBtoYUV[w8]))
10275 {
10276 X4PIXEL22_30
10277 X4PIXEL23_10
10278 X4PIXEL32_10
10279 X4PIXEL33_80
10280 }
10281 else
10282 {
10283 X4PIXEL22_0
10284 X4PIXEL23_11
10285 X4PIXEL32_12
10286 X4PIXEL33_20
10287 }
10288 X4PIXEL30_82
10289 X4PIXEL31_32
10290 break;
10291 }
10292 case 93:
10293 {
10294 X4PIXEL00_82
10295 X4PIXEL01_82
10296 X4PIXEL02_81
10297 X4PIXEL03_81
10298 X4PIXEL10_32
10299 X4PIXEL11_32
10300 X4PIXEL12_31
10301 X4PIXEL13_31
10302 if (Diff(RGBtoYUV[w8], RGBtoYUV[w4]))
10303 {
10304 X4PIXEL20_10
10305 X4PIXEL21_30
10306 X4PIXEL30_80
10307 X4PIXEL31_10
10308 }
10309 else
10310 {
10311 X4PIXEL20_12
10312 X4PIXEL21_0
10313 X4PIXEL30_20
10314 X4PIXEL31_11
10315 }
10316 if (Diff(RGBtoYUV[w6], RGBtoYUV[w8]))
10317 {
10318 X4PIXEL22_30
10319 X4PIXEL23_10
10320 X4PIXEL32_10
10321 X4PIXEL33_80
10322 }
10323 else
10324 {
10325 X4PIXEL22_0
10326 X4PIXEL23_11
10327 X4PIXEL32_12
10328 X4PIXEL33_20
10329 }
10330 break;
10331 }
10332 case 206:
10333 {
10334 if (Diff(RGBtoYUV[w4], RGBtoYUV[w2]))
10335 {
10336 X4PIXEL00_80
10337 X4PIXEL01_10
10338 X4PIXEL10_10
10339 X4PIXEL11_30
10340 }
10341 else
10342 {
10343 X4PIXEL00_20
10344 X4PIXEL01_12
10345 X4PIXEL10_11
10346 X4PIXEL11_0
10347 }
10348 X4PIXEL02_32
10349 X4PIXEL03_82
10350 X4PIXEL12_32
10351 X4PIXEL13_82
10352 if (Diff(RGBtoYUV[w8], RGBtoYUV[w4]))
10353 {
10354 X4PIXEL20_10
10355 X4PIXEL21_30
10356 X4PIXEL30_80
10357 X4PIXEL31_10
10358 }
10359 else
10360 {
10361 X4PIXEL20_12
10362 X4PIXEL21_0
10363 X4PIXEL30_20
10364 X4PIXEL31_11
10365 }
10366 X4PIXEL22_31
10367 X4PIXEL23_81
10368 X4PIXEL32_31
10369 X4PIXEL33_81
10370 break;
10371 }
10372 case 205:
10373 case 201:
10374 {
10375 X4PIXEL00_82
10376 X4PIXEL01_82
10377 X4PIXEL02_60
10378 X4PIXEL03_20
10379 X4PIXEL10_32
10380 X4PIXEL11_32
10381 X4PIXEL12_70
10382 X4PIXEL13_60
10383 if (Diff(RGBtoYUV[w8], RGBtoYUV[w4]))
10384 {
10385 X4PIXEL20_10
10386 X4PIXEL21_30
10387 X4PIXEL30_80
10388 X4PIXEL31_10
10389 }
10390 else
10391 {
10392 X4PIXEL20_12
10393 X4PIXEL21_0
10394 X4PIXEL30_20
10395 X4PIXEL31_11
10396 }
10397 X4PIXEL22_31
10398 X4PIXEL23_81
10399 X4PIXEL32_31
10400 X4PIXEL33_81
10401 break;
10402 }
10403 case 174:
10404 case 46:
10405 {
10406 if (Diff(RGBtoYUV[w4], RGBtoYUV[w2]))
10407 {
10408 X4PIXEL00_80
10409 X4PIXEL01_10
10410 X4PIXEL10_10
10411 X4PIXEL11_30
10412 }
10413 else
10414 {
10415 X4PIXEL00_20
10416 X4PIXEL01_12
10417 X4PIXEL10_11
10418 X4PIXEL11_0
10419 }
10420 X4PIXEL02_32
10421 X4PIXEL03_82
10422 X4PIXEL12_32
10423 X4PIXEL13_82
10424 X4PIXEL20_31
10425 X4PIXEL21_31
10426 X4PIXEL22_70
10427 X4PIXEL23_60
10428 X4PIXEL30_81
10429 X4PIXEL31_81
10430 X4PIXEL32_60
10431 X4PIXEL33_20
10432 break;
10433 }
10434 case 179:
10435 case 147:
10436 {
10437 X4PIXEL00_81
10438 X4PIXEL01_31
10439 if (Diff(RGBtoYUV[w2], RGBtoYUV[w6]))
10440 {
10441 X4PIXEL02_10
10442 X4PIXEL03_80
10443 X4PIXEL12_30
10444 X4PIXEL13_10
10445 }
10446 else
10447 {
10448 X4PIXEL02_11
10449 X4PIXEL03_20
10450 X4PIXEL12_0
10451 X4PIXEL13_12
10452 }
10453 X4PIXEL10_81
10454 X4PIXEL11_31
10455 X4PIXEL20_60
10456 X4PIXEL21_70
10457 X4PIXEL22_32
10458 X4PIXEL23_32
10459 X4PIXEL30_20
10460 X4PIXEL31_60
10461 X4PIXEL32_82
10462 X4PIXEL33_82
10463 break;
10464 }
10465 case 117:
10466 case 116:
10467 {
10468 X4PIXEL00_20
10469 X4PIXEL01_60
10470 X4PIXEL02_81
10471 X4PIXEL03_81
10472 X4PIXEL10_60
10473 X4PIXEL11_70
10474 X4PIXEL12_31
10475 X4PIXEL13_31
10476 X4PIXEL20_82
10477 X4PIXEL21_32
10478 if (Diff(RGBtoYUV[w6], RGBtoYUV[w8]))
10479 {
10480 X4PIXEL22_30
10481 X4PIXEL23_10
10482 X4PIXEL32_10
10483 X4PIXEL33_80
10484 }
10485 else
10486 {
10487 X4PIXEL22_0
10488 X4PIXEL23_11
10489 X4PIXEL32_12
10490 X4PIXEL33_20
10491 }
10492 X4PIXEL30_82
10493 X4PIXEL31_32
10494 break;
10495 }
10496 case 189:
10497 {
10498 X4PIXEL00_82
10499 X4PIXEL01_82
10500 X4PIXEL02_81
10501 X4PIXEL03_81
10502 X4PIXEL10_32
10503 X4PIXEL11_32
10504 X4PIXEL12_31
10505 X4PIXEL13_31
10506 X4PIXEL20_31
10507 X4PIXEL21_31
10508 X4PIXEL22_32
10509 X4PIXEL23_32
10510 X4PIXEL30_81
10511 X4PIXEL31_81
10512 X4PIXEL32_82
10513 X4PIXEL33_82
10514 break;
10515 }
10516 case 231:
10517 {
10518 X4PIXEL00_81
10519 X4PIXEL01_31
10520 X4PIXEL02_32
10521 X4PIXEL03_82
10522 X4PIXEL10_81
10523 X4PIXEL11_31
10524 X4PIXEL12_32
10525 X4PIXEL13_82
10526 X4PIXEL20_82
10527 X4PIXEL21_32
10528 X4PIXEL22_31
10529 X4PIXEL23_81
10530 X4PIXEL30_82
10531 X4PIXEL31_32
10532 X4PIXEL32_31
10533 X4PIXEL33_81
10534 break;
10535 }
10536 case 126:
10537 {
10538 X4PIXEL00_80
10539 X4PIXEL01_10
10540 if (Diff(RGBtoYUV[w2], RGBtoYUV[w6]))
10541 {
10542 X4PIXEL02_0
10543 X4PIXEL03_0
10544 X4PIXEL13_0
10545 }
10546 else
10547 {
10548 X4PIXEL02_50
10549 X4PIXEL03_50
10550 X4PIXEL13_50
10551 }
10552 X4PIXEL10_10
10553 X4PIXEL11_30
10554 X4PIXEL12_0
10555 if (Diff(RGBtoYUV[w8], RGBtoYUV[w4]))
10556 {
10557 X4PIXEL20_0
10558 X4PIXEL30_0
10559 X4PIXEL31_0
10560 }
10561 else
10562 {
10563 X4PIXEL20_50
10564 X4PIXEL30_50
10565 X4PIXEL31_50
10566 }
10567 X4PIXEL21_0
10568 X4PIXEL22_30
10569 X4PIXEL23_10
10570 X4PIXEL32_10
10571 X4PIXEL33_80
10572 break;
10573 }
10574 case 219:
10575 {
10576 if (Diff(RGBtoYUV[w4], RGBtoYUV[w2]))
10577 {
10578 X4PIXEL00_0
10579 X4PIXEL01_0
10580 X4PIXEL10_0
10581 }
10582 else
10583 {
10584 X4PIXEL00_50
10585 X4PIXEL01_50
10586 X4PIXEL10_50
10587 }
10588 X4PIXEL02_10
10589 X4PIXEL03_80
10590 X4PIXEL11_0
10591 X4PIXEL12_30
10592 X4PIXEL13_10
10593 X4PIXEL20_10
10594 X4PIXEL21_30
10595 X4PIXEL22_0
10596 if (Diff(RGBtoYUV[w6], RGBtoYUV[w8]))
10597 {
10598 X4PIXEL23_0
10599 X4PIXEL32_0
10600 X4PIXEL33_0
10601 }
10602 else
10603 {
10604 X4PIXEL23_50
10605 X4PIXEL32_50
10606 X4PIXEL33_50
10607 }
10608 X4PIXEL30_80
10609 X4PIXEL31_10
10610 break;
10611 }
10612 case 125:
10613 {
10614 if (Diff(RGBtoYUV[w8], RGBtoYUV[w4]))
10615 {
10616 X4PIXEL00_82
10617 X4PIXEL10_32
10618 X4PIXEL20_0
10619 X4PIXEL21_0
10620 X4PIXEL30_0
10621 X4PIXEL31_0
10622 }
10623 else
10624 {
10625 X4PIXEL00_11
10626 X4PIXEL10_13
10627 X4PIXEL20_83
10628 X4PIXEL21_70
10629 X4PIXEL30_50
10630 X4PIXEL31_21
10631 }
10632 X4PIXEL01_82
10633 X4PIXEL02_81
10634 X4PIXEL03_81
10635 X4PIXEL11_32
10636 X4PIXEL12_31
10637 X4PIXEL13_31
10638 X4PIXEL22_30
10639 X4PIXEL23_10
10640 X4PIXEL32_10
10641 X4PIXEL33_80
10642 break;
10643 }
10644 case 221:
10645 {
10646 X4PIXEL00_82
10647 X4PIXEL01_82
10648 X4PIXEL02_81
10649 if (Diff(RGBtoYUV[w6], RGBtoYUV[w8]))
10650 {
10651 X4PIXEL03_81
10652 X4PIXEL13_31
10653 X4PIXEL22_0
10654 X4PIXEL23_0
10655 X4PIXEL32_0
10656 X4PIXEL33_0
10657 }
10658 else
10659 {
10660 X4PIXEL03_12
10661 X4PIXEL13_14
10662 X4PIXEL22_70
10663 X4PIXEL23_83
10664 X4PIXEL32_21
10665 X4PIXEL33_50
10666 }
10667 X4PIXEL10_32
10668 X4PIXEL11_32
10669 X4PIXEL12_31
10670 X4PIXEL20_10
10671 X4PIXEL21_30
10672 X4PIXEL30_80
10673 X4PIXEL31_10
10674 break;
10675 }
10676 case 207:
10677 {
10678 if (Diff(RGBtoYUV[w4], RGBtoYUV[w2]))
10679 {
10680 X4PIXEL00_0
10681 X4PIXEL01_0
10682 X4PIXEL02_32
10683 X4PIXEL03_82
10684 X4PIXEL10_0
10685 X4PIXEL11_0
10686 }
10687 else
10688 {
10689 X4PIXEL00_50
10690 X4PIXEL01_83
10691 X4PIXEL02_13
10692 X4PIXEL03_11
10693 X4PIXEL10_21
10694 X4PIXEL11_70
10695 }
10696 X4PIXEL12_32
10697 X4PIXEL13_82
10698 X4PIXEL20_10
10699 X4PIXEL21_30
10700 X4PIXEL22_31
10701 X4PIXEL23_81
10702 X4PIXEL30_80
10703 X4PIXEL31_10
10704 X4PIXEL32_31
10705 X4PIXEL33_81
10706 break;
10707 }
10708 case 238:
10709 {
10710 X4PIXEL00_80
10711 X4PIXEL01_10
10712 X4PIXEL02_32
10713 X4PIXEL03_82
10714 X4PIXEL10_10
10715 X4PIXEL11_30
10716 X4PIXEL12_32
10717 X4PIXEL13_82
10718 if (Diff(RGBtoYUV[w8], RGBtoYUV[w4]))
10719 {
10720 X4PIXEL20_0
10721 X4PIXEL21_0
10722 X4PIXEL30_0
10723 X4PIXEL31_0
10724 X4PIXEL32_31
10725 X4PIXEL33_81
10726 }
10727 else
10728 {
10729 X4PIXEL20_21
10730 X4PIXEL21_70
10731 X4PIXEL30_50
10732 X4PIXEL31_83
10733 X4PIXEL32_14
10734 X4PIXEL33_12
10735 }
10736 X4PIXEL22_31
10737 X4PIXEL23_81
10738 break;
10739 }
10740 case 190:
10741 {
10742 X4PIXEL00_80
10743 X4PIXEL01_10
10744 if (Diff(RGBtoYUV[w2], RGBtoYUV[w6]))
10745 {
10746 X4PIXEL02_0
10747 X4PIXEL03_0
10748 X4PIXEL12_0
10749 X4PIXEL13_0
10750 X4PIXEL23_32
10751 X4PIXEL33_82
10752 }
10753 else
10754 {
10755 X4PIXEL02_21
10756 X4PIXEL03_50
10757 X4PIXEL12_70
10758 X4PIXEL13_83
10759 X4PIXEL23_13
10760 X4PIXEL33_11
10761 }
10762 X4PIXEL10_10
10763 X4PIXEL11_30
10764 X4PIXEL20_31
10765 X4PIXEL21_31
10766 X4PIXEL22_32
10767 X4PIXEL30_81
10768 X4PIXEL31_81
10769 X4PIXEL32_82
10770 break;
10771 }
10772 case 187:
10773 {
10774 if (Diff(RGBtoYUV[w4], RGBtoYUV[w2]))
10775 {
10776 X4PIXEL00_0
10777 X4PIXEL01_0
10778 X4PIXEL10_0
10779 X4PIXEL11_0
10780 X4PIXEL20_31
10781 X4PIXEL30_81
10782 }
10783 else
10784 {
10785 X4PIXEL00_50
10786 X4PIXEL01_21
10787 X4PIXEL10_83
10788 X4PIXEL11_70
10789 X4PIXEL20_14
10790 X4PIXEL30_12
10791 }
10792 X4PIXEL02_10
10793 X4PIXEL03_80
10794 X4PIXEL12_30
10795 X4PIXEL13_10
10796 X4PIXEL21_31
10797 X4PIXEL22_32
10798 X4PIXEL23_32
10799 X4PIXEL31_81
10800 X4PIXEL32_82
10801 X4PIXEL33_82
10802 break;
10803 }
10804 case 243:
10805 {
10806 X4PIXEL00_81
10807 X4PIXEL01_31
10808 X4PIXEL02_10
10809 X4PIXEL03_80
10810 X4PIXEL10_81
10811 X4PIXEL11_31
10812 X4PIXEL12_30
10813 X4PIXEL13_10
10814 X4PIXEL20_82
10815 X4PIXEL21_32
10816 if (Diff(RGBtoYUV[w6], RGBtoYUV[w8]))
10817 {
10818 X4PIXEL22_0
10819 X4PIXEL23_0
10820 X4PIXEL30_82
10821 X4PIXEL31_32
10822 X4PIXEL32_0
10823 X4PIXEL33_0
10824 }
10825 else
10826 {
10827 X4PIXEL22_70
10828 X4PIXEL23_21
10829 X4PIXEL30_11
10830 X4PIXEL31_13
10831 X4PIXEL32_83
10832 X4PIXEL33_50
10833 }
10834 break;
10835 }
10836 case 119:
10837 {
10838 if (Diff(RGBtoYUV[w2], RGBtoYUV[w6]))
10839 {
10840 X4PIXEL00_81
10841 X4PIXEL01_31
10842 X4PIXEL02_0
10843 X4PIXEL03_0
10844 X4PIXEL12_0
10845 X4PIXEL13_0
10846 }
10847 else
10848 {
10849 X4PIXEL00_12
10850 X4PIXEL01_14
10851 X4PIXEL02_83
10852 X4PIXEL03_50
10853 X4PIXEL12_70
10854 X4PIXEL13_21
10855 }
10856 X4PIXEL10_81
10857 X4PIXEL11_31
10858 X4PIXEL20_82
10859 X4PIXEL21_32
10860 X4PIXEL22_30
10861 X4PIXEL23_10
10862 X4PIXEL30_82
10863 X4PIXEL31_32
10864 X4PIXEL32_10
10865 X4PIXEL33_80
10866 break;
10867 }
10868 case 237:
10869 case 233:
10870 {
10871 X4PIXEL00_82
10872 X4PIXEL01_82
10873 X4PIXEL02_60
10874 X4PIXEL03_20
10875 X4PIXEL10_32
10876 X4PIXEL11_32
10877 X4PIXEL12_70
10878 X4PIXEL13_60
10879 X4PIXEL20_0
10880 X4PIXEL21_0
10881 X4PIXEL22_31
10882 X4PIXEL23_81
10883 if (Diff(RGBtoYUV[w8], RGBtoYUV[w4]))
10884 {
10885 X4PIXEL30_0
10886 }
10887 else
10888 {
10889 X4PIXEL30_20
10890 }
10891 X4PIXEL31_0
10892 X4PIXEL32_31
10893 X4PIXEL33_81
10894 break;
10895 }
10896 case 175:
10897 case 47:
10898 {
10899 if (Diff(RGBtoYUV[w4], RGBtoYUV[w2]))
10900 {
10901 X4PIXEL00_0
10902 }
10903 else
10904 {
10905 X4PIXEL00_20
10906 }
10907 X4PIXEL01_0
10908 X4PIXEL02_32
10909 X4PIXEL03_82
10910 X4PIXEL10_0
10911 X4PIXEL11_0
10912 X4PIXEL12_32
10913 X4PIXEL13_82
10914 X4PIXEL20_31
10915 X4PIXEL21_31
10916 X4PIXEL22_70
10917 X4PIXEL23_60
10918 X4PIXEL30_81
10919 X4PIXEL31_81
10920 X4PIXEL32_60
10921 X4PIXEL33_20
10922 break;
10923 }
10924 case 183:
10925 case 151:
10926 {
10927 X4PIXEL00_81
10928 X4PIXEL01_31
10929 X4PIXEL02_0
10930 if (Diff(RGBtoYUV[w2], RGBtoYUV[w6]))
10931 {
10932 X4PIXEL03_0
10933 }
10934 else
10935 {
10936 X4PIXEL03_20
10937 }
10938 X4PIXEL10_81
10939 X4PIXEL11_31
10940 X4PIXEL12_0
10941 X4PIXEL13_0
10942 X4PIXEL20_60
10943 X4PIXEL21_70
10944 X4PIXEL22_32
10945 X4PIXEL23_32
10946 X4PIXEL30_20
10947 X4PIXEL31_60
10948 X4PIXEL32_82
10949 X4PIXEL33_82
10950 break;
10951 }
10952 case 245:
10953 case 244:
10954 {
10955 X4PIXEL00_20
10956 X4PIXEL01_60
10957 X4PIXEL02_81
10958 X4PIXEL03_81
10959 X4PIXEL10_60
10960 X4PIXEL11_70
10961 X4PIXEL12_31
10962 X4PIXEL13_31
10963 X4PIXEL20_82
10964 X4PIXEL21_32
10965 X4PIXEL22_0
10966 X4PIXEL23_0
10967 X4PIXEL30_82
10968 X4PIXEL31_32
10969 X4PIXEL32_0
10970 if (Diff(RGBtoYUV[w6], RGBtoYUV[w8]))
10971 {
10972 X4PIXEL33_0
10973 }
10974 else
10975 {
10976 X4PIXEL33_20
10977 }
10978 break;
10979 }
10980 case 250:
10981 {
10982 X4PIXEL00_80
10983 X4PIXEL01_10
10984 X4PIXEL02_10
10985 X4PIXEL03_80
10986 X4PIXEL10_10
10987 X4PIXEL11_30
10988 X4PIXEL12_30
10989 X4PIXEL13_10
10990 if (Diff(RGBtoYUV[w8], RGBtoYUV[w4]))
10991 {
10992 X4PIXEL20_0
10993 X4PIXEL30_0
10994 X4PIXEL31_0
10995 }
10996 else
10997 {
10998 X4PIXEL20_50
10999 X4PIXEL30_50
11000 X4PIXEL31_50
11001 }
11002 X4PIXEL21_0
11003 X4PIXEL22_0
11004 if (Diff(RGBtoYUV[w6], RGBtoYUV[w8]))
11005 {
11006 X4PIXEL23_0
11007 X4PIXEL32_0
11008 X4PIXEL33_0
11009 }
11010 else
11011 {
11012 X4PIXEL23_50
11013 X4PIXEL32_50
11014 X4PIXEL33_50
11015 }
11016 break;
11017 }
11018 case 123:
11019 {
11020 if (Diff(RGBtoYUV[w4], RGBtoYUV[w2]))
11021 {
11022 X4PIXEL00_0
11023 X4PIXEL01_0
11024 X4PIXEL10_0
11025 }
11026 else
11027 {
11028 X4PIXEL00_50
11029 X4PIXEL01_50
11030 X4PIXEL10_50
11031 }
11032 X4PIXEL02_10
11033 X4PIXEL03_80
11034 X4PIXEL11_0
11035 X4PIXEL12_30
11036 X4PIXEL13_10
11037 if (Diff(RGBtoYUV[w8], RGBtoYUV[w4]))
11038 {
11039 X4PIXEL20_0
11040 X4PIXEL30_0
11041 X4PIXEL31_0
11042 }
11043 else
11044 {
11045 X4PIXEL20_50
11046 X4PIXEL30_50
11047 X4PIXEL31_50
11048 }
11049 X4PIXEL21_0
11050 X4PIXEL22_30
11051 X4PIXEL23_10
11052 X4PIXEL32_10
11053 X4PIXEL33_80
11054 break;
11055 }
11056 case 95:
11057 {
11058 if (Diff(RGBtoYUV[w4], RGBtoYUV[w2]))
11059 {
11060 X4PIXEL00_0
11061 X4PIXEL01_0
11062 X4PIXEL10_0
11063 }
11064 else
11065 {
11066 X4PIXEL00_50
11067 X4PIXEL01_50
11068 X4PIXEL10_50
11069 }
11070 if (Diff(RGBtoYUV[w2], RGBtoYUV[w6]))
11071 {
11072 X4PIXEL02_0
11073 X4PIXEL03_0
11074 X4PIXEL13_0
11075 }
11076 else
11077 {
11078 X4PIXEL02_50
11079 X4PIXEL03_50
11080 X4PIXEL13_50
11081 }
11082 X4PIXEL11_0
11083 X4PIXEL12_0
11084 X4PIXEL20_10
11085 X4PIXEL21_30
11086 X4PIXEL22_30
11087 X4PIXEL23_10
11088 X4PIXEL30_80
11089 X4PIXEL31_10
11090 X4PIXEL32_10
11091 X4PIXEL33_80
11092 break;
11093 }
11094 case 222:
11095 {
11096 X4PIXEL00_80
11097 X4PIXEL01_10
11098 if (Diff(RGBtoYUV[w2], RGBtoYUV[w6]))
11099 {
11100 X4PIXEL02_0
11101 X4PIXEL03_0
11102 X4PIXEL13_0
11103 }
11104 else
11105 {
11106 X4PIXEL02_50
11107 X4PIXEL03_50
11108 X4PIXEL13_50
11109 }
11110 X4PIXEL10_10
11111 X4PIXEL11_30
11112 X4PIXEL12_0
11113 X4PIXEL20_10
11114 X4PIXEL21_30
11115 X4PIXEL22_0
11116 if (Diff(RGBtoYUV[w6], RGBtoYUV[w8]))
11117 {
11118 X4PIXEL23_0
11119 X4PIXEL32_0
11120 X4PIXEL33_0
11121 }
11122 else
11123 {
11124 X4PIXEL23_50
11125 X4PIXEL32_50
11126 X4PIXEL33_50
11127 }
11128 X4PIXEL30_80
11129 X4PIXEL31_10
11130 break;
11131 }
11132 case 252:
11133 {
11134 X4PIXEL00_80
11135 X4PIXEL01_61
11136 X4PIXEL02_81
11137 X4PIXEL03_81
11138 X4PIXEL10_10
11139 X4PIXEL11_30
11140 X4PIXEL12_31
11141 X4PIXEL13_31
11142 if (Diff(RGBtoYUV[w8], RGBtoYUV[w4]))
11143 {
11144 X4PIXEL20_0
11145 X4PIXEL30_0
11146 X4PIXEL31_0
11147 }
11148 else
11149 {
11150 X4PIXEL20_50
11151 X4PIXEL30_50
11152 X4PIXEL31_50
11153 }
11154 X4PIXEL21_0
11155 X4PIXEL22_0
11156 X4PIXEL23_0
11157 X4PIXEL32_0
11158 if (Diff(RGBtoYUV[w6], RGBtoYUV[w8]))
11159 {
11160 X4PIXEL33_0
11161 }
11162 else
11163 {
11164 X4PIXEL33_20
11165 }
11166 break;
11167 }
11168 case 249:
11169 {
11170 X4PIXEL00_82
11171 X4PIXEL01_82
11172 X4PIXEL02_61
11173 X4PIXEL03_80
11174 X4PIXEL10_32
11175 X4PIXEL11_32
11176 X4PIXEL12_30
11177 X4PIXEL13_10
11178 X4PIXEL20_0
11179 X4PIXEL21_0
11180 X4PIXEL22_0
11181 if (Diff(RGBtoYUV[w6], RGBtoYUV[w8]))
11182 {
11183 X4PIXEL23_0
11184 X4PIXEL32_0
11185 X4PIXEL33_0
11186 }
11187 else
11188 {
11189 X4PIXEL23_50
11190 X4PIXEL32_50
11191 X4PIXEL33_50
11192 }
11193 if (Diff(RGBtoYUV[w8], RGBtoYUV[w4]))
11194 {
11195 X4PIXEL30_0
11196 }
11197 else
11198 {
11199 X4PIXEL30_20
11200 }
11201 X4PIXEL31_0
11202 break;
11203 }
11204 case 235:
11205 {
11206 if (Diff(RGBtoYUV[w4], RGBtoYUV[w2]))
11207 {
11208 X4PIXEL00_0
11209 X4PIXEL01_0
11210 X4PIXEL10_0
11211 }
11212 else
11213 {
11214 X4PIXEL00_50
11215 X4PIXEL01_50
11216 X4PIXEL10_50
11217 }
11218 X4PIXEL02_10
11219 X4PIXEL03_80
11220 X4PIXEL11_0
11221 X4PIXEL12_30
11222 X4PIXEL13_61
11223 X4PIXEL20_0
11224 X4PIXEL21_0
11225 X4PIXEL22_31
11226 X4PIXEL23_81
11227 if (Diff(RGBtoYUV[w8], RGBtoYUV[w4]))
11228 {
11229 X4PIXEL30_0
11230 }
11231 else
11232 {
11233 X4PIXEL30_20
11234 }
11235 X4PIXEL31_0
11236 X4PIXEL32_31
11237 X4PIXEL33_81
11238 break;
11239 }
11240 case 111:
11241 {
11242 if (Diff(RGBtoYUV[w4], RGBtoYUV[w2]))
11243 {
11244 X4PIXEL00_0
11245 }
11246 else
11247 {
11248 X4PIXEL00_20
11249 }
11250 X4PIXEL01_0
11251 X4PIXEL02_32
11252 X4PIXEL03_82
11253 X4PIXEL10_0
11254 X4PIXEL11_0
11255 X4PIXEL12_32
11256 X4PIXEL13_82
11257 if (Diff(RGBtoYUV[w8], RGBtoYUV[w4]))
11258 {
11259 X4PIXEL20_0
11260 X4PIXEL30_0
11261 X4PIXEL31_0
11262 }
11263 else
11264 {
11265 X4PIXEL20_50
11266 X4PIXEL30_50
11267 X4PIXEL31_50
11268 }
11269 X4PIXEL21_0
11270 X4PIXEL22_30
11271 X4PIXEL23_61
11272 X4PIXEL32_10
11273 X4PIXEL33_80
11274 break;
11275 }
11276 case 63:
11277 {
11278 if (Diff(RGBtoYUV[w4], RGBtoYUV[w2]))
11279 {
11280 X4PIXEL00_0
11281 }
11282 else
11283 {
11284 X4PIXEL00_20
11285 }
11286 X4PIXEL01_0
11287 if (Diff(RGBtoYUV[w2], RGBtoYUV[w6]))
11288 {
11289 X4PIXEL02_0
11290 X4PIXEL03_0
11291 X4PIXEL13_0
11292 }
11293 else
11294 {
11295 X4PIXEL02_50
11296 X4PIXEL03_50
11297 X4PIXEL13_50
11298 }
11299 X4PIXEL10_0
11300 X4PIXEL11_0
11301 X4PIXEL12_0
11302 X4PIXEL20_31
11303 X4PIXEL21_31
11304 X4PIXEL22_30
11305 X4PIXEL23_10
11306 X4PIXEL30_81
11307 X4PIXEL31_81
11308 X4PIXEL32_61
11309 X4PIXEL33_80
11310 break;
11311 }
11312 case 159:
11313 {
11314 if (Diff(RGBtoYUV[w4], RGBtoYUV[w2]))
11315 {
11316 X4PIXEL00_0
11317 X4PIXEL01_0
11318 X4PIXEL10_0
11319 }
11320 else
11321 {
11322 X4PIXEL00_50
11323 X4PIXEL01_50
11324 X4PIXEL10_50
11325 }
11326 X4PIXEL02_0
11327 if (Diff(RGBtoYUV[w2], RGBtoYUV[w6]))
11328 {
11329 X4PIXEL03_0
11330 }
11331 else
11332 {
11333 X4PIXEL03_20
11334 }
11335 X4PIXEL11_0
11336 X4PIXEL12_0
11337 X4PIXEL13_0
11338 X4PIXEL20_10
11339 X4PIXEL21_30
11340 X4PIXEL22_32
11341 X4PIXEL23_32
11342 X4PIXEL30_80
11343 X4PIXEL31_61
11344 X4PIXEL32_82
11345 X4PIXEL33_82
11346 break;
11347 }
11348 case 215:
11349 {
11350 X4PIXEL00_81
11351 X4PIXEL01_31
11352 X4PIXEL02_0
11353 if (Diff(RGBtoYUV[w2], RGBtoYUV[w6]))
11354 {
11355 X4PIXEL03_0
11356 }
11357 else
11358 {
11359 X4PIXEL03_20
11360 }
11361 X4PIXEL10_81
11362 X4PIXEL11_31
11363 X4PIXEL12_0
11364 X4PIXEL13_0
11365 X4PIXEL20_61
11366 X4PIXEL21_30
11367 X4PIXEL22_0
11368 if (Diff(RGBtoYUV[w6], RGBtoYUV[w8]))
11369 {
11370 X4PIXEL23_0
11371 X4PIXEL32_0
11372 X4PIXEL33_0
11373 }
11374 else
11375 {
11376 X4PIXEL23_50
11377 X4PIXEL32_50
11378 X4PIXEL33_50
11379 }
11380 X4PIXEL30_80
11381 X4PIXEL31_10
11382 break;
11383 }
11384 case 246:
11385 {
11386 X4PIXEL00_80
11387 X4PIXEL01_10
11388 if (Diff(RGBtoYUV[w2], RGBtoYUV[w6]))
11389 {
11390 X4PIXEL02_0
11391 X4PIXEL03_0
11392 X4PIXEL13_0
11393 }
11394 else
11395 {
11396 X4PIXEL02_50
11397 X4PIXEL03_50
11398 X4PIXEL13_50
11399 }
11400 X4PIXEL10_61
11401 X4PIXEL11_30
11402 X4PIXEL12_0
11403 X4PIXEL20_82
11404 X4PIXEL21_32
11405 X4PIXEL22_0
11406 X4PIXEL23_0
11407 X4PIXEL30_82
11408 X4PIXEL31_32
11409 X4PIXEL32_0
11410 if (Diff(RGBtoYUV[w6], RGBtoYUV[w8]))
11411 {
11412 X4PIXEL33_0
11413 }
11414 else
11415 {
11416 X4PIXEL33_20
11417 }
11418 break;
11419 }
11420 case 254:
11421 {
11422 X4PIXEL00_80
11423 X4PIXEL01_10
11424 if (Diff(RGBtoYUV[w2], RGBtoYUV[w6]))
11425 {
11426 X4PIXEL02_0
11427 X4PIXEL03_0
11428 X4PIXEL13_0
11429 }
11430 else
11431 {
11432 X4PIXEL02_50
11433 X4PIXEL03_50
11434 X4PIXEL13_50
11435 }
11436 X4PIXEL10_10
11437 X4PIXEL11_30
11438 X4PIXEL12_0
11439 if (Diff(RGBtoYUV[w8], RGBtoYUV[w4]))
11440 {
11441 X4PIXEL20_0
11442 X4PIXEL30_0
11443 X4PIXEL31_0
11444 }
11445 else
11446 {
11447 X4PIXEL20_50
11448 X4PIXEL30_50
11449 X4PIXEL31_50
11450 }
11451 X4PIXEL21_0
11452 X4PIXEL22_0
11453 X4PIXEL23_0
11454 X4PIXEL32_0
11455 if (Diff(RGBtoYUV[w6], RGBtoYUV[w8]))
11456 {
11457 X4PIXEL33_0
11458 }
11459 else
11460 {
11461 X4PIXEL33_20
11462 }
11463 break;
11464 }
11465 case 253:
11466 {
11467 X4PIXEL00_82
11468 X4PIXEL01_82
11469 X4PIXEL02_81
11470 X4PIXEL03_81
11471 X4PIXEL10_32
11472 X4PIXEL11_32
11473 X4PIXEL12_31
11474 X4PIXEL13_31
11475 X4PIXEL20_0
11476 X4PIXEL21_0
11477 X4PIXEL22_0
11478 X4PIXEL23_0
11479 if (Diff(RGBtoYUV[w8], RGBtoYUV[w4]))
11480 {
11481 X4PIXEL30_0
11482 }
11483 else
11484 {
11485 X4PIXEL30_20
11486 }
11487 X4PIXEL31_0
11488 X4PIXEL32_0
11489 if (Diff(RGBtoYUV[w6], RGBtoYUV[w8]))
11490 {
11491 X4PIXEL33_0
11492 }
11493 else
11494 {
11495 X4PIXEL33_20
11496 }
11497 break;
11498 }
11499 case 251:
11500 {
11501 if (Diff(RGBtoYUV[w4], RGBtoYUV[w2]))
11502 {
11503 X4PIXEL00_0
11504 X4PIXEL01_0
11505 X4PIXEL10_0
11506 }
11507 else
11508 {
11509 X4PIXEL00_50
11510 X4PIXEL01_50
11511 X4PIXEL10_50
11512 }
11513 X4PIXEL02_10
11514 X4PIXEL03_80
11515 X4PIXEL11_0
11516 X4PIXEL12_30
11517 X4PIXEL13_10
11518 X4PIXEL20_0
11519 X4PIXEL21_0
11520 X4PIXEL22_0
11521 if (Diff(RGBtoYUV[w6], RGBtoYUV[w8]))
11522 {
11523 X4PIXEL23_0
11524 X4PIXEL32_0
11525 X4PIXEL33_0
11526 }
11527 else
11528 {
11529 X4PIXEL23_50
11530 X4PIXEL32_50
11531 X4PIXEL33_50
11532 }
11533 if (Diff(RGBtoYUV[w8], RGBtoYUV[w4]))
11534 {
11535 X4PIXEL30_0
11536 }
11537 else
11538 {
11539 X4PIXEL30_20
11540 }
11541 X4PIXEL31_0
11542 break;
11543 }
11544 case 239:
11545 {
11546 if (Diff(RGBtoYUV[w4], RGBtoYUV[w2]))
11547 {
11548 X4PIXEL00_0
11549 }
11550 else
11551 {
11552 X4PIXEL00_20
11553 }
11554 X4PIXEL01_0
11555 X4PIXEL02_32
11556 X4PIXEL03_82
11557 X4PIXEL10_0
11558 X4PIXEL11_0
11559 X4PIXEL12_32
11560 X4PIXEL13_82
11561 X4PIXEL20_0
11562 X4PIXEL21_0
11563 X4PIXEL22_31
11564 X4PIXEL23_81
11565 if (Diff(RGBtoYUV[w8], RGBtoYUV[w4]))
11566 {
11567 X4PIXEL30_0
11568 }
11569 else
11570 {
11571 X4PIXEL30_20
11572 }
11573 X4PIXEL31_0
11574 X4PIXEL32_31
11575 X4PIXEL33_81
11576 break;
11577 }
11578 case 127:
11579 {
11580 if (Diff(RGBtoYUV[w4], RGBtoYUV[w2]))
11581 {
11582 X4PIXEL00_0
11583 }
11584 else
11585 {
11586 X4PIXEL00_20
11587 }
11588 X4PIXEL01_0
11589 if (Diff(RGBtoYUV[w2], RGBtoYUV[w6]))
11590 {
11591 X4PIXEL02_0
11592 X4PIXEL03_0
11593 X4PIXEL13_0
11594 }
11595 else
11596 {
11597 X4PIXEL02_50
11598 X4PIXEL03_50
11599 X4PIXEL13_50
11600 }
11601 X4PIXEL10_0
11602 X4PIXEL11_0
11603 X4PIXEL12_0
11604 if (Diff(RGBtoYUV[w8], RGBtoYUV[w4]))
11605 {
11606 X4PIXEL20_0
11607 X4PIXEL30_0
11608 X4PIXEL31_0
11609 }
11610 else
11611 {
11612 X4PIXEL20_50
11613 X4PIXEL30_50
11614 X4PIXEL31_50
11615 }
11616 X4PIXEL21_0
11617 X4PIXEL22_30
11618 X4PIXEL23_10
11619 X4PIXEL32_10
11620 X4PIXEL33_80
11621 break;
11622 }
11623 case 191:
11624 {
11625 if (Diff(RGBtoYUV[w4], RGBtoYUV[w2]))
11626 {
11627 X4PIXEL00_0
11628 }
11629 else
11630 {
11631 X4PIXEL00_20
11632 }
11633 X4PIXEL01_0
11634 X4PIXEL02_0
11635 if (Diff(RGBtoYUV[w2], RGBtoYUV[w6]))
11636 {
11637 X4PIXEL03_0
11638 }
11639 else
11640 {
11641 X4PIXEL03_20
11642 }
11643 X4PIXEL10_0
11644 X4PIXEL11_0
11645 X4PIXEL12_0
11646 X4PIXEL13_0
11647 X4PIXEL20_31
11648 X4PIXEL21_31
11649 X4PIXEL22_32
11650 X4PIXEL23_32
11651 X4PIXEL30_81
11652 X4PIXEL31_81
11653 X4PIXEL32_82
11654 X4PIXEL33_82
11655 break;
11656 }
11657 case 223:
11658 {
11659 if (Diff(RGBtoYUV[w4], RGBtoYUV[w2]))
11660 {
11661 X4PIXEL00_0
11662 X4PIXEL01_0
11663 X4PIXEL10_0
11664 }
11665 else
11666 {
11667 X4PIXEL00_50
11668 X4PIXEL01_50
11669 X4PIXEL10_50
11670 }
11671 X4PIXEL02_0
11672 if (Diff(RGBtoYUV[w2], RGBtoYUV[w6]))
11673 {
11674 X4PIXEL03_0
11675 }
11676 else
11677 {
11678 X4PIXEL03_20
11679 }
11680 X4PIXEL11_0
11681 X4PIXEL12_0
11682 X4PIXEL13_0
11683 X4PIXEL20_10
11684 X4PIXEL21_30
11685 X4PIXEL22_0
11686 if (Diff(RGBtoYUV[w6], RGBtoYUV[w8]))
11687 {
11688 X4PIXEL23_0
11689 X4PIXEL32_0
11690 X4PIXEL33_0
11691 }
11692 else
11693 {
11694 X4PIXEL23_50
11695 X4PIXEL32_50
11696 X4PIXEL33_50
11697 }
11698 X4PIXEL30_80
11699 X4PIXEL31_10
11700 break;
11701 }
11702 case 247:
11703 {
11704 X4PIXEL00_81
11705 X4PIXEL01_31
11706 X4PIXEL02_0
11707 if (Diff(RGBtoYUV[w2], RGBtoYUV[w6]))
11708 {
11709 X4PIXEL03_0
11710 }
11711 else
11712 {
11713 X4PIXEL03_20
11714 }
11715 X4PIXEL10_81
11716 X4PIXEL11_31
11717 X4PIXEL12_0
11718 X4PIXEL13_0
11719 X4PIXEL20_82
11720 X4PIXEL21_32
11721 X4PIXEL22_0
11722 X4PIXEL23_0
11723 X4PIXEL30_82
11724 X4PIXEL31_32
11725 X4PIXEL32_0
11726 if (Diff(RGBtoYUV[w6], RGBtoYUV[w8]))
11727 {
11728 X4PIXEL33_0
11729 }
11730 else
11731 {
11732 X4PIXEL33_20
11733 }
11734 break;
11735 }
11736 case 255:
11737 {
11738 if (Diff(RGBtoYUV[w4], RGBtoYUV[w2]))
11739 {
11740 X4PIXEL00_0
11741 }
11742 else
11743 {
11744 X4PIXEL00_20
11745 }
11746 X4PIXEL01_0
11747 X4PIXEL02_0
11748 if (Diff(RGBtoYUV[w2], RGBtoYUV[w6]))
11749 {
11750 X4PIXEL03_0
11751 }
11752 else
11753 {
11754 X4PIXEL03_20
11755 }
11756 X4PIXEL10_0
11757 X4PIXEL11_0
11758 X4PIXEL12_0
11759 X4PIXEL13_0
11760 X4PIXEL20_0
11761 X4PIXEL21_0
11762 X4PIXEL22_0
11763 X4PIXEL23_0
11764 if (Diff(RGBtoYUV[w8], RGBtoYUV[w4]))
11765 {
11766 X4PIXEL30_0
11767 }
11768 else
11769 {
11770 X4PIXEL30_20
11771 }
11772 X4PIXEL31_0
11773 X4PIXEL32_0
11774 if (Diff(RGBtoYUV[w6], RGBtoYUV[w8]))
11775 {
11776 X4PIXEL33_0
11777 }
11778 else
11779 {
11780 X4PIXEL33_20
11781 }
11782 break;
11783 }
11784 }
11785
11786 w1 = w2; w4 = w5; w7 = w8;
11787 w2 = w3; w5 = w6; w8 = w9;
11788
11789 dp += 4;
11790 }
11791
11792 dp += (dst1line - width) * 4;
11793 sp += (src1line - width);
11794 }
11795}
11796