1 /*
2 * Copyright (C) 2003 Maxim Stepin ( maxst@hiend3d.com )
3 *
4 * Copyright (C) 2010 Cameron Zemek ( grom@zeminvaders.net)
5 *
6 * This program is free software; you can redistribute it and/or
7 * modify it under the terms of the GNU Lesser General Public
8 * License as published by the Free Software Foundation; either
9 * version 2.1 of the License, or (at your option) any later version.
10 *
11 * This program is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 * Lesser General Public License for more details.
15 *
16 * You should have received a copy of the GNU Lesser General Public
17 * License along with this program; if not, write to the Free Software
18 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
19 */
20
21 #include <stdint.h>
22 #include "hqx/common.h"
23 #include "hqx/hqx.h"
24
25 #define PIXEL00_0 *dp = w[5];
26 #define PIXEL00_11 *dp = Interp1(w[5], w[4]);
27 #define PIXEL00_12 *dp = Interp1(w[5], w[2]);
28 #define PIXEL00_20 *dp = Interp2(w[5], w[2], w[4]);
29 #define PIXEL00_50 *dp = Interp5(w[2], w[4]);
30 #define PIXEL00_80 *dp = Interp8(w[5], w[1]);
31 #define PIXEL00_81 *dp = Interp8(w[5], w[4]);
32 #define PIXEL00_82 *dp = Interp8(w[5], w[2]);
33 #define PIXEL01_0 *(dp+1) = w[5];
34 #define PIXEL01_10 *(dp+1) = Interp1(w[5], w[1]);
35 #define PIXEL01_12 *(dp+1) = Interp1(w[5], w[2]);
36 #define PIXEL01_14 *(dp+1) = Interp1(w[2], w[5]);
37 #define PIXEL01_21 *(dp+1) = Interp2(w[2], w[5], w[4]);
38 #define PIXEL01_31 *(dp+1) = Interp3(w[5], w[4]);
39 #define PIXEL01_50 *(dp+1) = Interp5(w[2], w[5]);
40 #define PIXEL01_60 *(dp+1) = Interp6(w[5], w[2], w[4]);
41 #define PIXEL01_61 *(dp+1) = Interp6(w[5], w[2], w[1]);
42 #define PIXEL01_82 *(dp+1) = Interp8(w[5], w[2]);
43 #define PIXEL01_83 *(dp+1) = Interp8(w[2], w[4]);
44 #define PIXEL02_0 *(dp+2) = w[5];
45 #define PIXEL02_10 *(dp+2) = Interp1(w[5], w[3]);
46 #define PIXEL02_11 *(dp+2) = Interp1(w[5], w[2]);
47 #define PIXEL02_13 *(dp+2) = Interp1(w[2], w[5]);
48 #define PIXEL02_21 *(dp+2) = Interp2(w[2], w[5], w[6]);
49 #define PIXEL02_32 *(dp+2) = Interp3(w[5], w[6]);
50 #define PIXEL02_50 *(dp+2) = Interp5(w[2], w[5]);
51 #define PIXEL02_60 *(dp+2) = Interp6(w[5], w[2], w[6]);
52 #define PIXEL02_61 *(dp+2) = Interp6(w[5], w[2], w[3]);
53 #define PIXEL02_81 *(dp+2) = Interp8(w[5], w[2]);
54 #define PIXEL02_83 *(dp+2) = Interp8(w[2], w[6]);
55 #define PIXEL03_0 *(dp+3) = w[5];
56 #define PIXEL03_11 *(dp+3) = Interp1(w[5], w[2]);
57 #define PIXEL03_12 *(dp+3) = Interp1(w[5], w[6]);
58 #define PIXEL03_20 *(dp+3) = Interp2(w[5], w[2], w[6]);
59 #define PIXEL03_50 *(dp+3) = Interp5(w[2], w[6]);
60 #define PIXEL03_80 *(dp+3) = Interp8(w[5], w[3]);
61 #define PIXEL03_81 *(dp+3) = Interp8(w[5], w[2]);
62 #define PIXEL03_82 *(dp+3) = Interp8(w[5], w[6]);
63 #define PIXEL10_0 *(dp+dpL) = w[5];
64 #define PIXEL10_10 *(dp+dpL) = Interp1(w[5], w[1]);
65 #define PIXEL10_11 *(dp+dpL) = Interp1(w[5], w[4]);
66 #define PIXEL10_13 *(dp+dpL) = Interp1(w[4], w[5]);
67 #define PIXEL10_21 *(dp+dpL) = Interp2(w[4], w[5], w[2]);
68 #define PIXEL10_32 *(dp+dpL) = Interp3(w[5], w[2]);
69 #define PIXEL10_50 *(dp+dpL) = Interp5(w[4], w[5]);
70 #define PIXEL10_60 *(dp+dpL) = Interp6(w[5], w[4], w[2]);
71 #define PIXEL10_61 *(dp+dpL) = Interp6(w[5], w[4], w[1]);
72 #define PIXEL10_81 *(dp+dpL) = Interp8(w[5], w[4]);
73 #define PIXEL10_83 *(dp+dpL) = Interp8(w[4], w[2]);
74 #define PIXEL11_0 *(dp+dpL+1) = w[5];
75 #define PIXEL11_30 *(dp+dpL+1) = Interp3(w[5], w[1]);
76 #define PIXEL11_31 *(dp+dpL+1) = Interp3(w[5], w[4]);
77 #define PIXEL11_32 *(dp+dpL+1) = Interp3(w[5], w[2]);
78 #define PIXEL11_70 *(dp+dpL+1) = Interp7(w[5], w[4], w[2]);
79 #define PIXEL12_0 *(dp+dpL+2) = w[5];
80 #define PIXEL12_30 *(dp+dpL+2) = Interp3(w[5], w[3]);
81 #define PIXEL12_31 *(dp+dpL+2) = Interp3(w[5], w[2]);
82 #define PIXEL12_32 *(dp+dpL+2) = Interp3(w[5], w[6]);
83 #define PIXEL12_70 *(dp+dpL+2) = Interp7(w[5], w[6], w[2]);
84 #define PIXEL13_0 *(dp+dpL+3) = w[5];
85 #define PIXEL13_10 *(dp+dpL+3) = Interp1(w[5], w[3]);
86 #define PIXEL13_12 *(dp+dpL+3) = Interp1(w[5], w[6]);
87 #define PIXEL13_14 *(dp+dpL+3) = Interp1(w[6], w[5]);
88 #define PIXEL13_21 *(dp+dpL+3) = Interp2(w[6], w[5], w[2]);
89 #define PIXEL13_31 *(dp+dpL+3) = Interp3(w[5], w[2]);
90 #define PIXEL13_50 *(dp+dpL+3) = Interp5(w[6], w[5]);
91 #define PIXEL13_60 *(dp+dpL+3) = Interp6(w[5], w[6], w[2]);
92 #define PIXEL13_61 *(dp+dpL+3) = Interp6(w[5], w[6], w[3]);
93 #define PIXEL13_82 *(dp+dpL+3) = Interp8(w[5], w[6]);
94 #define PIXEL13_83 *(dp+dpL+3) = Interp8(w[6], w[2]);
95 #define PIXEL20_0 *(dp+dpL+dpL) = w[5];
96 #define PIXEL20_10 *(dp+dpL+dpL) = Interp1(w[5], w[7]);
97 #define PIXEL20_12 *(dp+dpL+dpL) = Interp1(w[5], w[4]);
98 #define PIXEL20_14 *(dp+dpL+dpL) = Interp1(w[4], w[5]);
99 #define PIXEL20_21 *(dp+dpL+dpL) = Interp2(w[4], w[5], w[8]);
100 #define PIXEL20_31 *(dp+dpL+dpL) = Interp3(w[5], w[8]);
101 #define PIXEL20_50 *(dp+dpL+dpL) = Interp5(w[4], w[5]);
102 #define PIXEL20_60 *(dp+dpL+dpL) = Interp6(w[5], w[4], w[8]);
103 #define PIXEL20_61 *(dp+dpL+dpL) = Interp6(w[5], w[4], w[7]);
104 #define PIXEL20_82 *(dp+dpL+dpL) = Interp8(w[5], w[4]);
105 #define PIXEL20_83 *(dp+dpL+dpL) = Interp8(w[4], w[8]);
106 #define PIXEL21_0 *(dp+dpL+dpL+1) = w[5];
107 #define PIXEL21_30 *(dp+dpL+dpL+1) = Interp3(w[5], w[7]);
108 #define PIXEL21_31 *(dp+dpL+dpL+1) = Interp3(w[5], w[8]);
109 #define PIXEL21_32 *(dp+dpL+dpL+1) = Interp3(w[5], w[4]);
110 #define PIXEL21_70 *(dp+dpL+dpL+1) = Interp7(w[5], w[4], w[8]);
111 #define PIXEL22_0 *(dp+dpL+dpL+2) = w[5];
112 #define PIXEL22_30 *(dp+dpL+dpL+2) = Interp3(w[5], w[9]);
113 #define PIXEL22_31 *(dp+dpL+dpL+2) = Interp3(w[5], w[6]);
114 #define PIXEL22_32 *(dp+dpL+dpL+2) = Interp3(w[5], w[8]);
115 #define PIXEL22_70 *(dp+dpL+dpL+2) = Interp7(w[5], w[6], w[8]);
116 #define PIXEL23_0 *(dp+dpL+dpL+3) = w[5];
117 #define PIXEL23_10 *(dp+dpL+dpL+3) = Interp1(w[5], w[9]);
118 #define PIXEL23_11 *(dp+dpL+dpL+3) = Interp1(w[5], w[6]);
119 #define PIXEL23_13 *(dp+dpL+dpL+3) = Interp1(w[6], w[5]);
120 #define PIXEL23_21 *(dp+dpL+dpL+3) = Interp2(w[6], w[5], w[8]);
121 #define PIXEL23_32 *(dp+dpL+dpL+3) = Interp3(w[5], w[8]);
122 #define PIXEL23_50 *(dp+dpL+dpL+3) = Interp5(w[6], w[5]);
123 #define PIXEL23_60 *(dp+dpL+dpL+3) = Interp6(w[5], w[6], w[8]);
124 #define PIXEL23_61 *(dp+dpL+dpL+3) = Interp6(w[5], w[6], w[9]);
125 #define PIXEL23_81 *(dp+dpL+dpL+3) = Interp8(w[5], w[6]);
126 #define PIXEL23_83 *(dp+dpL+dpL+3) = Interp8(w[6], w[8]);
127 #define PIXEL30_0 *(dp+dpL+dpL+dpL) = w[5];
128 #define PIXEL30_11 *(dp+dpL+dpL+dpL) = Interp1(w[5], w[8]);
129 #define PIXEL30_12 *(dp+dpL+dpL+dpL) = Interp1(w[5], w[4]);
130 #define PIXEL30_20 *(dp+dpL+dpL+dpL) = Interp2(w[5], w[8], w[4]);
131 #define PIXEL30_50 *(dp+dpL+dpL+dpL) = Interp5(w[8], w[4]);
132 #define PIXEL30_80 *(dp+dpL+dpL+dpL) = Interp8(w[5], w[7]);
133 #define PIXEL30_81 *(dp+dpL+dpL+dpL) = Interp8(w[5], w[8]);
134 #define PIXEL30_82 *(dp+dpL+dpL+dpL) = Interp8(w[5], w[4]);
135 #define PIXEL31_0 *(dp+dpL+dpL+dpL+1) = w[5];
136 #define PIXEL31_10 *(dp+dpL+dpL+dpL+1) = Interp1(w[5], w[7]);
137 #define PIXEL31_11 *(dp+dpL+dpL+dpL+1) = Interp1(w[5], w[8]);
138 #define PIXEL31_13 *(dp+dpL+dpL+dpL+1) = Interp1(w[8], w[5]);
139 #define PIXEL31_21 *(dp+dpL+dpL+dpL+1) = Interp2(w[8], w[5], w[4]);
140 #define PIXEL31_32 *(dp+dpL+dpL+dpL+1) = Interp3(w[5], w[4]);
141 #define PIXEL31_50 *(dp+dpL+dpL+dpL+1) = Interp5(w[8], w[5]);
142 #define PIXEL31_60 *(dp+dpL+dpL+dpL+1) = Interp6(w[5], w[8], w[4]);
143 #define PIXEL31_61 *(dp+dpL+dpL+dpL+1) = Interp6(w[5], w[8], w[7]);
144 #define PIXEL31_81 *(dp+dpL+dpL+dpL+1) = Interp8(w[5], w[8]);
145 #define PIXEL31_83 *(dp+dpL+dpL+dpL+1) = Interp8(w[8], w[4]);
146 #define PIXEL32_0 *(dp+dpL+dpL+dpL+2) = w[5];
147 #define PIXEL32_10 *(dp+dpL+dpL+dpL+2) = Interp1(w[5], w[9]);
148 #define PIXEL32_12 *(dp+dpL+dpL+dpL+2) = Interp1(w[5], w[8]);
149 #define PIXEL32_14 *(dp+dpL+dpL+dpL+2) = Interp1(w[8], w[5]);
150 #define PIXEL32_21 *(dp+dpL+dpL+dpL+2) = Interp2(w[8], w[5], w[6]);
151 #define PIXEL32_31 *(dp+dpL+dpL+dpL+2) = Interp3(w[5], w[6]);
152 #define PIXEL32_50 *(dp+dpL+dpL+dpL+2) = Interp5(w[8], w[5]);
153 #define PIXEL32_60 *(dp+dpL+dpL+dpL+2) = Interp6(w[5], w[8], w[6]);
154 #define PIXEL32_61 *(dp+dpL+dpL+dpL+2) = Interp6(w[5], w[8], w[9]);
155 #define PIXEL32_82 *(dp+dpL+dpL+dpL+2) = Interp8(w[5], w[8]);
156 #define PIXEL32_83 *(dp+dpL+dpL+dpL+2) = Interp8(w[8], w[6]);
157 #define PIXEL33_0 *(dp+dpL+dpL+dpL+3) = w[5];
158 #define PIXEL33_11 *(dp+dpL+dpL+dpL+3) = Interp1(w[5], w[6]);
159 #define PIXEL33_12 *(dp+dpL+dpL+dpL+3) = Interp1(w[5], w[8]);
160 #define PIXEL33_20 *(dp+dpL+dpL+dpL+3) = Interp2(w[5], w[8], w[6]);
161 #define PIXEL33_50 *(dp+dpL+dpL+dpL+3) = Interp5(w[8], w[6]);
162 #define PIXEL33_80 *(dp+dpL+dpL+dpL+3) = Interp8(w[5], w[9]);
163 #define PIXEL33_81 *(dp+dpL+dpL+dpL+3) = Interp8(w[5], w[6]);
164 #define PIXEL33_82 *(dp+dpL+dpL+dpL+3) = Interp8(w[5], w[8]);
165
hq4x_32_rb(uint32_t * sp,uint32_t srb,uint32_t * dp,uint32_t drb,int Xres,int Yres)166 HQX_API void HQX_CALLCONV hq4x_32_rb( uint32_t * sp, uint32_t srb, uint32_t * dp, uint32_t drb, int Xres, int Yres )
167 {
168 int i, j, k;
169 int prevline, nextline;
170 uint32_t w[10];
171 int dpL = (drb >> 2);
172 int spL = (srb >> 2);
173 uint8_t *sRowP = (uint8_t *) sp;
174 uint8_t *dRowP = (uint8_t *) dp;
175 uint32_t yuv1, yuv2;
176
177 // +----+----+----+
178 // | | | |
179 // | w1 | w2 | w3 |
180 // +----+----+----+
181 // | | | |
182 // | w4 | w5 | w6 |
183 // +----+----+----+
184 // | | | |
185 // | w7 | w8 | w9 |
186 // +----+----+----+
187
188 for (j=0; j<Yres; j++)
189 {
190 if (j>0) prevline = -spL; else prevline = 0;
191 if (j<Yres-1) nextline = spL; else nextline = 0;
192
193 for (i=0; i<Xres; i++)
194 {
195 w[2] = *(sp + prevline);
196 w[5] = *sp;
197 w[8] = *(sp + nextline);
198
199 if (i>0)
200 {
201 w[1] = *(sp + prevline - 1);
202 w[4] = *(sp - 1);
203 w[7] = *(sp + nextline - 1);
204 }
205 else
206 {
207 w[1] = w[2];
208 w[4] = w[5];
209 w[7] = w[8];
210 }
211
212 if (i<Xres-1)
213 {
214 w[3] = *(sp + prevline + 1);
215 w[6] = *(sp + 1);
216 w[9] = *(sp + nextline + 1);
217 }
218 else
219 {
220 w[3] = w[2];
221 w[6] = w[5];
222 w[9] = w[8];
223 }
224
225 int pattern = 0;
226 int flag = 1;
227
228 yuv1 = rgb_to_yuv(w[5]);
229
230 for (k=1; k<=9; k++)
231 {
232 if (k==5) continue;
233
234 if ( w[k] != w[5] )
235 {
236 yuv2 = rgb_to_yuv(w[k]);
237 if (yuv_diff(yuv1, yuv2))
238 pattern |= flag;
239 }
240 flag <<= 1;
241 }
242
243 switch (pattern)
244 {
245 case 0:
246 case 1:
247 case 4:
248 case 32:
249 case 128:
250 case 5:
251 case 132:
252 case 160:
253 case 33:
254 case 129:
255 case 36:
256 case 133:
257 case 164:
258 case 161:
259 case 37:
260 case 165:
261 {
262 PIXEL00_20
263 PIXEL01_60
264 PIXEL02_60
265 PIXEL03_20
266 PIXEL10_60
267 PIXEL11_70
268 PIXEL12_70
269 PIXEL13_60
270 PIXEL20_60
271 PIXEL21_70
272 PIXEL22_70
273 PIXEL23_60
274 PIXEL30_20
275 PIXEL31_60
276 PIXEL32_60
277 PIXEL33_20
278 break;
279 }
280 case 2:
281 case 34:
282 case 130:
283 case 162:
284 {
285 PIXEL00_80
286 PIXEL01_10
287 PIXEL02_10
288 PIXEL03_80
289 PIXEL10_61
290 PIXEL11_30
291 PIXEL12_30
292 PIXEL13_61
293 PIXEL20_60
294 PIXEL21_70
295 PIXEL22_70
296 PIXEL23_60
297 PIXEL30_20
298 PIXEL31_60
299 PIXEL32_60
300 PIXEL33_20
301 break;
302 }
303 case 16:
304 case 17:
305 case 48:
306 case 49:
307 {
308 PIXEL00_20
309 PIXEL01_60
310 PIXEL02_61
311 PIXEL03_80
312 PIXEL10_60
313 PIXEL11_70
314 PIXEL12_30
315 PIXEL13_10
316 PIXEL20_60
317 PIXEL21_70
318 PIXEL22_30
319 PIXEL23_10
320 PIXEL30_20
321 PIXEL31_60
322 PIXEL32_61
323 PIXEL33_80
324 break;
325 }
326 case 64:
327 case 65:
328 case 68:
329 case 69:
330 {
331 PIXEL00_20
332 PIXEL01_60
333 PIXEL02_60
334 PIXEL03_20
335 PIXEL10_60
336 PIXEL11_70
337 PIXEL12_70
338 PIXEL13_60
339 PIXEL20_61
340 PIXEL21_30
341 PIXEL22_30
342 PIXEL23_61
343 PIXEL30_80
344 PIXEL31_10
345 PIXEL32_10
346 PIXEL33_80
347 break;
348 }
349 case 8:
350 case 12:
351 case 136:
352 case 140:
353 {
354 PIXEL00_80
355 PIXEL01_61
356 PIXEL02_60
357 PIXEL03_20
358 PIXEL10_10
359 PIXEL11_30
360 PIXEL12_70
361 PIXEL13_60
362 PIXEL20_10
363 PIXEL21_30
364 PIXEL22_70
365 PIXEL23_60
366 PIXEL30_80
367 PIXEL31_61
368 PIXEL32_60
369 PIXEL33_20
370 break;
371 }
372 case 3:
373 case 35:
374 case 131:
375 case 163:
376 {
377 PIXEL00_81
378 PIXEL01_31
379 PIXEL02_10
380 PIXEL03_80
381 PIXEL10_81
382 PIXEL11_31
383 PIXEL12_30
384 PIXEL13_61
385 PIXEL20_60
386 PIXEL21_70
387 PIXEL22_70
388 PIXEL23_60
389 PIXEL30_20
390 PIXEL31_60
391 PIXEL32_60
392 PIXEL33_20
393 break;
394 }
395 case 6:
396 case 38:
397 case 134:
398 case 166:
399 {
400 PIXEL00_80
401 PIXEL01_10
402 PIXEL02_32
403 PIXEL03_82
404 PIXEL10_61
405 PIXEL11_30
406 PIXEL12_32
407 PIXEL13_82
408 PIXEL20_60
409 PIXEL21_70
410 PIXEL22_70
411 PIXEL23_60
412 PIXEL30_20
413 PIXEL31_60
414 PIXEL32_60
415 PIXEL33_20
416 break;
417 }
418 case 20:
419 case 21:
420 case 52:
421 case 53:
422 {
423 PIXEL00_20
424 PIXEL01_60
425 PIXEL02_81
426 PIXEL03_81
427 PIXEL10_60
428 PIXEL11_70
429 PIXEL12_31
430 PIXEL13_31
431 PIXEL20_60
432 PIXEL21_70
433 PIXEL22_30
434 PIXEL23_10
435 PIXEL30_20
436 PIXEL31_60
437 PIXEL32_61
438 PIXEL33_80
439 break;
440 }
441 case 144:
442 case 145:
443 case 176:
444 case 177:
445 {
446 PIXEL00_20
447 PIXEL01_60
448 PIXEL02_61
449 PIXEL03_80
450 PIXEL10_60
451 PIXEL11_70
452 PIXEL12_30
453 PIXEL13_10
454 PIXEL20_60
455 PIXEL21_70
456 PIXEL22_32
457 PIXEL23_32
458 PIXEL30_20
459 PIXEL31_60
460 PIXEL32_82
461 PIXEL33_82
462 break;
463 }
464 case 192:
465 case 193:
466 case 196:
467 case 197:
468 {
469 PIXEL00_20
470 PIXEL01_60
471 PIXEL02_60
472 PIXEL03_20
473 PIXEL10_60
474 PIXEL11_70
475 PIXEL12_70
476 PIXEL13_60
477 PIXEL20_61
478 PIXEL21_30
479 PIXEL22_31
480 PIXEL23_81
481 PIXEL30_80
482 PIXEL31_10
483 PIXEL32_31
484 PIXEL33_81
485 break;
486 }
487 case 96:
488 case 97:
489 case 100:
490 case 101:
491 {
492 PIXEL00_20
493 PIXEL01_60
494 PIXEL02_60
495 PIXEL03_20
496 PIXEL10_60
497 PIXEL11_70
498 PIXEL12_70
499 PIXEL13_60
500 PIXEL20_82
501 PIXEL21_32
502 PIXEL22_30
503 PIXEL23_61
504 PIXEL30_82
505 PIXEL31_32
506 PIXEL32_10
507 PIXEL33_80
508 break;
509 }
510 case 40:
511 case 44:
512 case 168:
513 case 172:
514 {
515 PIXEL00_80
516 PIXEL01_61
517 PIXEL02_60
518 PIXEL03_20
519 PIXEL10_10
520 PIXEL11_30
521 PIXEL12_70
522 PIXEL13_60
523 PIXEL20_31
524 PIXEL21_31
525 PIXEL22_70
526 PIXEL23_60
527 PIXEL30_81
528 PIXEL31_81
529 PIXEL32_60
530 PIXEL33_20
531 break;
532 }
533 case 9:
534 case 13:
535 case 137:
536 case 141:
537 {
538 PIXEL00_82
539 PIXEL01_82
540 PIXEL02_60
541 PIXEL03_20
542 PIXEL10_32
543 PIXEL11_32
544 PIXEL12_70
545 PIXEL13_60
546 PIXEL20_10
547 PIXEL21_30
548 PIXEL22_70
549 PIXEL23_60
550 PIXEL30_80
551 PIXEL31_61
552 PIXEL32_60
553 PIXEL33_20
554 break;
555 }
556 case 18:
557 case 50:
558 {
559 PIXEL00_80
560 PIXEL01_10
561 if (Diff(w[2], w[6]))
562 {
563 PIXEL02_10
564 PIXEL03_80
565 PIXEL12_30
566 PIXEL13_10
567 }
568 else
569 {
570 PIXEL02_50
571 PIXEL03_50
572 PIXEL12_0
573 PIXEL13_50
574 }
575 PIXEL10_61
576 PIXEL11_30
577 PIXEL20_60
578 PIXEL21_70
579 PIXEL22_30
580 PIXEL23_10
581 PIXEL30_20
582 PIXEL31_60
583 PIXEL32_61
584 PIXEL33_80
585 break;
586 }
587 case 80:
588 case 81:
589 {
590 PIXEL00_20
591 PIXEL01_60
592 PIXEL02_61
593 PIXEL03_80
594 PIXEL10_60
595 PIXEL11_70
596 PIXEL12_30
597 PIXEL13_10
598 PIXEL20_61
599 PIXEL21_30
600 if (Diff(w[6], w[8]))
601 {
602 PIXEL22_30
603 PIXEL23_10
604 PIXEL32_10
605 PIXEL33_80
606 }
607 else
608 {
609 PIXEL22_0
610 PIXEL23_50
611 PIXEL32_50
612 PIXEL33_50
613 }
614 PIXEL30_80
615 PIXEL31_10
616 break;
617 }
618 case 72:
619 case 76:
620 {
621 PIXEL00_80
622 PIXEL01_61
623 PIXEL02_60
624 PIXEL03_20
625 PIXEL10_10
626 PIXEL11_30
627 PIXEL12_70
628 PIXEL13_60
629 if (Diff(w[8], w[4]))
630 {
631 PIXEL20_10
632 PIXEL21_30
633 PIXEL30_80
634 PIXEL31_10
635 }
636 else
637 {
638 PIXEL20_50
639 PIXEL21_0
640 PIXEL30_50
641 PIXEL31_50
642 }
643 PIXEL22_30
644 PIXEL23_61
645 PIXEL32_10
646 PIXEL33_80
647 break;
648 }
649 case 10:
650 case 138:
651 {
652 if (Diff(w[4], w[2]))
653 {
654 PIXEL00_80
655 PIXEL01_10
656 PIXEL10_10
657 PIXEL11_30
658 }
659 else
660 {
661 PIXEL00_50
662 PIXEL01_50
663 PIXEL10_50
664 PIXEL11_0
665 }
666 PIXEL02_10
667 PIXEL03_80
668 PIXEL12_30
669 PIXEL13_61
670 PIXEL20_10
671 PIXEL21_30
672 PIXEL22_70
673 PIXEL23_60
674 PIXEL30_80
675 PIXEL31_61
676 PIXEL32_60
677 PIXEL33_20
678 break;
679 }
680 case 66:
681 {
682 PIXEL00_80
683 PIXEL01_10
684 PIXEL02_10
685 PIXEL03_80
686 PIXEL10_61
687 PIXEL11_30
688 PIXEL12_30
689 PIXEL13_61
690 PIXEL20_61
691 PIXEL21_30
692 PIXEL22_30
693 PIXEL23_61
694 PIXEL30_80
695 PIXEL31_10
696 PIXEL32_10
697 PIXEL33_80
698 break;
699 }
700 case 24:
701 {
702 PIXEL00_80
703 PIXEL01_61
704 PIXEL02_61
705 PIXEL03_80
706 PIXEL10_10
707 PIXEL11_30
708 PIXEL12_30
709 PIXEL13_10
710 PIXEL20_10
711 PIXEL21_30
712 PIXEL22_30
713 PIXEL23_10
714 PIXEL30_80
715 PIXEL31_61
716 PIXEL32_61
717 PIXEL33_80
718 break;
719 }
720 case 7:
721 case 39:
722 case 135:
723 {
724 PIXEL00_81
725 PIXEL01_31
726 PIXEL02_32
727 PIXEL03_82
728 PIXEL10_81
729 PIXEL11_31
730 PIXEL12_32
731 PIXEL13_82
732 PIXEL20_60
733 PIXEL21_70
734 PIXEL22_70
735 PIXEL23_60
736 PIXEL30_20
737 PIXEL31_60
738 PIXEL32_60
739 PIXEL33_20
740 break;
741 }
742 case 148:
743 case 149:
744 case 180:
745 {
746 PIXEL00_20
747 PIXEL01_60
748 PIXEL02_81
749 PIXEL03_81
750 PIXEL10_60
751 PIXEL11_70
752 PIXEL12_31
753 PIXEL13_31
754 PIXEL20_60
755 PIXEL21_70
756 PIXEL22_32
757 PIXEL23_32
758 PIXEL30_20
759 PIXEL31_60
760 PIXEL32_82
761 PIXEL33_82
762 break;
763 }
764 case 224:
765 case 228:
766 case 225:
767 {
768 PIXEL00_20
769 PIXEL01_60
770 PIXEL02_60
771 PIXEL03_20
772 PIXEL10_60
773 PIXEL11_70
774 PIXEL12_70
775 PIXEL13_60
776 PIXEL20_82
777 PIXEL21_32
778 PIXEL22_31
779 PIXEL23_81
780 PIXEL30_82
781 PIXEL31_32
782 PIXEL32_31
783 PIXEL33_81
784 break;
785 }
786 case 41:
787 case 169:
788 case 45:
789 {
790 PIXEL00_82
791 PIXEL01_82
792 PIXEL02_60
793 PIXEL03_20
794 PIXEL10_32
795 PIXEL11_32
796 PIXEL12_70
797 PIXEL13_60
798 PIXEL20_31
799 PIXEL21_31
800 PIXEL22_70
801 PIXEL23_60
802 PIXEL30_81
803 PIXEL31_81
804 PIXEL32_60
805 PIXEL33_20
806 break;
807 }
808 case 22:
809 case 54:
810 {
811 PIXEL00_80
812 PIXEL01_10
813 if (Diff(w[2], w[6]))
814 {
815 PIXEL02_0
816 PIXEL03_0
817 PIXEL13_0
818 }
819 else
820 {
821 PIXEL02_50
822 PIXEL03_50
823 PIXEL13_50
824 }
825 PIXEL10_61
826 PIXEL11_30
827 PIXEL12_0
828 PIXEL20_60
829 PIXEL21_70
830 PIXEL22_30
831 PIXEL23_10
832 PIXEL30_20
833 PIXEL31_60
834 PIXEL32_61
835 PIXEL33_80
836 break;
837 }
838 case 208:
839 case 209:
840 {
841 PIXEL00_20
842 PIXEL01_60
843 PIXEL02_61
844 PIXEL03_80
845 PIXEL10_60
846 PIXEL11_70
847 PIXEL12_30
848 PIXEL13_10
849 PIXEL20_61
850 PIXEL21_30
851 PIXEL22_0
852 if (Diff(w[6], w[8]))
853 {
854 PIXEL23_0
855 PIXEL32_0
856 PIXEL33_0
857 }
858 else
859 {
860 PIXEL23_50
861 PIXEL32_50
862 PIXEL33_50
863 }
864 PIXEL30_80
865 PIXEL31_10
866 break;
867 }
868 case 104:
869 case 108:
870 {
871 PIXEL00_80
872 PIXEL01_61
873 PIXEL02_60
874 PIXEL03_20
875 PIXEL10_10
876 PIXEL11_30
877 PIXEL12_70
878 PIXEL13_60
879 if (Diff(w[8], w[4]))
880 {
881 PIXEL20_0
882 PIXEL30_0
883 PIXEL31_0
884 }
885 else
886 {
887 PIXEL20_50
888 PIXEL30_50
889 PIXEL31_50
890 }
891 PIXEL21_0
892 PIXEL22_30
893 PIXEL23_61
894 PIXEL32_10
895 PIXEL33_80
896 break;
897 }
898 case 11:
899 case 139:
900 {
901 if (Diff(w[4], w[2]))
902 {
903 PIXEL00_0
904 PIXEL01_0
905 PIXEL10_0
906 }
907 else
908 {
909 PIXEL00_50
910 PIXEL01_50
911 PIXEL10_50
912 }
913 PIXEL02_10
914 PIXEL03_80
915 PIXEL11_0
916 PIXEL12_30
917 PIXEL13_61
918 PIXEL20_10
919 PIXEL21_30
920 PIXEL22_70
921 PIXEL23_60
922 PIXEL30_80
923 PIXEL31_61
924 PIXEL32_60
925 PIXEL33_20
926 break;
927 }
928 case 19:
929 case 51:
930 {
931 if (Diff(w[2], w[6]))
932 {
933 PIXEL00_81
934 PIXEL01_31
935 PIXEL02_10
936 PIXEL03_80
937 PIXEL12_30
938 PIXEL13_10
939 }
940 else
941 {
942 PIXEL00_12
943 PIXEL01_14
944 PIXEL02_83
945 PIXEL03_50
946 PIXEL12_70
947 PIXEL13_21
948 }
949 PIXEL10_81
950 PIXEL11_31
951 PIXEL20_60
952 PIXEL21_70
953 PIXEL22_30
954 PIXEL23_10
955 PIXEL30_20
956 PIXEL31_60
957 PIXEL32_61
958 PIXEL33_80
959 break;
960 }
961 case 146:
962 case 178:
963 {
964 PIXEL00_80
965 PIXEL01_10
966 if (Diff(w[2], w[6]))
967 {
968 PIXEL02_10
969 PIXEL03_80
970 PIXEL12_30
971 PIXEL13_10
972 PIXEL23_32
973 PIXEL33_82
974 }
975 else
976 {
977 PIXEL02_21
978 PIXEL03_50
979 PIXEL12_70
980 PIXEL13_83
981 PIXEL23_13
982 PIXEL33_11
983 }
984 PIXEL10_61
985 PIXEL11_30
986 PIXEL20_60
987 PIXEL21_70
988 PIXEL22_32
989 PIXEL30_20
990 PIXEL31_60
991 PIXEL32_82
992 break;
993 }
994 case 84:
995 case 85:
996 {
997 PIXEL00_20
998 PIXEL01_60
999 PIXEL02_81
1000 if (Diff(w[6], w[8]))
1001 {
1002 PIXEL03_81
1003 PIXEL13_31
1004 PIXEL22_30
1005 PIXEL23_10
1006 PIXEL32_10
1007 PIXEL33_80
1008 }
1009 else
1010 {
1011 PIXEL03_12
1012 PIXEL13_14
1013 PIXEL22_70
1014 PIXEL23_83
1015 PIXEL32_21
1016 PIXEL33_50
1017 }
1018 PIXEL10_60
1019 PIXEL11_70
1020 PIXEL12_31
1021 PIXEL20_61
1022 PIXEL21_30
1023 PIXEL30_80
1024 PIXEL31_10
1025 break;
1026 }
1027 case 112:
1028 case 113:
1029 {
1030 PIXEL00_20
1031 PIXEL01_60
1032 PIXEL02_61
1033 PIXEL03_80
1034 PIXEL10_60
1035 PIXEL11_70
1036 PIXEL12_30
1037 PIXEL13_10
1038 PIXEL20_82
1039 PIXEL21_32
1040 if (Diff(w[6], w[8]))
1041 {
1042 PIXEL22_30
1043 PIXEL23_10
1044 PIXEL30_82
1045 PIXEL31_32
1046 PIXEL32_10
1047 PIXEL33_80
1048 }
1049 else
1050 {
1051 PIXEL22_70
1052 PIXEL23_21
1053 PIXEL30_11
1054 PIXEL31_13
1055 PIXEL32_83
1056 PIXEL33_50
1057 }
1058 break;
1059 }
1060 case 200:
1061 case 204:
1062 {
1063 PIXEL00_80
1064 PIXEL01_61
1065 PIXEL02_60
1066 PIXEL03_20
1067 PIXEL10_10
1068 PIXEL11_30
1069 PIXEL12_70
1070 PIXEL13_60
1071 if (Diff(w[8], w[4]))
1072 {
1073 PIXEL20_10
1074 PIXEL21_30
1075 PIXEL30_80
1076 PIXEL31_10
1077 PIXEL32_31
1078 PIXEL33_81
1079 }
1080 else
1081 {
1082 PIXEL20_21
1083 PIXEL21_70
1084 PIXEL30_50
1085 PIXEL31_83
1086 PIXEL32_14
1087 PIXEL33_12
1088 }
1089 PIXEL22_31
1090 PIXEL23_81
1091 break;
1092 }
1093 case 73:
1094 case 77:
1095 {
1096 if (Diff(w[8], w[4]))
1097 {
1098 PIXEL00_82
1099 PIXEL10_32
1100 PIXEL20_10
1101 PIXEL21_30
1102 PIXEL30_80
1103 PIXEL31_10
1104 }
1105 else
1106 {
1107 PIXEL00_11
1108 PIXEL10_13
1109 PIXEL20_83
1110 PIXEL21_70
1111 PIXEL30_50
1112 PIXEL31_21
1113 }
1114 PIXEL01_82
1115 PIXEL02_60
1116 PIXEL03_20
1117 PIXEL11_32
1118 PIXEL12_70
1119 PIXEL13_60
1120 PIXEL22_30
1121 PIXEL23_61
1122 PIXEL32_10
1123 PIXEL33_80
1124 break;
1125 }
1126 case 42:
1127 case 170:
1128 {
1129 if (Diff(w[4], w[2]))
1130 {
1131 PIXEL00_80
1132 PIXEL01_10
1133 PIXEL10_10
1134 PIXEL11_30
1135 PIXEL20_31
1136 PIXEL30_81
1137 }
1138 else
1139 {
1140 PIXEL00_50
1141 PIXEL01_21
1142 PIXEL10_83
1143 PIXEL11_70
1144 PIXEL20_14
1145 PIXEL30_12
1146 }
1147 PIXEL02_10
1148 PIXEL03_80
1149 PIXEL12_30
1150 PIXEL13_61
1151 PIXEL21_31
1152 PIXEL22_70
1153 PIXEL23_60
1154 PIXEL31_81
1155 PIXEL32_60
1156 PIXEL33_20
1157 break;
1158 }
1159 case 14:
1160 case 142:
1161 {
1162 if (Diff(w[4], w[2]))
1163 {
1164 PIXEL00_80
1165 PIXEL01_10
1166 PIXEL02_32
1167 PIXEL03_82
1168 PIXEL10_10
1169 PIXEL11_30
1170 }
1171 else
1172 {
1173 PIXEL00_50
1174 PIXEL01_83
1175 PIXEL02_13
1176 PIXEL03_11
1177 PIXEL10_21
1178 PIXEL11_70
1179 }
1180 PIXEL12_32
1181 PIXEL13_82
1182 PIXEL20_10
1183 PIXEL21_30
1184 PIXEL22_70
1185 PIXEL23_60
1186 PIXEL30_80
1187 PIXEL31_61
1188 PIXEL32_60
1189 PIXEL33_20
1190 break;
1191 }
1192 case 67:
1193 {
1194 PIXEL00_81
1195 PIXEL01_31
1196 PIXEL02_10
1197 PIXEL03_80
1198 PIXEL10_81
1199 PIXEL11_31
1200 PIXEL12_30
1201 PIXEL13_61
1202 PIXEL20_61
1203 PIXEL21_30
1204 PIXEL22_30
1205 PIXEL23_61
1206 PIXEL30_80
1207 PIXEL31_10
1208 PIXEL32_10
1209 PIXEL33_80
1210 break;
1211 }
1212 case 70:
1213 {
1214 PIXEL00_80
1215 PIXEL01_10
1216 PIXEL02_32
1217 PIXEL03_82
1218 PIXEL10_61
1219 PIXEL11_30
1220 PIXEL12_32
1221 PIXEL13_82
1222 PIXEL20_61
1223 PIXEL21_30
1224 PIXEL22_30
1225 PIXEL23_61
1226 PIXEL30_80
1227 PIXEL31_10
1228 PIXEL32_10
1229 PIXEL33_80
1230 break;
1231 }
1232 case 28:
1233 {
1234 PIXEL00_80
1235 PIXEL01_61
1236 PIXEL02_81
1237 PIXEL03_81
1238 PIXEL10_10
1239 PIXEL11_30
1240 PIXEL12_31
1241 PIXEL13_31
1242 PIXEL20_10
1243 PIXEL21_30
1244 PIXEL22_30
1245 PIXEL23_10
1246 PIXEL30_80
1247 PIXEL31_61
1248 PIXEL32_61
1249 PIXEL33_80
1250 break;
1251 }
1252 case 152:
1253 {
1254 PIXEL00_80
1255 PIXEL01_61
1256 PIXEL02_61
1257 PIXEL03_80
1258 PIXEL10_10
1259 PIXEL11_30
1260 PIXEL12_30
1261 PIXEL13_10
1262 PIXEL20_10
1263 PIXEL21_30
1264 PIXEL22_32
1265 PIXEL23_32
1266 PIXEL30_80
1267 PIXEL31_61
1268 PIXEL32_82
1269 PIXEL33_82
1270 break;
1271 }
1272 case 194:
1273 {
1274 PIXEL00_80
1275 PIXEL01_10
1276 PIXEL02_10
1277 PIXEL03_80
1278 PIXEL10_61
1279 PIXEL11_30
1280 PIXEL12_30
1281 PIXEL13_61
1282 PIXEL20_61
1283 PIXEL21_30
1284 PIXEL22_31
1285 PIXEL23_81
1286 PIXEL30_80
1287 PIXEL31_10
1288 PIXEL32_31
1289 PIXEL33_81
1290 break;
1291 }
1292 case 98:
1293 {
1294 PIXEL00_80
1295 PIXEL01_10
1296 PIXEL02_10
1297 PIXEL03_80
1298 PIXEL10_61
1299 PIXEL11_30
1300 PIXEL12_30
1301 PIXEL13_61
1302 PIXEL20_82
1303 PIXEL21_32
1304 PIXEL22_30
1305 PIXEL23_61
1306 PIXEL30_82
1307 PIXEL31_32
1308 PIXEL32_10
1309 PIXEL33_80
1310 break;
1311 }
1312 case 56:
1313 {
1314 PIXEL00_80
1315 PIXEL01_61
1316 PIXEL02_61
1317 PIXEL03_80
1318 PIXEL10_10
1319 PIXEL11_30
1320 PIXEL12_30
1321 PIXEL13_10
1322 PIXEL20_31
1323 PIXEL21_31
1324 PIXEL22_30
1325 PIXEL23_10
1326 PIXEL30_81
1327 PIXEL31_81
1328 PIXEL32_61
1329 PIXEL33_80
1330 break;
1331 }
1332 case 25:
1333 {
1334 PIXEL00_82
1335 PIXEL01_82
1336 PIXEL02_61
1337 PIXEL03_80
1338 PIXEL10_32
1339 PIXEL11_32
1340 PIXEL12_30
1341 PIXEL13_10
1342 PIXEL20_10
1343 PIXEL21_30
1344 PIXEL22_30
1345 PIXEL23_10
1346 PIXEL30_80
1347 PIXEL31_61
1348 PIXEL32_61
1349 PIXEL33_80
1350 break;
1351 }
1352 case 26:
1353 case 31:
1354 {
1355 if (Diff(w[4], w[2]))
1356 {
1357 PIXEL00_0
1358 PIXEL01_0
1359 PIXEL10_0
1360 }
1361 else
1362 {
1363 PIXEL00_50
1364 PIXEL01_50
1365 PIXEL10_50
1366 }
1367 if (Diff(w[2], w[6]))
1368 {
1369 PIXEL02_0
1370 PIXEL03_0
1371 PIXEL13_0
1372 }
1373 else
1374 {
1375 PIXEL02_50
1376 PIXEL03_50
1377 PIXEL13_50
1378 }
1379 PIXEL11_0
1380 PIXEL12_0
1381 PIXEL20_10
1382 PIXEL21_30
1383 PIXEL22_30
1384 PIXEL23_10
1385 PIXEL30_80
1386 PIXEL31_61
1387 PIXEL32_61
1388 PIXEL33_80
1389 break;
1390 }
1391 case 82:
1392 case 214:
1393 {
1394 PIXEL00_80
1395 PIXEL01_10
1396 if (Diff(w[2], w[6]))
1397 {
1398 PIXEL02_0
1399 PIXEL03_0
1400 PIXEL13_0
1401 }
1402 else
1403 {
1404 PIXEL02_50
1405 PIXEL03_50
1406 PIXEL13_50
1407 }
1408 PIXEL10_61
1409 PIXEL11_30
1410 PIXEL12_0
1411 PIXEL20_61
1412 PIXEL21_30
1413 PIXEL22_0
1414 if (Diff(w[6], w[8]))
1415 {
1416 PIXEL23_0
1417 PIXEL32_0
1418 PIXEL33_0
1419 }
1420 else
1421 {
1422 PIXEL23_50
1423 PIXEL32_50
1424 PIXEL33_50
1425 }
1426 PIXEL30_80
1427 PIXEL31_10
1428 break;
1429 }
1430 case 88:
1431 case 248:
1432 {
1433 PIXEL00_80
1434 PIXEL01_61
1435 PIXEL02_61
1436 PIXEL03_80
1437 PIXEL10_10
1438 PIXEL11_30
1439 PIXEL12_30
1440 PIXEL13_10
1441 if (Diff(w[8], w[4]))
1442 {
1443 PIXEL20_0
1444 PIXEL30_0
1445 PIXEL31_0
1446 }
1447 else
1448 {
1449 PIXEL20_50
1450 PIXEL30_50
1451 PIXEL31_50
1452 }
1453 PIXEL21_0
1454 PIXEL22_0
1455 if (Diff(w[6], w[8]))
1456 {
1457 PIXEL23_0
1458 PIXEL32_0
1459 PIXEL33_0
1460 }
1461 else
1462 {
1463 PIXEL23_50
1464 PIXEL32_50
1465 PIXEL33_50
1466 }
1467 break;
1468 }
1469 case 74:
1470 case 107:
1471 {
1472 if (Diff(w[4], w[2]))
1473 {
1474 PIXEL00_0
1475 PIXEL01_0
1476 PIXEL10_0
1477 }
1478 else
1479 {
1480 PIXEL00_50
1481 PIXEL01_50
1482 PIXEL10_50
1483 }
1484 PIXEL02_10
1485 PIXEL03_80
1486 PIXEL11_0
1487 PIXEL12_30
1488 PIXEL13_61
1489 if (Diff(w[8], w[4]))
1490 {
1491 PIXEL20_0
1492 PIXEL30_0
1493 PIXEL31_0
1494 }
1495 else
1496 {
1497 PIXEL20_50
1498 PIXEL30_50
1499 PIXEL31_50
1500 }
1501 PIXEL21_0
1502 PIXEL22_30
1503 PIXEL23_61
1504 PIXEL32_10
1505 PIXEL33_80
1506 break;
1507 }
1508 case 27:
1509 {
1510 if (Diff(w[4], w[2]))
1511 {
1512 PIXEL00_0
1513 PIXEL01_0
1514 PIXEL10_0
1515 }
1516 else
1517 {
1518 PIXEL00_50
1519 PIXEL01_50
1520 PIXEL10_50
1521 }
1522 PIXEL02_10
1523 PIXEL03_80
1524 PIXEL11_0
1525 PIXEL12_30
1526 PIXEL13_10
1527 PIXEL20_10
1528 PIXEL21_30
1529 PIXEL22_30
1530 PIXEL23_10
1531 PIXEL30_80
1532 PIXEL31_61
1533 PIXEL32_61
1534 PIXEL33_80
1535 break;
1536 }
1537 case 86:
1538 {
1539 PIXEL00_80
1540 PIXEL01_10
1541 if (Diff(w[2], w[6]))
1542 {
1543 PIXEL02_0
1544 PIXEL03_0
1545 PIXEL13_0
1546 }
1547 else
1548 {
1549 PIXEL02_50
1550 PIXEL03_50
1551 PIXEL13_50
1552 }
1553 PIXEL10_61
1554 PIXEL11_30
1555 PIXEL12_0
1556 PIXEL20_61
1557 PIXEL21_30
1558 PIXEL22_30
1559 PIXEL23_10
1560 PIXEL30_80
1561 PIXEL31_10
1562 PIXEL32_10
1563 PIXEL33_80
1564 break;
1565 }
1566 case 216:
1567 {
1568 PIXEL00_80
1569 PIXEL01_61
1570 PIXEL02_61
1571 PIXEL03_80
1572 PIXEL10_10
1573 PIXEL11_30
1574 PIXEL12_30
1575 PIXEL13_10
1576 PIXEL20_10
1577 PIXEL21_30
1578 PIXEL22_0
1579 if (Diff(w[6], w[8]))
1580 {
1581 PIXEL23_0
1582 PIXEL32_0
1583 PIXEL33_0
1584 }
1585 else
1586 {
1587 PIXEL23_50
1588 PIXEL32_50
1589 PIXEL33_50
1590 }
1591 PIXEL30_80
1592 PIXEL31_10
1593 break;
1594 }
1595 case 106:
1596 {
1597 PIXEL00_80
1598 PIXEL01_10
1599 PIXEL02_10
1600 PIXEL03_80
1601 PIXEL10_10
1602 PIXEL11_30
1603 PIXEL12_30
1604 PIXEL13_61
1605 if (Diff(w[8], w[4]))
1606 {
1607 PIXEL20_0
1608 PIXEL30_0
1609 PIXEL31_0
1610 }
1611 else
1612 {
1613 PIXEL20_50
1614 PIXEL30_50
1615 PIXEL31_50
1616 }
1617 PIXEL21_0
1618 PIXEL22_30
1619 PIXEL23_61
1620 PIXEL32_10
1621 PIXEL33_80
1622 break;
1623 }
1624 case 30:
1625 {
1626 PIXEL00_80
1627 PIXEL01_10
1628 if (Diff(w[2], w[6]))
1629 {
1630 PIXEL02_0
1631 PIXEL03_0
1632 PIXEL13_0
1633 }
1634 else
1635 {
1636 PIXEL02_50
1637 PIXEL03_50
1638 PIXEL13_50
1639 }
1640 PIXEL10_10
1641 PIXEL11_30
1642 PIXEL12_0
1643 PIXEL20_10
1644 PIXEL21_30
1645 PIXEL22_30
1646 PIXEL23_10
1647 PIXEL30_80
1648 PIXEL31_61
1649 PIXEL32_61
1650 PIXEL33_80
1651 break;
1652 }
1653 case 210:
1654 {
1655 PIXEL00_80
1656 PIXEL01_10
1657 PIXEL02_10
1658 PIXEL03_80
1659 PIXEL10_61
1660 PIXEL11_30
1661 PIXEL12_30
1662 PIXEL13_10
1663 PIXEL20_61
1664 PIXEL21_30
1665 PIXEL22_0
1666 if (Diff(w[6], w[8]))
1667 {
1668 PIXEL23_0
1669 PIXEL32_0
1670 PIXEL33_0
1671 }
1672 else
1673 {
1674 PIXEL23_50
1675 PIXEL32_50
1676 PIXEL33_50
1677 }
1678 PIXEL30_80
1679 PIXEL31_10
1680 break;
1681 }
1682 case 120:
1683 {
1684 PIXEL00_80
1685 PIXEL01_61
1686 PIXEL02_61
1687 PIXEL03_80
1688 PIXEL10_10
1689 PIXEL11_30
1690 PIXEL12_30
1691 PIXEL13_10
1692 if (Diff(w[8], w[4]))
1693 {
1694 PIXEL20_0
1695 PIXEL30_0
1696 PIXEL31_0
1697 }
1698 else
1699 {
1700 PIXEL20_50
1701 PIXEL30_50
1702 PIXEL31_50
1703 }
1704 PIXEL21_0
1705 PIXEL22_30
1706 PIXEL23_10
1707 PIXEL32_10
1708 PIXEL33_80
1709 break;
1710 }
1711 case 75:
1712 {
1713 if (Diff(w[4], w[2]))
1714 {
1715 PIXEL00_0
1716 PIXEL01_0
1717 PIXEL10_0
1718 }
1719 else
1720 {
1721 PIXEL00_50
1722 PIXEL01_50
1723 PIXEL10_50
1724 }
1725 PIXEL02_10
1726 PIXEL03_80
1727 PIXEL11_0
1728 PIXEL12_30
1729 PIXEL13_61
1730 PIXEL20_10
1731 PIXEL21_30
1732 PIXEL22_30
1733 PIXEL23_61
1734 PIXEL30_80
1735 PIXEL31_10
1736 PIXEL32_10
1737 PIXEL33_80
1738 break;
1739 }
1740 case 29:
1741 {
1742 PIXEL00_82
1743 PIXEL01_82
1744 PIXEL02_81
1745 PIXEL03_81
1746 PIXEL10_32
1747 PIXEL11_32
1748 PIXEL12_31
1749 PIXEL13_31
1750 PIXEL20_10
1751 PIXEL21_30
1752 PIXEL22_30
1753 PIXEL23_10
1754 PIXEL30_80
1755 PIXEL31_61
1756 PIXEL32_61
1757 PIXEL33_80
1758 break;
1759 }
1760 case 198:
1761 {
1762 PIXEL00_80
1763 PIXEL01_10
1764 PIXEL02_32
1765 PIXEL03_82
1766 PIXEL10_61
1767 PIXEL11_30
1768 PIXEL12_32
1769 PIXEL13_82
1770 PIXEL20_61
1771 PIXEL21_30
1772 PIXEL22_31
1773 PIXEL23_81
1774 PIXEL30_80
1775 PIXEL31_10
1776 PIXEL32_31
1777 PIXEL33_81
1778 break;
1779 }
1780 case 184:
1781 {
1782 PIXEL00_80
1783 PIXEL01_61
1784 PIXEL02_61
1785 PIXEL03_80
1786 PIXEL10_10
1787 PIXEL11_30
1788 PIXEL12_30
1789 PIXEL13_10
1790 PIXEL20_31
1791 PIXEL21_31
1792 PIXEL22_32
1793 PIXEL23_32
1794 PIXEL30_81
1795 PIXEL31_81
1796 PIXEL32_82
1797 PIXEL33_82
1798 break;
1799 }
1800 case 99:
1801 {
1802 PIXEL00_81
1803 PIXEL01_31
1804 PIXEL02_10
1805 PIXEL03_80
1806 PIXEL10_81
1807 PIXEL11_31
1808 PIXEL12_30
1809 PIXEL13_61
1810 PIXEL20_82
1811 PIXEL21_32
1812 PIXEL22_30
1813 PIXEL23_61
1814 PIXEL30_82
1815 PIXEL31_32
1816 PIXEL32_10
1817 PIXEL33_80
1818 break;
1819 }
1820 case 57:
1821 {
1822 PIXEL00_82
1823 PIXEL01_82
1824 PIXEL02_61
1825 PIXEL03_80
1826 PIXEL10_32
1827 PIXEL11_32
1828 PIXEL12_30
1829 PIXEL13_10
1830 PIXEL20_31
1831 PIXEL21_31
1832 PIXEL22_30
1833 PIXEL23_10
1834 PIXEL30_81
1835 PIXEL31_81
1836 PIXEL32_61
1837 PIXEL33_80
1838 break;
1839 }
1840 case 71:
1841 {
1842 PIXEL00_81
1843 PIXEL01_31
1844 PIXEL02_32
1845 PIXEL03_82
1846 PIXEL10_81
1847 PIXEL11_31
1848 PIXEL12_32
1849 PIXEL13_82
1850 PIXEL20_61
1851 PIXEL21_30
1852 PIXEL22_30
1853 PIXEL23_61
1854 PIXEL30_80
1855 PIXEL31_10
1856 PIXEL32_10
1857 PIXEL33_80
1858 break;
1859 }
1860 case 156:
1861 {
1862 PIXEL00_80
1863 PIXEL01_61
1864 PIXEL02_81
1865 PIXEL03_81
1866 PIXEL10_10
1867 PIXEL11_30
1868 PIXEL12_31
1869 PIXEL13_31
1870 PIXEL20_10
1871 PIXEL21_30
1872 PIXEL22_32
1873 PIXEL23_32
1874 PIXEL30_80
1875 PIXEL31_61
1876 PIXEL32_82
1877 PIXEL33_82
1878 break;
1879 }
1880 case 226:
1881 {
1882 PIXEL00_80
1883 PIXEL01_10
1884 PIXEL02_10
1885 PIXEL03_80
1886 PIXEL10_61
1887 PIXEL11_30
1888 PIXEL12_30
1889 PIXEL13_61
1890 PIXEL20_82
1891 PIXEL21_32
1892 PIXEL22_31
1893 PIXEL23_81
1894 PIXEL30_82
1895 PIXEL31_32
1896 PIXEL32_31
1897 PIXEL33_81
1898 break;
1899 }
1900 case 60:
1901 {
1902 PIXEL00_80
1903 PIXEL01_61
1904 PIXEL02_81
1905 PIXEL03_81
1906 PIXEL10_10
1907 PIXEL11_30
1908 PIXEL12_31
1909 PIXEL13_31
1910 PIXEL20_31
1911 PIXEL21_31
1912 PIXEL22_30
1913 PIXEL23_10
1914 PIXEL30_81
1915 PIXEL31_81
1916 PIXEL32_61
1917 PIXEL33_80
1918 break;
1919 }
1920 case 195:
1921 {
1922 PIXEL00_81
1923 PIXEL01_31
1924 PIXEL02_10
1925 PIXEL03_80
1926 PIXEL10_81
1927 PIXEL11_31
1928 PIXEL12_30
1929 PIXEL13_61
1930 PIXEL20_61
1931 PIXEL21_30
1932 PIXEL22_31
1933 PIXEL23_81
1934 PIXEL30_80
1935 PIXEL31_10
1936 PIXEL32_31
1937 PIXEL33_81
1938 break;
1939 }
1940 case 102:
1941 {
1942 PIXEL00_80
1943 PIXEL01_10
1944 PIXEL02_32
1945 PIXEL03_82
1946 PIXEL10_61
1947 PIXEL11_30
1948 PIXEL12_32
1949 PIXEL13_82
1950 PIXEL20_82
1951 PIXEL21_32
1952 PIXEL22_30
1953 PIXEL23_61
1954 PIXEL30_82
1955 PIXEL31_32
1956 PIXEL32_10
1957 PIXEL33_80
1958 break;
1959 }
1960 case 153:
1961 {
1962 PIXEL00_82
1963 PIXEL01_82
1964 PIXEL02_61
1965 PIXEL03_80
1966 PIXEL10_32
1967 PIXEL11_32
1968 PIXEL12_30
1969 PIXEL13_10
1970 PIXEL20_10
1971 PIXEL21_30
1972 PIXEL22_32
1973 PIXEL23_32
1974 PIXEL30_80
1975 PIXEL31_61
1976 PIXEL32_82
1977 PIXEL33_82
1978 break;
1979 }
1980 case 58:
1981 {
1982 if (Diff(w[4], w[2]))
1983 {
1984 PIXEL00_80
1985 PIXEL01_10
1986 PIXEL10_10
1987 PIXEL11_30
1988 }
1989 else
1990 {
1991 PIXEL00_20
1992 PIXEL01_12
1993 PIXEL10_11
1994 PIXEL11_0
1995 }
1996 if (Diff(w[2], w[6]))
1997 {
1998 PIXEL02_10
1999 PIXEL03_80
2000 PIXEL12_30
2001 PIXEL13_10
2002 }
2003 else
2004 {
2005 PIXEL02_11
2006 PIXEL03_20
2007 PIXEL12_0
2008 PIXEL13_12
2009 }
2010 PIXEL20_31
2011 PIXEL21_31
2012 PIXEL22_30
2013 PIXEL23_10
2014 PIXEL30_81
2015 PIXEL31_81
2016 PIXEL32_61
2017 PIXEL33_80
2018 break;
2019 }
2020 case 83:
2021 {
2022 PIXEL00_81
2023 PIXEL01_31
2024 if (Diff(w[2], w[6]))
2025 {
2026 PIXEL02_10
2027 PIXEL03_80
2028 PIXEL12_30
2029 PIXEL13_10
2030 }
2031 else
2032 {
2033 PIXEL02_11
2034 PIXEL03_20
2035 PIXEL12_0
2036 PIXEL13_12
2037 }
2038 PIXEL10_81
2039 PIXEL11_31
2040 PIXEL20_61
2041 PIXEL21_30
2042 if (Diff(w[6], w[8]))
2043 {
2044 PIXEL22_30
2045 PIXEL23_10
2046 PIXEL32_10
2047 PIXEL33_80
2048 }
2049 else
2050 {
2051 PIXEL22_0
2052 PIXEL23_11
2053 PIXEL32_12
2054 PIXEL33_20
2055 }
2056 PIXEL30_80
2057 PIXEL31_10
2058 break;
2059 }
2060 case 92:
2061 {
2062 PIXEL00_80
2063 PIXEL01_61
2064 PIXEL02_81
2065 PIXEL03_81
2066 PIXEL10_10
2067 PIXEL11_30
2068 PIXEL12_31
2069 PIXEL13_31
2070 if (Diff(w[8], w[4]))
2071 {
2072 PIXEL20_10
2073 PIXEL21_30
2074 PIXEL30_80
2075 PIXEL31_10
2076 }
2077 else
2078 {
2079 PIXEL20_12
2080 PIXEL21_0
2081 PIXEL30_20
2082 PIXEL31_11
2083 }
2084 if (Diff(w[6], w[8]))
2085 {
2086 PIXEL22_30
2087 PIXEL23_10
2088 PIXEL32_10
2089 PIXEL33_80
2090 }
2091 else
2092 {
2093 PIXEL22_0
2094 PIXEL23_11
2095 PIXEL32_12
2096 PIXEL33_20
2097 }
2098 break;
2099 }
2100 case 202:
2101 {
2102 if (Diff(w[4], w[2]))
2103 {
2104 PIXEL00_80
2105 PIXEL01_10
2106 PIXEL10_10
2107 PIXEL11_30
2108 }
2109 else
2110 {
2111 PIXEL00_20
2112 PIXEL01_12
2113 PIXEL10_11
2114 PIXEL11_0
2115 }
2116 PIXEL02_10
2117 PIXEL03_80
2118 PIXEL12_30
2119 PIXEL13_61
2120 if (Diff(w[8], w[4]))
2121 {
2122 PIXEL20_10
2123 PIXEL21_30
2124 PIXEL30_80
2125 PIXEL31_10
2126 }
2127 else
2128 {
2129 PIXEL20_12
2130 PIXEL21_0
2131 PIXEL30_20
2132 PIXEL31_11
2133 }
2134 PIXEL22_31
2135 PIXEL23_81
2136 PIXEL32_31
2137 PIXEL33_81
2138 break;
2139 }
2140 case 78:
2141 {
2142 if (Diff(w[4], w[2]))
2143 {
2144 PIXEL00_80
2145 PIXEL01_10
2146 PIXEL10_10
2147 PIXEL11_30
2148 }
2149 else
2150 {
2151 PIXEL00_20
2152 PIXEL01_12
2153 PIXEL10_11
2154 PIXEL11_0
2155 }
2156 PIXEL02_32
2157 PIXEL03_82
2158 PIXEL12_32
2159 PIXEL13_82
2160 if (Diff(w[8], w[4]))
2161 {
2162 PIXEL20_10
2163 PIXEL21_30
2164 PIXEL30_80
2165 PIXEL31_10
2166 }
2167 else
2168 {
2169 PIXEL20_12
2170 PIXEL21_0
2171 PIXEL30_20
2172 PIXEL31_11
2173 }
2174 PIXEL22_30
2175 PIXEL23_61
2176 PIXEL32_10
2177 PIXEL33_80
2178 break;
2179 }
2180 case 154:
2181 {
2182 if (Diff(w[4], w[2]))
2183 {
2184 PIXEL00_80
2185 PIXEL01_10
2186 PIXEL10_10
2187 PIXEL11_30
2188 }
2189 else
2190 {
2191 PIXEL00_20
2192 PIXEL01_12
2193 PIXEL10_11
2194 PIXEL11_0
2195 }
2196 if (Diff(w[2], w[6]))
2197 {
2198 PIXEL02_10
2199 PIXEL03_80
2200 PIXEL12_30
2201 PIXEL13_10
2202 }
2203 else
2204 {
2205 PIXEL02_11
2206 PIXEL03_20
2207 PIXEL12_0
2208 PIXEL13_12
2209 }
2210 PIXEL20_10
2211 PIXEL21_30
2212 PIXEL22_32
2213 PIXEL23_32
2214 PIXEL30_80
2215 PIXEL31_61
2216 PIXEL32_82
2217 PIXEL33_82
2218 break;
2219 }
2220 case 114:
2221 {
2222 PIXEL00_80
2223 PIXEL01_10
2224 if (Diff(w[2], w[6]))
2225 {
2226 PIXEL02_10
2227 PIXEL03_80
2228 PIXEL12_30
2229 PIXEL13_10
2230 }
2231 else
2232 {
2233 PIXEL02_11
2234 PIXEL03_20
2235 PIXEL12_0
2236 PIXEL13_12
2237 }
2238 PIXEL10_61
2239 PIXEL11_30
2240 PIXEL20_82
2241 PIXEL21_32
2242 if (Diff(w[6], w[8]))
2243 {
2244 PIXEL22_30
2245 PIXEL23_10
2246 PIXEL32_10
2247 PIXEL33_80
2248 }
2249 else
2250 {
2251 PIXEL22_0
2252 PIXEL23_11
2253 PIXEL32_12
2254 PIXEL33_20
2255 }
2256 PIXEL30_82
2257 PIXEL31_32
2258 break;
2259 }
2260 case 89:
2261 {
2262 PIXEL00_82
2263 PIXEL01_82
2264 PIXEL02_61
2265 PIXEL03_80
2266 PIXEL10_32
2267 PIXEL11_32
2268 PIXEL12_30
2269 PIXEL13_10
2270 if (Diff(w[8], w[4]))
2271 {
2272 PIXEL20_10
2273 PIXEL21_30
2274 PIXEL30_80
2275 PIXEL31_10
2276 }
2277 else
2278 {
2279 PIXEL20_12
2280 PIXEL21_0
2281 PIXEL30_20
2282 PIXEL31_11
2283 }
2284 if (Diff(w[6], w[8]))
2285 {
2286 PIXEL22_30
2287 PIXEL23_10
2288 PIXEL32_10
2289 PIXEL33_80
2290 }
2291 else
2292 {
2293 PIXEL22_0
2294 PIXEL23_11
2295 PIXEL32_12
2296 PIXEL33_20
2297 }
2298 break;
2299 }
2300 case 90:
2301 {
2302 if (Diff(w[4], w[2]))
2303 {
2304 PIXEL00_80
2305 PIXEL01_10
2306 PIXEL10_10
2307 PIXEL11_30
2308 }
2309 else
2310 {
2311 PIXEL00_20
2312 PIXEL01_12
2313 PIXEL10_11
2314 PIXEL11_0
2315 }
2316 if (Diff(w[2], w[6]))
2317 {
2318 PIXEL02_10
2319 PIXEL03_80
2320 PIXEL12_30
2321 PIXEL13_10
2322 }
2323 else
2324 {
2325 PIXEL02_11
2326 PIXEL03_20
2327 PIXEL12_0
2328 PIXEL13_12
2329 }
2330 if (Diff(w[8], w[4]))
2331 {
2332 PIXEL20_10
2333 PIXEL21_30
2334 PIXEL30_80
2335 PIXEL31_10
2336 }
2337 else
2338 {
2339 PIXEL20_12
2340 PIXEL21_0
2341 PIXEL30_20
2342 PIXEL31_11
2343 }
2344 if (Diff(w[6], w[8]))
2345 {
2346 PIXEL22_30
2347 PIXEL23_10
2348 PIXEL32_10
2349 PIXEL33_80
2350 }
2351 else
2352 {
2353 PIXEL22_0
2354 PIXEL23_11
2355 PIXEL32_12
2356 PIXEL33_20
2357 }
2358 break;
2359 }
2360 case 55:
2361 case 23:
2362 {
2363 if (Diff(w[2], w[6]))
2364 {
2365 PIXEL00_81
2366 PIXEL01_31
2367 PIXEL02_0
2368 PIXEL03_0
2369 PIXEL12_0
2370 PIXEL13_0
2371 }
2372 else
2373 {
2374 PIXEL00_12
2375 PIXEL01_14
2376 PIXEL02_83
2377 PIXEL03_50
2378 PIXEL12_70
2379 PIXEL13_21
2380 }
2381 PIXEL10_81
2382 PIXEL11_31
2383 PIXEL20_60
2384 PIXEL21_70
2385 PIXEL22_30
2386 PIXEL23_10
2387 PIXEL30_20
2388 PIXEL31_60
2389 PIXEL32_61
2390 PIXEL33_80
2391 break;
2392 }
2393 case 182:
2394 case 150:
2395 {
2396 PIXEL00_80
2397 PIXEL01_10
2398 if (Diff(w[2], w[6]))
2399 {
2400 PIXEL02_0
2401 PIXEL03_0
2402 PIXEL12_0
2403 PIXEL13_0
2404 PIXEL23_32
2405 PIXEL33_82
2406 }
2407 else
2408 {
2409 PIXEL02_21
2410 PIXEL03_50
2411 PIXEL12_70
2412 PIXEL13_83
2413 PIXEL23_13
2414 PIXEL33_11
2415 }
2416 PIXEL10_61
2417 PIXEL11_30
2418 PIXEL20_60
2419 PIXEL21_70
2420 PIXEL22_32
2421 PIXEL30_20
2422 PIXEL31_60
2423 PIXEL32_82
2424 break;
2425 }
2426 case 213:
2427 case 212:
2428 {
2429 PIXEL00_20
2430 PIXEL01_60
2431 PIXEL02_81
2432 if (Diff(w[6], w[8]))
2433 {
2434 PIXEL03_81
2435 PIXEL13_31
2436 PIXEL22_0
2437 PIXEL23_0
2438 PIXEL32_0
2439 PIXEL33_0
2440 }
2441 else
2442 {
2443 PIXEL03_12
2444 PIXEL13_14
2445 PIXEL22_70
2446 PIXEL23_83
2447 PIXEL32_21
2448 PIXEL33_50
2449 }
2450 PIXEL10_60
2451 PIXEL11_70
2452 PIXEL12_31
2453 PIXEL20_61
2454 PIXEL21_30
2455 PIXEL30_80
2456 PIXEL31_10
2457 break;
2458 }
2459 case 241:
2460 case 240:
2461 {
2462 PIXEL00_20
2463 PIXEL01_60
2464 PIXEL02_61
2465 PIXEL03_80
2466 PIXEL10_60
2467 PIXEL11_70
2468 PIXEL12_30
2469 PIXEL13_10
2470 PIXEL20_82
2471 PIXEL21_32
2472 if (Diff(w[6], w[8]))
2473 {
2474 PIXEL22_0
2475 PIXEL23_0
2476 PIXEL30_82
2477 PIXEL31_32
2478 PIXEL32_0
2479 PIXEL33_0
2480 }
2481 else
2482 {
2483 PIXEL22_70
2484 PIXEL23_21
2485 PIXEL30_11
2486 PIXEL31_13
2487 PIXEL32_83
2488 PIXEL33_50
2489 }
2490 break;
2491 }
2492 case 236:
2493 case 232:
2494 {
2495 PIXEL00_80
2496 PIXEL01_61
2497 PIXEL02_60
2498 PIXEL03_20
2499 PIXEL10_10
2500 PIXEL11_30
2501 PIXEL12_70
2502 PIXEL13_60
2503 if (Diff(w[8], w[4]))
2504 {
2505 PIXEL20_0
2506 PIXEL21_0
2507 PIXEL30_0
2508 PIXEL31_0
2509 PIXEL32_31
2510 PIXEL33_81
2511 }
2512 else
2513 {
2514 PIXEL20_21
2515 PIXEL21_70
2516 PIXEL30_50
2517 PIXEL31_83
2518 PIXEL32_14
2519 PIXEL33_12
2520 }
2521 PIXEL22_31
2522 PIXEL23_81
2523 break;
2524 }
2525 case 109:
2526 case 105:
2527 {
2528 if (Diff(w[8], w[4]))
2529 {
2530 PIXEL00_82
2531 PIXEL10_32
2532 PIXEL20_0
2533 PIXEL21_0
2534 PIXEL30_0
2535 PIXEL31_0
2536 }
2537 else
2538 {
2539 PIXEL00_11
2540 PIXEL10_13
2541 PIXEL20_83
2542 PIXEL21_70
2543 PIXEL30_50
2544 PIXEL31_21
2545 }
2546 PIXEL01_82
2547 PIXEL02_60
2548 PIXEL03_20
2549 PIXEL11_32
2550 PIXEL12_70
2551 PIXEL13_60
2552 PIXEL22_30
2553 PIXEL23_61
2554 PIXEL32_10
2555 PIXEL33_80
2556 break;
2557 }
2558 case 171:
2559 case 43:
2560 {
2561 if (Diff(w[4], w[2]))
2562 {
2563 PIXEL00_0
2564 PIXEL01_0
2565 PIXEL10_0
2566 PIXEL11_0
2567 PIXEL20_31
2568 PIXEL30_81
2569 }
2570 else
2571 {
2572 PIXEL00_50
2573 PIXEL01_21
2574 PIXEL10_83
2575 PIXEL11_70
2576 PIXEL20_14
2577 PIXEL30_12
2578 }
2579 PIXEL02_10
2580 PIXEL03_80
2581 PIXEL12_30
2582 PIXEL13_61
2583 PIXEL21_31
2584 PIXEL22_70
2585 PIXEL23_60
2586 PIXEL31_81
2587 PIXEL32_60
2588 PIXEL33_20
2589 break;
2590 }
2591 case 143:
2592 case 15:
2593 {
2594 if (Diff(w[4], w[2]))
2595 {
2596 PIXEL00_0
2597 PIXEL01_0
2598 PIXEL02_32
2599 PIXEL03_82
2600 PIXEL10_0
2601 PIXEL11_0
2602 }
2603 else
2604 {
2605 PIXEL00_50
2606 PIXEL01_83
2607 PIXEL02_13
2608 PIXEL03_11
2609 PIXEL10_21
2610 PIXEL11_70
2611 }
2612 PIXEL12_32
2613 PIXEL13_82
2614 PIXEL20_10
2615 PIXEL21_30
2616 PIXEL22_70
2617 PIXEL23_60
2618 PIXEL30_80
2619 PIXEL31_61
2620 PIXEL32_60
2621 PIXEL33_20
2622 break;
2623 }
2624 case 124:
2625 {
2626 PIXEL00_80
2627 PIXEL01_61
2628 PIXEL02_81
2629 PIXEL03_81
2630 PIXEL10_10
2631 PIXEL11_30
2632 PIXEL12_31
2633 PIXEL13_31
2634 if (Diff(w[8], w[4]))
2635 {
2636 PIXEL20_0
2637 PIXEL30_0
2638 PIXEL31_0
2639 }
2640 else
2641 {
2642 PIXEL20_50
2643 PIXEL30_50
2644 PIXEL31_50
2645 }
2646 PIXEL21_0
2647 PIXEL22_30
2648 PIXEL23_10
2649 PIXEL32_10
2650 PIXEL33_80
2651 break;
2652 }
2653 case 203:
2654 {
2655 if (Diff(w[4], w[2]))
2656 {
2657 PIXEL00_0
2658 PIXEL01_0
2659 PIXEL10_0
2660 }
2661 else
2662 {
2663 PIXEL00_50
2664 PIXEL01_50
2665 PIXEL10_50
2666 }
2667 PIXEL02_10
2668 PIXEL03_80
2669 PIXEL11_0
2670 PIXEL12_30
2671 PIXEL13_61
2672 PIXEL20_10
2673 PIXEL21_30
2674 PIXEL22_31
2675 PIXEL23_81
2676 PIXEL30_80
2677 PIXEL31_10
2678 PIXEL32_31
2679 PIXEL33_81
2680 break;
2681 }
2682 case 62:
2683 {
2684 PIXEL00_80
2685 PIXEL01_10
2686 if (Diff(w[2], w[6]))
2687 {
2688 PIXEL02_0
2689 PIXEL03_0
2690 PIXEL13_0
2691 }
2692 else
2693 {
2694 PIXEL02_50
2695 PIXEL03_50
2696 PIXEL13_50
2697 }
2698 PIXEL10_10
2699 PIXEL11_30
2700 PIXEL12_0
2701 PIXEL20_31
2702 PIXEL21_31
2703 PIXEL22_30
2704 PIXEL23_10
2705 PIXEL30_81
2706 PIXEL31_81
2707 PIXEL32_61
2708 PIXEL33_80
2709 break;
2710 }
2711 case 211:
2712 {
2713 PIXEL00_81
2714 PIXEL01_31
2715 PIXEL02_10
2716 PIXEL03_80
2717 PIXEL10_81
2718 PIXEL11_31
2719 PIXEL12_30
2720 PIXEL13_10
2721 PIXEL20_61
2722 PIXEL21_30
2723 PIXEL22_0
2724 if (Diff(w[6], w[8]))
2725 {
2726 PIXEL23_0
2727 PIXEL32_0
2728 PIXEL33_0
2729 }
2730 else
2731 {
2732 PIXEL23_50
2733 PIXEL32_50
2734 PIXEL33_50
2735 }
2736 PIXEL30_80
2737 PIXEL31_10
2738 break;
2739 }
2740 case 118:
2741 {
2742 PIXEL00_80
2743 PIXEL01_10
2744 if (Diff(w[2], w[6]))
2745 {
2746 PIXEL02_0
2747 PIXEL03_0
2748 PIXEL13_0
2749 }
2750 else
2751 {
2752 PIXEL02_50
2753 PIXEL03_50
2754 PIXEL13_50
2755 }
2756 PIXEL10_61
2757 PIXEL11_30
2758 PIXEL12_0
2759 PIXEL20_82
2760 PIXEL21_32
2761 PIXEL22_30
2762 PIXEL23_10
2763 PIXEL30_82
2764 PIXEL31_32
2765 PIXEL32_10
2766 PIXEL33_80
2767 break;
2768 }
2769 case 217:
2770 {
2771 PIXEL00_82
2772 PIXEL01_82
2773 PIXEL02_61
2774 PIXEL03_80
2775 PIXEL10_32
2776 PIXEL11_32
2777 PIXEL12_30
2778 PIXEL13_10
2779 PIXEL20_10
2780 PIXEL21_30
2781 PIXEL22_0
2782 if (Diff(w[6], w[8]))
2783 {
2784 PIXEL23_0
2785 PIXEL32_0
2786 PIXEL33_0
2787 }
2788 else
2789 {
2790 PIXEL23_50
2791 PIXEL32_50
2792 PIXEL33_50
2793 }
2794 PIXEL30_80
2795 PIXEL31_10
2796 break;
2797 }
2798 case 110:
2799 {
2800 PIXEL00_80
2801 PIXEL01_10
2802 PIXEL02_32
2803 PIXEL03_82
2804 PIXEL10_10
2805 PIXEL11_30
2806 PIXEL12_32
2807 PIXEL13_82
2808 if (Diff(w[8], w[4]))
2809 {
2810 PIXEL20_0
2811 PIXEL30_0
2812 PIXEL31_0
2813 }
2814 else
2815 {
2816 PIXEL20_50
2817 PIXEL30_50
2818 PIXEL31_50
2819 }
2820 PIXEL21_0
2821 PIXEL22_30
2822 PIXEL23_61
2823 PIXEL32_10
2824 PIXEL33_80
2825 break;
2826 }
2827 case 155:
2828 {
2829 if (Diff(w[4], w[2]))
2830 {
2831 PIXEL00_0
2832 PIXEL01_0
2833 PIXEL10_0
2834 }
2835 else
2836 {
2837 PIXEL00_50
2838 PIXEL01_50
2839 PIXEL10_50
2840 }
2841 PIXEL02_10
2842 PIXEL03_80
2843 PIXEL11_0
2844 PIXEL12_30
2845 PIXEL13_10
2846 PIXEL20_10
2847 PIXEL21_30
2848 PIXEL22_32
2849 PIXEL23_32
2850 PIXEL30_80
2851 PIXEL31_61
2852 PIXEL32_82
2853 PIXEL33_82
2854 break;
2855 }
2856 case 188:
2857 {
2858 PIXEL00_80
2859 PIXEL01_61
2860 PIXEL02_81
2861 PIXEL03_81
2862 PIXEL10_10
2863 PIXEL11_30
2864 PIXEL12_31
2865 PIXEL13_31
2866 PIXEL20_31
2867 PIXEL21_31
2868 PIXEL22_32
2869 PIXEL23_32
2870 PIXEL30_81
2871 PIXEL31_81
2872 PIXEL32_82
2873 PIXEL33_82
2874 break;
2875 }
2876 case 185:
2877 {
2878 PIXEL00_82
2879 PIXEL01_82
2880 PIXEL02_61
2881 PIXEL03_80
2882 PIXEL10_32
2883 PIXEL11_32
2884 PIXEL12_30
2885 PIXEL13_10
2886 PIXEL20_31
2887 PIXEL21_31
2888 PIXEL22_32
2889 PIXEL23_32
2890 PIXEL30_81
2891 PIXEL31_81
2892 PIXEL32_82
2893 PIXEL33_82
2894 break;
2895 }
2896 case 61:
2897 {
2898 PIXEL00_82
2899 PIXEL01_82
2900 PIXEL02_81
2901 PIXEL03_81
2902 PIXEL10_32
2903 PIXEL11_32
2904 PIXEL12_31
2905 PIXEL13_31
2906 PIXEL20_31
2907 PIXEL21_31
2908 PIXEL22_30
2909 PIXEL23_10
2910 PIXEL30_81
2911 PIXEL31_81
2912 PIXEL32_61
2913 PIXEL33_80
2914 break;
2915 }
2916 case 157:
2917 {
2918 PIXEL00_82
2919 PIXEL01_82
2920 PIXEL02_81
2921 PIXEL03_81
2922 PIXEL10_32
2923 PIXEL11_32
2924 PIXEL12_31
2925 PIXEL13_31
2926 PIXEL20_10
2927 PIXEL21_30
2928 PIXEL22_32
2929 PIXEL23_32
2930 PIXEL30_80
2931 PIXEL31_61
2932 PIXEL32_82
2933 PIXEL33_82
2934 break;
2935 }
2936 case 103:
2937 {
2938 PIXEL00_81
2939 PIXEL01_31
2940 PIXEL02_32
2941 PIXEL03_82
2942 PIXEL10_81
2943 PIXEL11_31
2944 PIXEL12_32
2945 PIXEL13_82
2946 PIXEL20_82
2947 PIXEL21_32
2948 PIXEL22_30
2949 PIXEL23_61
2950 PIXEL30_82
2951 PIXEL31_32
2952 PIXEL32_10
2953 PIXEL33_80
2954 break;
2955 }
2956 case 227:
2957 {
2958 PIXEL00_81
2959 PIXEL01_31
2960 PIXEL02_10
2961 PIXEL03_80
2962 PIXEL10_81
2963 PIXEL11_31
2964 PIXEL12_30
2965 PIXEL13_61
2966 PIXEL20_82
2967 PIXEL21_32
2968 PIXEL22_31
2969 PIXEL23_81
2970 PIXEL30_82
2971 PIXEL31_32
2972 PIXEL32_31
2973 PIXEL33_81
2974 break;
2975 }
2976 case 230:
2977 {
2978 PIXEL00_80
2979 PIXEL01_10
2980 PIXEL02_32
2981 PIXEL03_82
2982 PIXEL10_61
2983 PIXEL11_30
2984 PIXEL12_32
2985 PIXEL13_82
2986 PIXEL20_82
2987 PIXEL21_32
2988 PIXEL22_31
2989 PIXEL23_81
2990 PIXEL30_82
2991 PIXEL31_32
2992 PIXEL32_31
2993 PIXEL33_81
2994 break;
2995 }
2996 case 199:
2997 {
2998 PIXEL00_81
2999 PIXEL01_31
3000 PIXEL02_32
3001 PIXEL03_82
3002 PIXEL10_81
3003 PIXEL11_31
3004 PIXEL12_32
3005 PIXEL13_82
3006 PIXEL20_61
3007 PIXEL21_30
3008 PIXEL22_31
3009 PIXEL23_81
3010 PIXEL30_80
3011 PIXEL31_10
3012 PIXEL32_31
3013 PIXEL33_81
3014 break;
3015 }
3016 case 220:
3017 {
3018 PIXEL00_80
3019 PIXEL01_61
3020 PIXEL02_81
3021 PIXEL03_81
3022 PIXEL10_10
3023 PIXEL11_30
3024 PIXEL12_31
3025 PIXEL13_31
3026 if (Diff(w[8], w[4]))
3027 {
3028 PIXEL20_10
3029 PIXEL21_30
3030 PIXEL30_80
3031 PIXEL31_10
3032 }
3033 else
3034 {
3035 PIXEL20_12
3036 PIXEL21_0
3037 PIXEL30_20
3038 PIXEL31_11
3039 }
3040 PIXEL22_0
3041 if (Diff(w[6], w[8]))
3042 {
3043 PIXEL23_0
3044 PIXEL32_0
3045 PIXEL33_0
3046 }
3047 else
3048 {
3049 PIXEL23_50
3050 PIXEL32_50
3051 PIXEL33_50
3052 }
3053 break;
3054 }
3055 case 158:
3056 {
3057 if (Diff(w[4], w[2]))
3058 {
3059 PIXEL00_80
3060 PIXEL01_10
3061 PIXEL10_10
3062 PIXEL11_30
3063 }
3064 else
3065 {
3066 PIXEL00_20
3067 PIXEL01_12
3068 PIXEL10_11
3069 PIXEL11_0
3070 }
3071 if (Diff(w[2], w[6]))
3072 {
3073 PIXEL02_0
3074 PIXEL03_0
3075 PIXEL13_0
3076 }
3077 else
3078 {
3079 PIXEL02_50
3080 PIXEL03_50
3081 PIXEL13_50
3082 }
3083 PIXEL12_0
3084 PIXEL20_10
3085 PIXEL21_30
3086 PIXEL22_32
3087 PIXEL23_32
3088 PIXEL30_80
3089 PIXEL31_61
3090 PIXEL32_82
3091 PIXEL33_82
3092 break;
3093 }
3094 case 234:
3095 {
3096 if (Diff(w[4], w[2]))
3097 {
3098 PIXEL00_80
3099 PIXEL01_10
3100 PIXEL10_10
3101 PIXEL11_30
3102 }
3103 else
3104 {
3105 PIXEL00_20
3106 PIXEL01_12
3107 PIXEL10_11
3108 PIXEL11_0
3109 }
3110 PIXEL02_10
3111 PIXEL03_80
3112 PIXEL12_30
3113 PIXEL13_61
3114 if (Diff(w[8], w[4]))
3115 {
3116 PIXEL20_0
3117 PIXEL30_0
3118 PIXEL31_0
3119 }
3120 else
3121 {
3122 PIXEL20_50
3123 PIXEL30_50
3124 PIXEL31_50
3125 }
3126 PIXEL21_0
3127 PIXEL22_31
3128 PIXEL23_81
3129 PIXEL32_31
3130 PIXEL33_81
3131 break;
3132 }
3133 case 242:
3134 {
3135 PIXEL00_80
3136 PIXEL01_10
3137 if (Diff(w[2], w[6]))
3138 {
3139 PIXEL02_10
3140 PIXEL03_80
3141 PIXEL12_30
3142 PIXEL13_10
3143 }
3144 else
3145 {
3146 PIXEL02_11
3147 PIXEL03_20
3148 PIXEL12_0
3149 PIXEL13_12
3150 }
3151 PIXEL10_61
3152 PIXEL11_30
3153 PIXEL20_82
3154 PIXEL21_32
3155 PIXEL22_0
3156 if (Diff(w[6], w[8]))
3157 {
3158 PIXEL23_0
3159 PIXEL32_0
3160 PIXEL33_0
3161 }
3162 else
3163 {
3164 PIXEL23_50
3165 PIXEL32_50
3166 PIXEL33_50
3167 }
3168 PIXEL30_82
3169 PIXEL31_32
3170 break;
3171 }
3172 case 59:
3173 {
3174 if (Diff(w[4], w[2]))
3175 {
3176 PIXEL00_0
3177 PIXEL01_0
3178 PIXEL10_0
3179 }
3180 else
3181 {
3182 PIXEL00_50
3183 PIXEL01_50
3184 PIXEL10_50
3185 }
3186 if (Diff(w[2], w[6]))
3187 {
3188 PIXEL02_10
3189 PIXEL03_80
3190 PIXEL12_30
3191 PIXEL13_10
3192 }
3193 else
3194 {
3195 PIXEL02_11
3196 PIXEL03_20
3197 PIXEL12_0
3198 PIXEL13_12
3199 }
3200 PIXEL11_0
3201 PIXEL20_31
3202 PIXEL21_31
3203 PIXEL22_30
3204 PIXEL23_10
3205 PIXEL30_81
3206 PIXEL31_81
3207 PIXEL32_61
3208 PIXEL33_80
3209 break;
3210 }
3211 case 121:
3212 {
3213 PIXEL00_82
3214 PIXEL01_82
3215 PIXEL02_61
3216 PIXEL03_80
3217 PIXEL10_32
3218 PIXEL11_32
3219 PIXEL12_30
3220 PIXEL13_10
3221 if (Diff(w[8], w[4]))
3222 {
3223 PIXEL20_0
3224 PIXEL30_0
3225 PIXEL31_0
3226 }
3227 else
3228 {
3229 PIXEL20_50
3230 PIXEL30_50
3231 PIXEL31_50
3232 }
3233 PIXEL21_0
3234 if (Diff(w[6], w[8]))
3235 {
3236 PIXEL22_30
3237 PIXEL23_10
3238 PIXEL32_10
3239 PIXEL33_80
3240 }
3241 else
3242 {
3243 PIXEL22_0
3244 PIXEL23_11
3245 PIXEL32_12
3246 PIXEL33_20
3247 }
3248 break;
3249 }
3250 case 87:
3251 {
3252 PIXEL00_81
3253 PIXEL01_31
3254 if (Diff(w[2], w[6]))
3255 {
3256 PIXEL02_0
3257 PIXEL03_0
3258 PIXEL13_0
3259 }
3260 else
3261 {
3262 PIXEL02_50
3263 PIXEL03_50
3264 PIXEL13_50
3265 }
3266 PIXEL10_81
3267 PIXEL11_31
3268 PIXEL12_0
3269 PIXEL20_61
3270 PIXEL21_30
3271 if (Diff(w[6], w[8]))
3272 {
3273 PIXEL22_30
3274 PIXEL23_10
3275 PIXEL32_10
3276 PIXEL33_80
3277 }
3278 else
3279 {
3280 PIXEL22_0
3281 PIXEL23_11
3282 PIXEL32_12
3283 PIXEL33_20
3284 }
3285 PIXEL30_80
3286 PIXEL31_10
3287 break;
3288 }
3289 case 79:
3290 {
3291 if (Diff(w[4], w[2]))
3292 {
3293 PIXEL00_0
3294 PIXEL01_0
3295 PIXEL10_0
3296 }
3297 else
3298 {
3299 PIXEL00_50
3300 PIXEL01_50
3301 PIXEL10_50
3302 }
3303 PIXEL02_32
3304 PIXEL03_82
3305 PIXEL11_0
3306 PIXEL12_32
3307 PIXEL13_82
3308 if (Diff(w[8], w[4]))
3309 {
3310 PIXEL20_10
3311 PIXEL21_30
3312 PIXEL30_80
3313 PIXEL31_10
3314 }
3315 else
3316 {
3317 PIXEL20_12
3318 PIXEL21_0
3319 PIXEL30_20
3320 PIXEL31_11
3321 }
3322 PIXEL22_30
3323 PIXEL23_61
3324 PIXEL32_10
3325 PIXEL33_80
3326 break;
3327 }
3328 case 122:
3329 {
3330 if (Diff(w[4], w[2]))
3331 {
3332 PIXEL00_80
3333 PIXEL01_10
3334 PIXEL10_10
3335 PIXEL11_30
3336 }
3337 else
3338 {
3339 PIXEL00_20
3340 PIXEL01_12
3341 PIXEL10_11
3342 PIXEL11_0
3343 }
3344 if (Diff(w[2], w[6]))
3345 {
3346 PIXEL02_10
3347 PIXEL03_80
3348 PIXEL12_30
3349 PIXEL13_10
3350 }
3351 else
3352 {
3353 PIXEL02_11
3354 PIXEL03_20
3355 PIXEL12_0
3356 PIXEL13_12
3357 }
3358 if (Diff(w[8], w[4]))
3359 {
3360 PIXEL20_0
3361 PIXEL30_0
3362 PIXEL31_0
3363 }
3364 else
3365 {
3366 PIXEL20_50
3367 PIXEL30_50
3368 PIXEL31_50
3369 }
3370 PIXEL21_0
3371 if (Diff(w[6], w[8]))
3372 {
3373 PIXEL22_30
3374 PIXEL23_10
3375 PIXEL32_10
3376 PIXEL33_80
3377 }
3378 else
3379 {
3380 PIXEL22_0
3381 PIXEL23_11
3382 PIXEL32_12
3383 PIXEL33_20
3384 }
3385 break;
3386 }
3387 case 94:
3388 {
3389 if (Diff(w[4], w[2]))
3390 {
3391 PIXEL00_80
3392 PIXEL01_10
3393 PIXEL10_10
3394 PIXEL11_30
3395 }
3396 else
3397 {
3398 PIXEL00_20
3399 PIXEL01_12
3400 PIXEL10_11
3401 PIXEL11_0
3402 }
3403 if (Diff(w[2], w[6]))
3404 {
3405 PIXEL02_0
3406 PIXEL03_0
3407 PIXEL13_0
3408 }
3409 else
3410 {
3411 PIXEL02_50
3412 PIXEL03_50
3413 PIXEL13_50
3414 }
3415 PIXEL12_0
3416 if (Diff(w[8], w[4]))
3417 {
3418 PIXEL20_10
3419 PIXEL21_30
3420 PIXEL30_80
3421 PIXEL31_10
3422 }
3423 else
3424 {
3425 PIXEL20_12
3426 PIXEL21_0
3427 PIXEL30_20
3428 PIXEL31_11
3429 }
3430 if (Diff(w[6], w[8]))
3431 {
3432 PIXEL22_30
3433 PIXEL23_10
3434 PIXEL32_10
3435 PIXEL33_80
3436 }
3437 else
3438 {
3439 PIXEL22_0
3440 PIXEL23_11
3441 PIXEL32_12
3442 PIXEL33_20
3443 }
3444 break;
3445 }
3446 case 218:
3447 {
3448 if (Diff(w[4], w[2]))
3449 {
3450 PIXEL00_80
3451 PIXEL01_10
3452 PIXEL10_10
3453 PIXEL11_30
3454 }
3455 else
3456 {
3457 PIXEL00_20
3458 PIXEL01_12
3459 PIXEL10_11
3460 PIXEL11_0
3461 }
3462 if (Diff(w[2], w[6]))
3463 {
3464 PIXEL02_10
3465 PIXEL03_80
3466 PIXEL12_30
3467 PIXEL13_10
3468 }
3469 else
3470 {
3471 PIXEL02_11
3472 PIXEL03_20
3473 PIXEL12_0
3474 PIXEL13_12
3475 }
3476 if (Diff(w[8], w[4]))
3477 {
3478 PIXEL20_10
3479 PIXEL21_30
3480 PIXEL30_80
3481 PIXEL31_10
3482 }
3483 else
3484 {
3485 PIXEL20_12
3486 PIXEL21_0
3487 PIXEL30_20
3488 PIXEL31_11
3489 }
3490 PIXEL22_0
3491 if (Diff(w[6], w[8]))
3492 {
3493 PIXEL23_0
3494 PIXEL32_0
3495 PIXEL33_0
3496 }
3497 else
3498 {
3499 PIXEL23_50
3500 PIXEL32_50
3501 PIXEL33_50
3502 }
3503 break;
3504 }
3505 case 91:
3506 {
3507 if (Diff(w[4], w[2]))
3508 {
3509 PIXEL00_0
3510 PIXEL01_0
3511 PIXEL10_0
3512 }
3513 else
3514 {
3515 PIXEL00_50
3516 PIXEL01_50
3517 PIXEL10_50
3518 }
3519 if (Diff(w[2], w[6]))
3520 {
3521 PIXEL02_10
3522 PIXEL03_80
3523 PIXEL12_30
3524 PIXEL13_10
3525 }
3526 else
3527 {
3528 PIXEL02_11
3529 PIXEL03_20
3530 PIXEL12_0
3531 PIXEL13_12
3532 }
3533 PIXEL11_0
3534 if (Diff(w[8], w[4]))
3535 {
3536 PIXEL20_10
3537 PIXEL21_30
3538 PIXEL30_80
3539 PIXEL31_10
3540 }
3541 else
3542 {
3543 PIXEL20_12
3544 PIXEL21_0
3545 PIXEL30_20
3546 PIXEL31_11
3547 }
3548 if (Diff(w[6], w[8]))
3549 {
3550 PIXEL22_30
3551 PIXEL23_10
3552 PIXEL32_10
3553 PIXEL33_80
3554 }
3555 else
3556 {
3557 PIXEL22_0
3558 PIXEL23_11
3559 PIXEL32_12
3560 PIXEL33_20
3561 }
3562 break;
3563 }
3564 case 229:
3565 {
3566 PIXEL00_20
3567 PIXEL01_60
3568 PIXEL02_60
3569 PIXEL03_20
3570 PIXEL10_60
3571 PIXEL11_70
3572 PIXEL12_70
3573 PIXEL13_60
3574 PIXEL20_82
3575 PIXEL21_32
3576 PIXEL22_31
3577 PIXEL23_81
3578 PIXEL30_82
3579 PIXEL31_32
3580 PIXEL32_31
3581 PIXEL33_81
3582 break;
3583 }
3584 case 167:
3585 {
3586 PIXEL00_81
3587 PIXEL01_31
3588 PIXEL02_32
3589 PIXEL03_82
3590 PIXEL10_81
3591 PIXEL11_31
3592 PIXEL12_32
3593 PIXEL13_82
3594 PIXEL20_60
3595 PIXEL21_70
3596 PIXEL22_70
3597 PIXEL23_60
3598 PIXEL30_20
3599 PIXEL31_60
3600 PIXEL32_60
3601 PIXEL33_20
3602 break;
3603 }
3604 case 173:
3605 {
3606 PIXEL00_82
3607 PIXEL01_82
3608 PIXEL02_60
3609 PIXEL03_20
3610 PIXEL10_32
3611 PIXEL11_32
3612 PIXEL12_70
3613 PIXEL13_60
3614 PIXEL20_31
3615 PIXEL21_31
3616 PIXEL22_70
3617 PIXEL23_60
3618 PIXEL30_81
3619 PIXEL31_81
3620 PIXEL32_60
3621 PIXEL33_20
3622 break;
3623 }
3624 case 181:
3625 {
3626 PIXEL00_20
3627 PIXEL01_60
3628 PIXEL02_81
3629 PIXEL03_81
3630 PIXEL10_60
3631 PIXEL11_70
3632 PIXEL12_31
3633 PIXEL13_31
3634 PIXEL20_60
3635 PIXEL21_70
3636 PIXEL22_32
3637 PIXEL23_32
3638 PIXEL30_20
3639 PIXEL31_60
3640 PIXEL32_82
3641 PIXEL33_82
3642 break;
3643 }
3644 case 186:
3645 {
3646 if (Diff(w[4], w[2]))
3647 {
3648 PIXEL00_80
3649 PIXEL01_10
3650 PIXEL10_10
3651 PIXEL11_30
3652 }
3653 else
3654 {
3655 PIXEL00_20
3656 PIXEL01_12
3657 PIXEL10_11
3658 PIXEL11_0
3659 }
3660 if (Diff(w[2], w[6]))
3661 {
3662 PIXEL02_10
3663 PIXEL03_80
3664 PIXEL12_30
3665 PIXEL13_10
3666 }
3667 else
3668 {
3669 PIXEL02_11
3670 PIXEL03_20
3671 PIXEL12_0
3672 PIXEL13_12
3673 }
3674 PIXEL20_31
3675 PIXEL21_31
3676 PIXEL22_32
3677 PIXEL23_32
3678 PIXEL30_81
3679 PIXEL31_81
3680 PIXEL32_82
3681 PIXEL33_82
3682 break;
3683 }
3684 case 115:
3685 {
3686 PIXEL00_81
3687 PIXEL01_31
3688 if (Diff(w[2], w[6]))
3689 {
3690 PIXEL02_10
3691 PIXEL03_80
3692 PIXEL12_30
3693 PIXEL13_10
3694 }
3695 else
3696 {
3697 PIXEL02_11
3698 PIXEL03_20
3699 PIXEL12_0
3700 PIXEL13_12
3701 }
3702 PIXEL10_81
3703 PIXEL11_31
3704 PIXEL20_82
3705 PIXEL21_32
3706 if (Diff(w[6], w[8]))
3707 {
3708 PIXEL22_30
3709 PIXEL23_10
3710 PIXEL32_10
3711 PIXEL33_80
3712 }
3713 else
3714 {
3715 PIXEL22_0
3716 PIXEL23_11
3717 PIXEL32_12
3718 PIXEL33_20
3719 }
3720 PIXEL30_82
3721 PIXEL31_32
3722 break;
3723 }
3724 case 93:
3725 {
3726 PIXEL00_82
3727 PIXEL01_82
3728 PIXEL02_81
3729 PIXEL03_81
3730 PIXEL10_32
3731 PIXEL11_32
3732 PIXEL12_31
3733 PIXEL13_31
3734 if (Diff(w[8], w[4]))
3735 {
3736 PIXEL20_10
3737 PIXEL21_30
3738 PIXEL30_80
3739 PIXEL31_10
3740 }
3741 else
3742 {
3743 PIXEL20_12
3744 PIXEL21_0
3745 PIXEL30_20
3746 PIXEL31_11
3747 }
3748 if (Diff(w[6], w[8]))
3749 {
3750 PIXEL22_30
3751 PIXEL23_10
3752 PIXEL32_10
3753 PIXEL33_80
3754 }
3755 else
3756 {
3757 PIXEL22_0
3758 PIXEL23_11
3759 PIXEL32_12
3760 PIXEL33_20
3761 }
3762 break;
3763 }
3764 case 206:
3765 {
3766 if (Diff(w[4], w[2]))
3767 {
3768 PIXEL00_80
3769 PIXEL01_10
3770 PIXEL10_10
3771 PIXEL11_30
3772 }
3773 else
3774 {
3775 PIXEL00_20
3776 PIXEL01_12
3777 PIXEL10_11
3778 PIXEL11_0
3779 }
3780 PIXEL02_32
3781 PIXEL03_82
3782 PIXEL12_32
3783 PIXEL13_82
3784 if (Diff(w[8], w[4]))
3785 {
3786 PIXEL20_10
3787 PIXEL21_30
3788 PIXEL30_80
3789 PIXEL31_10
3790 }
3791 else
3792 {
3793 PIXEL20_12
3794 PIXEL21_0
3795 PIXEL30_20
3796 PIXEL31_11
3797 }
3798 PIXEL22_31
3799 PIXEL23_81
3800 PIXEL32_31
3801 PIXEL33_81
3802 break;
3803 }
3804 case 205:
3805 case 201:
3806 {
3807 PIXEL00_82
3808 PIXEL01_82
3809 PIXEL02_60
3810 PIXEL03_20
3811 PIXEL10_32
3812 PIXEL11_32
3813 PIXEL12_70
3814 PIXEL13_60
3815 if (Diff(w[8], w[4]))
3816 {
3817 PIXEL20_10
3818 PIXEL21_30
3819 PIXEL30_80
3820 PIXEL31_10
3821 }
3822 else
3823 {
3824 PIXEL20_12
3825 PIXEL21_0
3826 PIXEL30_20
3827 PIXEL31_11
3828 }
3829 PIXEL22_31
3830 PIXEL23_81
3831 PIXEL32_31
3832 PIXEL33_81
3833 break;
3834 }
3835 case 174:
3836 case 46:
3837 {
3838 if (Diff(w[4], w[2]))
3839 {
3840 PIXEL00_80
3841 PIXEL01_10
3842 PIXEL10_10
3843 PIXEL11_30
3844 }
3845 else
3846 {
3847 PIXEL00_20
3848 PIXEL01_12
3849 PIXEL10_11
3850 PIXEL11_0
3851 }
3852 PIXEL02_32
3853 PIXEL03_82
3854 PIXEL12_32
3855 PIXEL13_82
3856 PIXEL20_31
3857 PIXEL21_31
3858 PIXEL22_70
3859 PIXEL23_60
3860 PIXEL30_81
3861 PIXEL31_81
3862 PIXEL32_60
3863 PIXEL33_20
3864 break;
3865 }
3866 case 179:
3867 case 147:
3868 {
3869 PIXEL00_81
3870 PIXEL01_31
3871 if (Diff(w[2], w[6]))
3872 {
3873 PIXEL02_10
3874 PIXEL03_80
3875 PIXEL12_30
3876 PIXEL13_10
3877 }
3878 else
3879 {
3880 PIXEL02_11
3881 PIXEL03_20
3882 PIXEL12_0
3883 PIXEL13_12
3884 }
3885 PIXEL10_81
3886 PIXEL11_31
3887 PIXEL20_60
3888 PIXEL21_70
3889 PIXEL22_32
3890 PIXEL23_32
3891 PIXEL30_20
3892 PIXEL31_60
3893 PIXEL32_82
3894 PIXEL33_82
3895 break;
3896 }
3897 case 117:
3898 case 116:
3899 {
3900 PIXEL00_20
3901 PIXEL01_60
3902 PIXEL02_81
3903 PIXEL03_81
3904 PIXEL10_60
3905 PIXEL11_70
3906 PIXEL12_31
3907 PIXEL13_31
3908 PIXEL20_82
3909 PIXEL21_32
3910 if (Diff(w[6], w[8]))
3911 {
3912 PIXEL22_30
3913 PIXEL23_10
3914 PIXEL32_10
3915 PIXEL33_80
3916 }
3917 else
3918 {
3919 PIXEL22_0
3920 PIXEL23_11
3921 PIXEL32_12
3922 PIXEL33_20
3923 }
3924 PIXEL30_82
3925 PIXEL31_32
3926 break;
3927 }
3928 case 189:
3929 {
3930 PIXEL00_82
3931 PIXEL01_82
3932 PIXEL02_81
3933 PIXEL03_81
3934 PIXEL10_32
3935 PIXEL11_32
3936 PIXEL12_31
3937 PIXEL13_31
3938 PIXEL20_31
3939 PIXEL21_31
3940 PIXEL22_32
3941 PIXEL23_32
3942 PIXEL30_81
3943 PIXEL31_81
3944 PIXEL32_82
3945 PIXEL33_82
3946 break;
3947 }
3948 case 231:
3949 {
3950 PIXEL00_81
3951 PIXEL01_31
3952 PIXEL02_32
3953 PIXEL03_82
3954 PIXEL10_81
3955 PIXEL11_31
3956 PIXEL12_32
3957 PIXEL13_82
3958 PIXEL20_82
3959 PIXEL21_32
3960 PIXEL22_31
3961 PIXEL23_81
3962 PIXEL30_82
3963 PIXEL31_32
3964 PIXEL32_31
3965 PIXEL33_81
3966 break;
3967 }
3968 case 126:
3969 {
3970 PIXEL00_80
3971 PIXEL01_10
3972 if (Diff(w[2], w[6]))
3973 {
3974 PIXEL02_0
3975 PIXEL03_0
3976 PIXEL13_0
3977 }
3978 else
3979 {
3980 PIXEL02_50
3981 PIXEL03_50
3982 PIXEL13_50
3983 }
3984 PIXEL10_10
3985 PIXEL11_30
3986 PIXEL12_0
3987 if (Diff(w[8], w[4]))
3988 {
3989 PIXEL20_0
3990 PIXEL30_0
3991 PIXEL31_0
3992 }
3993 else
3994 {
3995 PIXEL20_50
3996 PIXEL30_50
3997 PIXEL31_50
3998 }
3999 PIXEL21_0
4000 PIXEL22_30
4001 PIXEL23_10
4002 PIXEL32_10
4003 PIXEL33_80
4004 break;
4005 }
4006 case 219:
4007 {
4008 if (Diff(w[4], w[2]))
4009 {
4010 PIXEL00_0
4011 PIXEL01_0
4012 PIXEL10_0
4013 }
4014 else
4015 {
4016 PIXEL00_50
4017 PIXEL01_50
4018 PIXEL10_50
4019 }
4020 PIXEL02_10
4021 PIXEL03_80
4022 PIXEL11_0
4023 PIXEL12_30
4024 PIXEL13_10
4025 PIXEL20_10
4026 PIXEL21_30
4027 PIXEL22_0
4028 if (Diff(w[6], w[8]))
4029 {
4030 PIXEL23_0
4031 PIXEL32_0
4032 PIXEL33_0
4033 }
4034 else
4035 {
4036 PIXEL23_50
4037 PIXEL32_50
4038 PIXEL33_50
4039 }
4040 PIXEL30_80
4041 PIXEL31_10
4042 break;
4043 }
4044 case 125:
4045 {
4046 if (Diff(w[8], w[4]))
4047 {
4048 PIXEL00_82
4049 PIXEL10_32
4050 PIXEL20_0
4051 PIXEL21_0
4052 PIXEL30_0
4053 PIXEL31_0
4054 }
4055 else
4056 {
4057 PIXEL00_11
4058 PIXEL10_13
4059 PIXEL20_83
4060 PIXEL21_70
4061 PIXEL30_50
4062 PIXEL31_21
4063 }
4064 PIXEL01_82
4065 PIXEL02_81
4066 PIXEL03_81
4067 PIXEL11_32
4068 PIXEL12_31
4069 PIXEL13_31
4070 PIXEL22_30
4071 PIXEL23_10
4072 PIXEL32_10
4073 PIXEL33_80
4074 break;
4075 }
4076 case 221:
4077 {
4078 PIXEL00_82
4079 PIXEL01_82
4080 PIXEL02_81
4081 if (Diff(w[6], w[8]))
4082 {
4083 PIXEL03_81
4084 PIXEL13_31
4085 PIXEL22_0
4086 PIXEL23_0
4087 PIXEL32_0
4088 PIXEL33_0
4089 }
4090 else
4091 {
4092 PIXEL03_12
4093 PIXEL13_14
4094 PIXEL22_70
4095 PIXEL23_83
4096 PIXEL32_21
4097 PIXEL33_50
4098 }
4099 PIXEL10_32
4100 PIXEL11_32
4101 PIXEL12_31
4102 PIXEL20_10
4103 PIXEL21_30
4104 PIXEL30_80
4105 PIXEL31_10
4106 break;
4107 }
4108 case 207:
4109 {
4110 if (Diff(w[4], w[2]))
4111 {
4112 PIXEL00_0
4113 PIXEL01_0
4114 PIXEL02_32
4115 PIXEL03_82
4116 PIXEL10_0
4117 PIXEL11_0
4118 }
4119 else
4120 {
4121 PIXEL00_50
4122 PIXEL01_83
4123 PIXEL02_13
4124 PIXEL03_11
4125 PIXEL10_21
4126 PIXEL11_70
4127 }
4128 PIXEL12_32
4129 PIXEL13_82
4130 PIXEL20_10
4131 PIXEL21_30
4132 PIXEL22_31
4133 PIXEL23_81
4134 PIXEL30_80
4135 PIXEL31_10
4136 PIXEL32_31
4137 PIXEL33_81
4138 break;
4139 }
4140 case 238:
4141 {
4142 PIXEL00_80
4143 PIXEL01_10
4144 PIXEL02_32
4145 PIXEL03_82
4146 PIXEL10_10
4147 PIXEL11_30
4148 PIXEL12_32
4149 PIXEL13_82
4150 if (Diff(w[8], w[4]))
4151 {
4152 PIXEL20_0
4153 PIXEL21_0
4154 PIXEL30_0
4155 PIXEL31_0
4156 PIXEL32_31
4157 PIXEL33_81
4158 }
4159 else
4160 {
4161 PIXEL20_21
4162 PIXEL21_70
4163 PIXEL30_50
4164 PIXEL31_83
4165 PIXEL32_14
4166 PIXEL33_12
4167 }
4168 PIXEL22_31
4169 PIXEL23_81
4170 break;
4171 }
4172 case 190:
4173 {
4174 PIXEL00_80
4175 PIXEL01_10
4176 if (Diff(w[2], w[6]))
4177 {
4178 PIXEL02_0
4179 PIXEL03_0
4180 PIXEL12_0
4181 PIXEL13_0
4182 PIXEL23_32
4183 PIXEL33_82
4184 }
4185 else
4186 {
4187 PIXEL02_21
4188 PIXEL03_50
4189 PIXEL12_70
4190 PIXEL13_83
4191 PIXEL23_13
4192 PIXEL33_11
4193 }
4194 PIXEL10_10
4195 PIXEL11_30
4196 PIXEL20_31
4197 PIXEL21_31
4198 PIXEL22_32
4199 PIXEL30_81
4200 PIXEL31_81
4201 PIXEL32_82
4202 break;
4203 }
4204 case 187:
4205 {
4206 if (Diff(w[4], w[2]))
4207 {
4208 PIXEL00_0
4209 PIXEL01_0
4210 PIXEL10_0
4211 PIXEL11_0
4212 PIXEL20_31
4213 PIXEL30_81
4214 }
4215 else
4216 {
4217 PIXEL00_50
4218 PIXEL01_21
4219 PIXEL10_83
4220 PIXEL11_70
4221 PIXEL20_14
4222 PIXEL30_12
4223 }
4224 PIXEL02_10
4225 PIXEL03_80
4226 PIXEL12_30
4227 PIXEL13_10
4228 PIXEL21_31
4229 PIXEL22_32
4230 PIXEL23_32
4231 PIXEL31_81
4232 PIXEL32_82
4233 PIXEL33_82
4234 break;
4235 }
4236 case 243:
4237 {
4238 PIXEL00_81
4239 PIXEL01_31
4240 PIXEL02_10
4241 PIXEL03_80
4242 PIXEL10_81
4243 PIXEL11_31
4244 PIXEL12_30
4245 PIXEL13_10
4246 PIXEL20_82
4247 PIXEL21_32
4248 if (Diff(w[6], w[8]))
4249 {
4250 PIXEL22_0
4251 PIXEL23_0
4252 PIXEL30_82
4253 PIXEL31_32
4254 PIXEL32_0
4255 PIXEL33_0
4256 }
4257 else
4258 {
4259 PIXEL22_70
4260 PIXEL23_21
4261 PIXEL30_11
4262 PIXEL31_13
4263 PIXEL32_83
4264 PIXEL33_50
4265 }
4266 break;
4267 }
4268 case 119:
4269 {
4270 if (Diff(w[2], w[6]))
4271 {
4272 PIXEL00_81
4273 PIXEL01_31
4274 PIXEL02_0
4275 PIXEL03_0
4276 PIXEL12_0
4277 PIXEL13_0
4278 }
4279 else
4280 {
4281 PIXEL00_12
4282 PIXEL01_14
4283 PIXEL02_83
4284 PIXEL03_50
4285 PIXEL12_70
4286 PIXEL13_21
4287 }
4288 PIXEL10_81
4289 PIXEL11_31
4290 PIXEL20_82
4291 PIXEL21_32
4292 PIXEL22_30
4293 PIXEL23_10
4294 PIXEL30_82
4295 PIXEL31_32
4296 PIXEL32_10
4297 PIXEL33_80
4298 break;
4299 }
4300 case 237:
4301 case 233:
4302 {
4303 PIXEL00_82
4304 PIXEL01_82
4305 PIXEL02_60
4306 PIXEL03_20
4307 PIXEL10_32
4308 PIXEL11_32
4309 PIXEL12_70
4310 PIXEL13_60
4311 PIXEL20_0
4312 PIXEL21_0
4313 PIXEL22_31
4314 PIXEL23_81
4315 if (Diff(w[8], w[4]))
4316 {
4317 PIXEL30_0
4318 }
4319 else
4320 {
4321 PIXEL30_20
4322 }
4323 PIXEL31_0
4324 PIXEL32_31
4325 PIXEL33_81
4326 break;
4327 }
4328 case 175:
4329 case 47:
4330 {
4331 if (Diff(w[4], w[2]))
4332 {
4333 PIXEL00_0
4334 }
4335 else
4336 {
4337 PIXEL00_20
4338 }
4339 PIXEL01_0
4340 PIXEL02_32
4341 PIXEL03_82
4342 PIXEL10_0
4343 PIXEL11_0
4344 PIXEL12_32
4345 PIXEL13_82
4346 PIXEL20_31
4347 PIXEL21_31
4348 PIXEL22_70
4349 PIXEL23_60
4350 PIXEL30_81
4351 PIXEL31_81
4352 PIXEL32_60
4353 PIXEL33_20
4354 break;
4355 }
4356 case 183:
4357 case 151:
4358 {
4359 PIXEL00_81
4360 PIXEL01_31
4361 PIXEL02_0
4362 if (Diff(w[2], w[6]))
4363 {
4364 PIXEL03_0
4365 }
4366 else
4367 {
4368 PIXEL03_20
4369 }
4370 PIXEL10_81
4371 PIXEL11_31
4372 PIXEL12_0
4373 PIXEL13_0
4374 PIXEL20_60
4375 PIXEL21_70
4376 PIXEL22_32
4377 PIXEL23_32
4378 PIXEL30_20
4379 PIXEL31_60
4380 PIXEL32_82
4381 PIXEL33_82
4382 break;
4383 }
4384 case 245:
4385 case 244:
4386 {
4387 PIXEL00_20
4388 PIXEL01_60
4389 PIXEL02_81
4390 PIXEL03_81
4391 PIXEL10_60
4392 PIXEL11_70
4393 PIXEL12_31
4394 PIXEL13_31
4395 PIXEL20_82
4396 PIXEL21_32
4397 PIXEL22_0
4398 PIXEL23_0
4399 PIXEL30_82
4400 PIXEL31_32
4401 PIXEL32_0
4402 if (Diff(w[6], w[8]))
4403 {
4404 PIXEL33_0
4405 }
4406 else
4407 {
4408 PIXEL33_20
4409 }
4410 break;
4411 }
4412 case 250:
4413 {
4414 PIXEL00_80
4415 PIXEL01_10
4416 PIXEL02_10
4417 PIXEL03_80
4418 PIXEL10_10
4419 PIXEL11_30
4420 PIXEL12_30
4421 PIXEL13_10
4422 if (Diff(w[8], w[4]))
4423 {
4424 PIXEL20_0
4425 PIXEL30_0
4426 PIXEL31_0
4427 }
4428 else
4429 {
4430 PIXEL20_50
4431 PIXEL30_50
4432 PIXEL31_50
4433 }
4434 PIXEL21_0
4435 PIXEL22_0
4436 if (Diff(w[6], w[8]))
4437 {
4438 PIXEL23_0
4439 PIXEL32_0
4440 PIXEL33_0
4441 }
4442 else
4443 {
4444 PIXEL23_50
4445 PIXEL32_50
4446 PIXEL33_50
4447 }
4448 break;
4449 }
4450 case 123:
4451 {
4452 if (Diff(w[4], w[2]))
4453 {
4454 PIXEL00_0
4455 PIXEL01_0
4456 PIXEL10_0
4457 }
4458 else
4459 {
4460 PIXEL00_50
4461 PIXEL01_50
4462 PIXEL10_50
4463 }
4464 PIXEL02_10
4465 PIXEL03_80
4466 PIXEL11_0
4467 PIXEL12_30
4468 PIXEL13_10
4469 if (Diff(w[8], w[4]))
4470 {
4471 PIXEL20_0
4472 PIXEL30_0
4473 PIXEL31_0
4474 }
4475 else
4476 {
4477 PIXEL20_50
4478 PIXEL30_50
4479 PIXEL31_50
4480 }
4481 PIXEL21_0
4482 PIXEL22_30
4483 PIXEL23_10
4484 PIXEL32_10
4485 PIXEL33_80
4486 break;
4487 }
4488 case 95:
4489 {
4490 if (Diff(w[4], w[2]))
4491 {
4492 PIXEL00_0
4493 PIXEL01_0
4494 PIXEL10_0
4495 }
4496 else
4497 {
4498 PIXEL00_50
4499 PIXEL01_50
4500 PIXEL10_50
4501 }
4502 if (Diff(w[2], w[6]))
4503 {
4504 PIXEL02_0
4505 PIXEL03_0
4506 PIXEL13_0
4507 }
4508 else
4509 {
4510 PIXEL02_50
4511 PIXEL03_50
4512 PIXEL13_50
4513 }
4514 PIXEL11_0
4515 PIXEL12_0
4516 PIXEL20_10
4517 PIXEL21_30
4518 PIXEL22_30
4519 PIXEL23_10
4520 PIXEL30_80
4521 PIXEL31_10
4522 PIXEL32_10
4523 PIXEL33_80
4524 break;
4525 }
4526 case 222:
4527 {
4528 PIXEL00_80
4529 PIXEL01_10
4530 if (Diff(w[2], w[6]))
4531 {
4532 PIXEL02_0
4533 PIXEL03_0
4534 PIXEL13_0
4535 }
4536 else
4537 {
4538 PIXEL02_50
4539 PIXEL03_50
4540 PIXEL13_50
4541 }
4542 PIXEL10_10
4543 PIXEL11_30
4544 PIXEL12_0
4545 PIXEL20_10
4546 PIXEL21_30
4547 PIXEL22_0
4548 if (Diff(w[6], w[8]))
4549 {
4550 PIXEL23_0
4551 PIXEL32_0
4552 PIXEL33_0
4553 }
4554 else
4555 {
4556 PIXEL23_50
4557 PIXEL32_50
4558 PIXEL33_50
4559 }
4560 PIXEL30_80
4561 PIXEL31_10
4562 break;
4563 }
4564 case 252:
4565 {
4566 PIXEL00_80
4567 PIXEL01_61
4568 PIXEL02_81
4569 PIXEL03_81
4570 PIXEL10_10
4571 PIXEL11_30
4572 PIXEL12_31
4573 PIXEL13_31
4574 if (Diff(w[8], w[4]))
4575 {
4576 PIXEL20_0
4577 PIXEL30_0
4578 PIXEL31_0
4579 }
4580 else
4581 {
4582 PIXEL20_50
4583 PIXEL30_50
4584 PIXEL31_50
4585 }
4586 PIXEL21_0
4587 PIXEL22_0
4588 PIXEL23_0
4589 PIXEL32_0
4590 if (Diff(w[6], w[8]))
4591 {
4592 PIXEL33_0
4593 }
4594 else
4595 {
4596 PIXEL33_20
4597 }
4598 break;
4599 }
4600 case 249:
4601 {
4602 PIXEL00_82
4603 PIXEL01_82
4604 PIXEL02_61
4605 PIXEL03_80
4606 PIXEL10_32
4607 PIXEL11_32
4608 PIXEL12_30
4609 PIXEL13_10
4610 PIXEL20_0
4611 PIXEL21_0
4612 PIXEL22_0
4613 if (Diff(w[6], w[8]))
4614 {
4615 PIXEL23_0
4616 PIXEL32_0
4617 PIXEL33_0
4618 }
4619 else
4620 {
4621 PIXEL23_50
4622 PIXEL32_50
4623 PIXEL33_50
4624 }
4625 if (Diff(w[8], w[4]))
4626 {
4627 PIXEL30_0
4628 }
4629 else
4630 {
4631 PIXEL30_20
4632 }
4633 PIXEL31_0
4634 break;
4635 }
4636 case 235:
4637 {
4638 if (Diff(w[4], w[2]))
4639 {
4640 PIXEL00_0
4641 PIXEL01_0
4642 PIXEL10_0
4643 }
4644 else
4645 {
4646 PIXEL00_50
4647 PIXEL01_50
4648 PIXEL10_50
4649 }
4650 PIXEL02_10
4651 PIXEL03_80
4652 PIXEL11_0
4653 PIXEL12_30
4654 PIXEL13_61
4655 PIXEL20_0
4656 PIXEL21_0
4657 PIXEL22_31
4658 PIXEL23_81
4659 if (Diff(w[8], w[4]))
4660 {
4661 PIXEL30_0
4662 }
4663 else
4664 {
4665 PIXEL30_20
4666 }
4667 PIXEL31_0
4668 PIXEL32_31
4669 PIXEL33_81
4670 break;
4671 }
4672 case 111:
4673 {
4674 if (Diff(w[4], w[2]))
4675 {
4676 PIXEL00_0
4677 }
4678 else
4679 {
4680 PIXEL00_20
4681 }
4682 PIXEL01_0
4683 PIXEL02_32
4684 PIXEL03_82
4685 PIXEL10_0
4686 PIXEL11_0
4687 PIXEL12_32
4688 PIXEL13_82
4689 if (Diff(w[8], w[4]))
4690 {
4691 PIXEL20_0
4692 PIXEL30_0
4693 PIXEL31_0
4694 }
4695 else
4696 {
4697 PIXEL20_50
4698 PIXEL30_50
4699 PIXEL31_50
4700 }
4701 PIXEL21_0
4702 PIXEL22_30
4703 PIXEL23_61
4704 PIXEL32_10
4705 PIXEL33_80
4706 break;
4707 }
4708 case 63:
4709 {
4710 if (Diff(w[4], w[2]))
4711 {
4712 PIXEL00_0
4713 }
4714 else
4715 {
4716 PIXEL00_20
4717 }
4718 PIXEL01_0
4719 if (Diff(w[2], w[6]))
4720 {
4721 PIXEL02_0
4722 PIXEL03_0
4723 PIXEL13_0
4724 }
4725 else
4726 {
4727 PIXEL02_50
4728 PIXEL03_50
4729 PIXEL13_50
4730 }
4731 PIXEL10_0
4732 PIXEL11_0
4733 PIXEL12_0
4734 PIXEL20_31
4735 PIXEL21_31
4736 PIXEL22_30
4737 PIXEL23_10
4738 PIXEL30_81
4739 PIXEL31_81
4740 PIXEL32_61
4741 PIXEL33_80
4742 break;
4743 }
4744 case 159:
4745 {
4746 if (Diff(w[4], w[2]))
4747 {
4748 PIXEL00_0
4749 PIXEL01_0
4750 PIXEL10_0
4751 }
4752 else
4753 {
4754 PIXEL00_50
4755 PIXEL01_50
4756 PIXEL10_50
4757 }
4758 PIXEL02_0
4759 if (Diff(w[2], w[6]))
4760 {
4761 PIXEL03_0
4762 }
4763 else
4764 {
4765 PIXEL03_20
4766 }
4767 PIXEL11_0
4768 PIXEL12_0
4769 PIXEL13_0
4770 PIXEL20_10
4771 PIXEL21_30
4772 PIXEL22_32
4773 PIXEL23_32
4774 PIXEL30_80
4775 PIXEL31_61
4776 PIXEL32_82
4777 PIXEL33_82
4778 break;
4779 }
4780 case 215:
4781 {
4782 PIXEL00_81
4783 PIXEL01_31
4784 PIXEL02_0
4785 if (Diff(w[2], w[6]))
4786 {
4787 PIXEL03_0
4788 }
4789 else
4790 {
4791 PIXEL03_20
4792 }
4793 PIXEL10_81
4794 PIXEL11_31
4795 PIXEL12_0
4796 PIXEL13_0
4797 PIXEL20_61
4798 PIXEL21_30
4799 PIXEL22_0
4800 if (Diff(w[6], w[8]))
4801 {
4802 PIXEL23_0
4803 PIXEL32_0
4804 PIXEL33_0
4805 }
4806 else
4807 {
4808 PIXEL23_50
4809 PIXEL32_50
4810 PIXEL33_50
4811 }
4812 PIXEL30_80
4813 PIXEL31_10
4814 break;
4815 }
4816 case 246:
4817 {
4818 PIXEL00_80
4819 PIXEL01_10
4820 if (Diff(w[2], w[6]))
4821 {
4822 PIXEL02_0
4823 PIXEL03_0
4824 PIXEL13_0
4825 }
4826 else
4827 {
4828 PIXEL02_50
4829 PIXEL03_50
4830 PIXEL13_50
4831 }
4832 PIXEL10_61
4833 PIXEL11_30
4834 PIXEL12_0
4835 PIXEL20_82
4836 PIXEL21_32
4837 PIXEL22_0
4838 PIXEL23_0
4839 PIXEL30_82
4840 PIXEL31_32
4841 PIXEL32_0
4842 if (Diff(w[6], w[8]))
4843 {
4844 PIXEL33_0
4845 }
4846 else
4847 {
4848 PIXEL33_20
4849 }
4850 break;
4851 }
4852 case 254:
4853 {
4854 PIXEL00_80
4855 PIXEL01_10
4856 if (Diff(w[2], w[6]))
4857 {
4858 PIXEL02_0
4859 PIXEL03_0
4860 PIXEL13_0
4861 }
4862 else
4863 {
4864 PIXEL02_50
4865 PIXEL03_50
4866 PIXEL13_50
4867 }
4868 PIXEL10_10
4869 PIXEL11_30
4870 PIXEL12_0
4871 if (Diff(w[8], w[4]))
4872 {
4873 PIXEL20_0
4874 PIXEL30_0
4875 PIXEL31_0
4876 }
4877 else
4878 {
4879 PIXEL20_50
4880 PIXEL30_50
4881 PIXEL31_50
4882 }
4883 PIXEL21_0
4884 PIXEL22_0
4885 PIXEL23_0
4886 PIXEL32_0
4887 if (Diff(w[6], w[8]))
4888 {
4889 PIXEL33_0
4890 }
4891 else
4892 {
4893 PIXEL33_20
4894 }
4895 break;
4896 }
4897 case 253:
4898 {
4899 PIXEL00_82
4900 PIXEL01_82
4901 PIXEL02_81
4902 PIXEL03_81
4903 PIXEL10_32
4904 PIXEL11_32
4905 PIXEL12_31
4906 PIXEL13_31
4907 PIXEL20_0
4908 PIXEL21_0
4909 PIXEL22_0
4910 PIXEL23_0
4911 if (Diff(w[8], w[4]))
4912 {
4913 PIXEL30_0
4914 }
4915 else
4916 {
4917 PIXEL30_20
4918 }
4919 PIXEL31_0
4920 PIXEL32_0
4921 if (Diff(w[6], w[8]))
4922 {
4923 PIXEL33_0
4924 }
4925 else
4926 {
4927 PIXEL33_20
4928 }
4929 break;
4930 }
4931 case 251:
4932 {
4933 if (Diff(w[4], w[2]))
4934 {
4935 PIXEL00_0
4936 PIXEL01_0
4937 PIXEL10_0
4938 }
4939 else
4940 {
4941 PIXEL00_50
4942 PIXEL01_50
4943 PIXEL10_50
4944 }
4945 PIXEL02_10
4946 PIXEL03_80
4947 PIXEL11_0
4948 PIXEL12_30
4949 PIXEL13_10
4950 PIXEL20_0
4951 PIXEL21_0
4952 PIXEL22_0
4953 if (Diff(w[6], w[8]))
4954 {
4955 PIXEL23_0
4956 PIXEL32_0
4957 PIXEL33_0
4958 }
4959 else
4960 {
4961 PIXEL23_50
4962 PIXEL32_50
4963 PIXEL33_50
4964 }
4965 if (Diff(w[8], w[4]))
4966 {
4967 PIXEL30_0
4968 }
4969 else
4970 {
4971 PIXEL30_20
4972 }
4973 PIXEL31_0
4974 break;
4975 }
4976 case 239:
4977 {
4978 if (Diff(w[4], w[2]))
4979 {
4980 PIXEL00_0
4981 }
4982 else
4983 {
4984 PIXEL00_20
4985 }
4986 PIXEL01_0
4987 PIXEL02_32
4988 PIXEL03_82
4989 PIXEL10_0
4990 PIXEL11_0
4991 PIXEL12_32
4992 PIXEL13_82
4993 PIXEL20_0
4994 PIXEL21_0
4995 PIXEL22_31
4996 PIXEL23_81
4997 if (Diff(w[8], w[4]))
4998 {
4999 PIXEL30_0
5000 }
5001 else
5002 {
5003 PIXEL30_20
5004 }
5005 PIXEL31_0
5006 PIXEL32_31
5007 PIXEL33_81
5008 break;
5009 }
5010 case 127:
5011 {
5012 if (Diff(w[4], w[2]))
5013 {
5014 PIXEL00_0
5015 }
5016 else
5017 {
5018 PIXEL00_20
5019 }
5020 PIXEL01_0
5021 if (Diff(w[2], w[6]))
5022 {
5023 PIXEL02_0
5024 PIXEL03_0
5025 PIXEL13_0
5026 }
5027 else
5028 {
5029 PIXEL02_50
5030 PIXEL03_50
5031 PIXEL13_50
5032 }
5033 PIXEL10_0
5034 PIXEL11_0
5035 PIXEL12_0
5036 if (Diff(w[8], w[4]))
5037 {
5038 PIXEL20_0
5039 PIXEL30_0
5040 PIXEL31_0
5041 }
5042 else
5043 {
5044 PIXEL20_50
5045 PIXEL30_50
5046 PIXEL31_50
5047 }
5048 PIXEL21_0
5049 PIXEL22_30
5050 PIXEL23_10
5051 PIXEL32_10
5052 PIXEL33_80
5053 break;
5054 }
5055 case 191:
5056 {
5057 if (Diff(w[4], w[2]))
5058 {
5059 PIXEL00_0
5060 }
5061 else
5062 {
5063 PIXEL00_20
5064 }
5065 PIXEL01_0
5066 PIXEL02_0
5067 if (Diff(w[2], w[6]))
5068 {
5069 PIXEL03_0
5070 }
5071 else
5072 {
5073 PIXEL03_20
5074 }
5075 PIXEL10_0
5076 PIXEL11_0
5077 PIXEL12_0
5078 PIXEL13_0
5079 PIXEL20_31
5080 PIXEL21_31
5081 PIXEL22_32
5082 PIXEL23_32
5083 PIXEL30_81
5084 PIXEL31_81
5085 PIXEL32_82
5086 PIXEL33_82
5087 break;
5088 }
5089 case 223:
5090 {
5091 if (Diff(w[4], w[2]))
5092 {
5093 PIXEL00_0
5094 PIXEL01_0
5095 PIXEL10_0
5096 }
5097 else
5098 {
5099 PIXEL00_50
5100 PIXEL01_50
5101 PIXEL10_50
5102 }
5103 PIXEL02_0
5104 if (Diff(w[2], w[6]))
5105 {
5106 PIXEL03_0
5107 }
5108 else
5109 {
5110 PIXEL03_20
5111 }
5112 PIXEL11_0
5113 PIXEL12_0
5114 PIXEL13_0
5115 PIXEL20_10
5116 PIXEL21_30
5117 PIXEL22_0
5118 if (Diff(w[6], w[8]))
5119 {
5120 PIXEL23_0
5121 PIXEL32_0
5122 PIXEL33_0
5123 }
5124 else
5125 {
5126 PIXEL23_50
5127 PIXEL32_50
5128 PIXEL33_50
5129 }
5130 PIXEL30_80
5131 PIXEL31_10
5132 break;
5133 }
5134 case 247:
5135 {
5136 PIXEL00_81
5137 PIXEL01_31
5138 PIXEL02_0
5139 if (Diff(w[2], w[6]))
5140 {
5141 PIXEL03_0
5142 }
5143 else
5144 {
5145 PIXEL03_20
5146 }
5147 PIXEL10_81
5148 PIXEL11_31
5149 PIXEL12_0
5150 PIXEL13_0
5151 PIXEL20_82
5152 PIXEL21_32
5153 PIXEL22_0
5154 PIXEL23_0
5155 PIXEL30_82
5156 PIXEL31_32
5157 PIXEL32_0
5158 if (Diff(w[6], w[8]))
5159 {
5160 PIXEL33_0
5161 }
5162 else
5163 {
5164 PIXEL33_20
5165 }
5166 break;
5167 }
5168 case 255:
5169 {
5170 if (Diff(w[4], w[2]))
5171 {
5172 PIXEL00_0
5173 }
5174 else
5175 {
5176 PIXEL00_20
5177 }
5178 PIXEL01_0
5179 PIXEL02_0
5180 if (Diff(w[2], w[6]))
5181 {
5182 PIXEL03_0
5183 }
5184 else
5185 {
5186 PIXEL03_20
5187 }
5188 PIXEL10_0
5189 PIXEL11_0
5190 PIXEL12_0
5191 PIXEL13_0
5192 PIXEL20_0
5193 PIXEL21_0
5194 PIXEL22_0
5195 PIXEL23_0
5196 if (Diff(w[8], w[4]))
5197 {
5198 PIXEL30_0
5199 }
5200 else
5201 {
5202 PIXEL30_20
5203 }
5204 PIXEL31_0
5205 PIXEL32_0
5206 if (Diff(w[6], w[8]))
5207 {
5208 PIXEL33_0
5209 }
5210 else
5211 {
5212 PIXEL33_20
5213 }
5214 break;
5215 }
5216 }
5217 sp++;
5218 dp += 4;
5219 }
5220
5221 sRowP += srb;
5222 sp = (uint32_t *) sRowP;
5223
5224 dRowP += drb * 4;
5225 dp = (uint32_t *) dRowP;
5226 }
5227 }
5228
hq4x_32(uint32_t * sp,uint32_t * dp,int Xres,int Yres)5229 HQX_API void HQX_CALLCONV hq4x_32( uint32_t * sp, uint32_t * dp, int Xres, int Yres )
5230 {
5231 uint32_t rowBytesL = Xres * 4;
5232 hq4x_32_rb(sp, rowBytesL, dp, rowBytesL * 4, Xres, Yres);
5233 }
5234