20130313
[gdash.git] / src / gfx / pixbufmanip_hq3x.cpp
blob15bbf5121fc36c2ac52fc04de37b0f970ac0bc5b
1 /*
2 * Copyright (C) 2003 Maxim Stepin ( maxst@hiend3d.com )
4 * Copyright (C) 2010 Cameron Zemek ( grom@zeminvaders.net)
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.
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.
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
22 * This is a modified version of the hq2x engine, to support alpha
23 * channel, and to work on rgba images both on little endian and big
24 * endian machines.
26 * When scaling, the pixel values are determined by the rgb levels
27 * of the input picture. The alpha channel is also scaled,
28 * but interpolation settings do not depend on it.
30 * The scaling function is also modified to be able to handle cases
31 * when image pitch (bytes per row) is != width * bytes per pixel.
33 * The RGBtoYUV lookup table is removed, as scaling is only done once
34 * in GDash for every cave loading, not continuously during the game.
36 * The interpolation functions are changed so they do not produce
37 * overflows for the most significant bytes. So when calculating, they
38 * always do divisions first, then multiplications. This makes some
39 * inaccuracies (least significant bits are sometimes dropped), but
40 * it is not really visible in the result.
43 #include "config.h"
45 #include "gfx/pixbufmanip.hpp"
46 #include "gfx/pixbufmanip_hqx.hpp"
48 #define PIXEL00_1M Interp1(dp, w[5], w[1]);
49 #define PIXEL00_1U Interp1(dp, w[5], w[2]);
50 #define PIXEL00_1L Interp1(dp, w[5], w[4]);
51 #define PIXEL00_2 Interp2(dp, w[5], w[4], w[2]);
52 #define PIXEL00_4 Interp4(dp, w[5], w[4], w[2]);
53 #define PIXEL00_5 Interp5(dp, w[4], w[2]);
54 #define PIXEL00_C *dp = w[5];
56 #define PIXEL01_1 Interp1(dp+1, w[5], w[2]);
57 #define PIXEL01_3 Interp3(dp+1, w[5], w[2]);
58 #define PIXEL01_6 Interp1(dp+1, w[2], w[5]);
59 #define PIXEL01_C *(dp+1) = w[5];
61 #define PIXEL02_1M Interp1(dp+2, w[5], w[3]);
62 #define PIXEL02_1U Interp1(dp+2, w[5], w[2]);
63 #define PIXEL02_1R Interp1(dp+2, w[5], w[6]);
64 #define PIXEL02_2 Interp2(dp+2, w[5], w[2], w[6]);
65 #define PIXEL02_4 Interp4(dp+2, w[5], w[2], w[6]);
66 #define PIXEL02_5 Interp5(dp+2, w[2], w[6]);
67 #define PIXEL02_C *(dp+2) = w[5];
69 #define PIXEL10_1 Interp1(dp+dpL, w[5], w[4]);
70 #define PIXEL10_3 Interp3(dp+dpL, w[5], w[4]);
71 #define PIXEL10_6 Interp1(dp+dpL, w[4], w[5]);
72 #define PIXEL10_C *(dp+dpL) = w[5];
74 #define PIXEL11 *(dp+dpL+1) = w[5];
76 #define PIXEL12_1 Interp1(dp+dpL+2, w[5], w[6]);
77 #define PIXEL12_3 Interp3(dp+dpL+2, w[5], w[6]);
78 #define PIXEL12_6 Interp1(dp+dpL+2, w[6], w[5]);
79 #define PIXEL12_C *(dp+dpL+2) = w[5];
81 #define PIXEL20_1M Interp1(dp+dpL+dpL, w[5], w[7]);
82 #define PIXEL20_1D Interp1(dp+dpL+dpL, w[5], w[8]);
83 #define PIXEL20_1L Interp1(dp+dpL+dpL, w[5], w[4]);
84 #define PIXEL20_2 Interp2(dp+dpL+dpL, w[5], w[8], w[4]);
85 #define PIXEL20_4 Interp4(dp+dpL+dpL, w[5], w[8], w[4]);
86 #define PIXEL20_5 Interp5(dp+dpL+dpL, w[8], w[4]);
87 #define PIXEL20_C *(dp+dpL+dpL) = w[5];
89 #define PIXEL21_1 Interp1(dp+dpL+dpL+1, w[5], w[8]);
90 #define PIXEL21_3 Interp3(dp+dpL+dpL+1, w[5], w[8]);
91 #define PIXEL21_6 Interp1(dp+dpL+dpL+1, w[8], w[5]);
92 #define PIXEL21_C *(dp+dpL+dpL+1) = w[5];
94 #define PIXEL22_1M Interp1(dp+dpL+dpL+2, w[5], w[9]);
95 #define PIXEL22_1D Interp1(dp+dpL+dpL+2, w[5], w[8]);
96 #define PIXEL22_1R Interp1(dp+dpL+dpL+2, w[5], w[6]);
97 #define PIXEL22_2 Interp2(dp+dpL+dpL+2, w[5], w[6], w[8]);
98 #define PIXEL22_4 Interp4(dp+dpL+dpL+2, w[5], w[6], w[8]);
99 #define PIXEL22_5 Interp5(dp+dpL+dpL+2, w[6], w[8]);
100 #define PIXEL22_C *(dp+dpL+dpL+2) = w[5];
102 void hq3x(Pixbuf const&src, Pixbuf &dst)
104 guint32 w[10];
106 // +----+----+----+
107 // | | | |
108 // | w1 | w2 | w3 |
109 // +----+----+----+
110 // | | | |
111 // | w4 | w5 | w6 |
112 // +----+----+----+
113 // | | | |
114 // | w7 | w8 | w9 |
115 // +----+----+----+
117 int sw=src.get_width();
118 int sh=src.get_height();
119 int dpL=dst.get_pitch()/4; /* 4 bytes/pixel */
121 for (int j=0; j<sh; j++)
123 const guint32 *line=src.get_row(j);
124 const guint32 *prevline, *nextline;
125 if (j>0) prevline = src.get_row(j-1); else prevline = src.get_row(sh-1);
126 if (j<sh-1) nextline = src.get_row(j+1); else nextline = src.get_row(0);
128 for (int i=0; i<sw; i++) {
129 w[2] = prevline[i];
130 w[5] = line[i];
131 w[8] = nextline[i];
133 if (i>0) {
134 w[1] = prevline[i-1];
135 w[4] = line[i-1];
136 w[7] = nextline[i-1];
138 else {
139 w[1] = prevline[sw-1];
140 w[4] = line[sw-1];
141 w[7] = nextline[sw-1];
144 if (i<sw-1) {
145 w[3] = prevline[i+1];
146 w[6] = line[i+1];
147 w[9] = nextline[i+1];
149 else {
150 w[3] = prevline[0];
151 w[6] = line[0];
152 w[9] = nextline[0];
155 int pattern = 0;
156 int flag = 1;
158 guint32 YUV1 = RGBtoYUV(w[5]);
160 for (int k=1; k<=9; k++) {
161 if (k==5) continue;
163 if ( w[k] != w[5] ) {
164 guint32 YUV2 = RGBtoYUV(w[k]);
165 if ( ( abs((YUV1 & Ymask) - (YUV2 & Ymask)) > trY ) ||
166 ( abs((YUV1 & Umask) - (YUV2 & Umask)) > trU ) ||
167 ( abs((YUV1 & Vmask) - (YUV2 & Vmask)) > trV ) )
168 pattern |= flag;
170 flag <<= 1;
173 guint32 *dp=dst.get_row(j*3)+i*3;
175 switch (pattern)
177 case 0:
178 case 1:
179 case 4:
180 case 32:
181 case 128:
182 case 5:
183 case 132:
184 case 160:
185 case 33:
186 case 129:
187 case 36:
188 case 133:
189 case 164:
190 case 161:
191 case 37:
192 case 165:
194 PIXEL00_2
195 PIXEL01_1
196 PIXEL02_2
197 PIXEL10_1
198 PIXEL11
199 PIXEL12_1
200 PIXEL20_2
201 PIXEL21_1
202 PIXEL22_2
203 break;
205 case 2:
206 case 34:
207 case 130:
208 case 162:
210 PIXEL00_1M
211 PIXEL01_C
212 PIXEL02_1M
213 PIXEL10_1
214 PIXEL11
215 PIXEL12_1
216 PIXEL20_2
217 PIXEL21_1
218 PIXEL22_2
219 break;
221 case 16:
222 case 17:
223 case 48:
224 case 49:
226 PIXEL00_2
227 PIXEL01_1
228 PIXEL02_1M
229 PIXEL10_1
230 PIXEL11
231 PIXEL12_C
232 PIXEL20_2
233 PIXEL21_1
234 PIXEL22_1M
235 break;
237 case 64:
238 case 65:
239 case 68:
240 case 69:
242 PIXEL00_2
243 PIXEL01_1
244 PIXEL02_2
245 PIXEL10_1
246 PIXEL11
247 PIXEL12_1
248 PIXEL20_1M
249 PIXEL21_C
250 PIXEL22_1M
251 break;
253 case 8:
254 case 12:
255 case 136:
256 case 140:
258 PIXEL00_1M
259 PIXEL01_1
260 PIXEL02_2
261 PIXEL10_C
262 PIXEL11
263 PIXEL12_1
264 PIXEL20_1M
265 PIXEL21_1
266 PIXEL22_2
267 break;
269 case 3:
270 case 35:
271 case 131:
272 case 163:
274 PIXEL00_1L
275 PIXEL01_C
276 PIXEL02_1M
277 PIXEL10_1
278 PIXEL11
279 PIXEL12_1
280 PIXEL20_2
281 PIXEL21_1
282 PIXEL22_2
283 break;
285 case 6:
286 case 38:
287 case 134:
288 case 166:
290 PIXEL00_1M
291 PIXEL01_C
292 PIXEL02_1R
293 PIXEL10_1
294 PIXEL11
295 PIXEL12_1
296 PIXEL20_2
297 PIXEL21_1
298 PIXEL22_2
299 break;
301 case 20:
302 case 21:
303 case 52:
304 case 53:
306 PIXEL00_2
307 PIXEL01_1
308 PIXEL02_1U
309 PIXEL10_1
310 PIXEL11
311 PIXEL12_C
312 PIXEL20_2
313 PIXEL21_1
314 PIXEL22_1M
315 break;
317 case 144:
318 case 145:
319 case 176:
320 case 177:
322 PIXEL00_2
323 PIXEL01_1
324 PIXEL02_1M
325 PIXEL10_1
326 PIXEL11
327 PIXEL12_C
328 PIXEL20_2
329 PIXEL21_1
330 PIXEL22_1D
331 break;
333 case 192:
334 case 193:
335 case 196:
336 case 197:
338 PIXEL00_2
339 PIXEL01_1
340 PIXEL02_2
341 PIXEL10_1
342 PIXEL11
343 PIXEL12_1
344 PIXEL20_1M
345 PIXEL21_C
346 PIXEL22_1R
347 break;
349 case 96:
350 case 97:
351 case 100:
352 case 101:
354 PIXEL00_2
355 PIXEL01_1
356 PIXEL02_2
357 PIXEL10_1
358 PIXEL11
359 PIXEL12_1
360 PIXEL20_1L
361 PIXEL21_C
362 PIXEL22_1M
363 break;
365 case 40:
366 case 44:
367 case 168:
368 case 172:
370 PIXEL00_1M
371 PIXEL01_1
372 PIXEL02_2
373 PIXEL10_C
374 PIXEL11
375 PIXEL12_1
376 PIXEL20_1D
377 PIXEL21_1
378 PIXEL22_2
379 break;
381 case 9:
382 case 13:
383 case 137:
384 case 141:
386 PIXEL00_1U
387 PIXEL01_1
388 PIXEL02_2
389 PIXEL10_C
390 PIXEL11
391 PIXEL12_1
392 PIXEL20_1M
393 PIXEL21_1
394 PIXEL22_2
395 break;
397 case 18:
398 case 50:
400 PIXEL00_1M
401 if (Diff(w[2], w[6]))
403 PIXEL01_C
404 PIXEL02_1M
405 PIXEL12_C
407 else
409 PIXEL01_3
410 PIXEL02_4
411 PIXEL12_3
413 PIXEL10_1
414 PIXEL11
415 PIXEL20_2
416 PIXEL21_1
417 PIXEL22_1M
418 break;
420 case 80:
421 case 81:
423 PIXEL00_2
424 PIXEL01_1
425 PIXEL02_1M
426 PIXEL10_1
427 PIXEL11
428 PIXEL20_1M
429 if (Diff(w[6], w[8]))
431 PIXEL12_C
432 PIXEL21_C
433 PIXEL22_1M
435 else
437 PIXEL12_3
438 PIXEL21_3
439 PIXEL22_4
441 break;
443 case 72:
444 case 76:
446 PIXEL00_1M
447 PIXEL01_1
448 PIXEL02_2
449 PIXEL11
450 PIXEL12_1
451 if (Diff(w[8], w[4]))
453 PIXEL10_C
454 PIXEL20_1M
455 PIXEL21_C
457 else
459 PIXEL10_3
460 PIXEL20_4
461 PIXEL21_3
463 PIXEL22_1M
464 break;
466 case 10:
467 case 138:
469 if (Diff(w[4], w[2]))
471 PIXEL00_1M
472 PIXEL01_C
473 PIXEL10_C
475 else
477 PIXEL00_4
478 PIXEL01_3
479 PIXEL10_3
481 PIXEL02_1M
482 PIXEL11
483 PIXEL12_1
484 PIXEL20_1M
485 PIXEL21_1
486 PIXEL22_2
487 break;
489 case 66:
491 PIXEL00_1M
492 PIXEL01_C
493 PIXEL02_1M
494 PIXEL10_1
495 PIXEL11
496 PIXEL12_1
497 PIXEL20_1M
498 PIXEL21_C
499 PIXEL22_1M
500 break;
502 case 24:
504 PIXEL00_1M
505 PIXEL01_1
506 PIXEL02_1M
507 PIXEL10_C
508 PIXEL11
509 PIXEL12_C
510 PIXEL20_1M
511 PIXEL21_1
512 PIXEL22_1M
513 break;
515 case 7:
516 case 39:
517 case 135:
519 PIXEL00_1L
520 PIXEL01_C
521 PIXEL02_1R
522 PIXEL10_1
523 PIXEL11
524 PIXEL12_1
525 PIXEL20_2
526 PIXEL21_1
527 PIXEL22_2
528 break;
530 case 148:
531 case 149:
532 case 180:
534 PIXEL00_2
535 PIXEL01_1
536 PIXEL02_1U
537 PIXEL10_1
538 PIXEL11
539 PIXEL12_C
540 PIXEL20_2
541 PIXEL21_1
542 PIXEL22_1D
543 break;
545 case 224:
546 case 228:
547 case 225:
549 PIXEL00_2
550 PIXEL01_1
551 PIXEL02_2
552 PIXEL10_1
553 PIXEL11
554 PIXEL12_1
555 PIXEL20_1L
556 PIXEL21_C
557 PIXEL22_1R
558 break;
560 case 41:
561 case 169:
562 case 45:
564 PIXEL00_1U
565 PIXEL01_1
566 PIXEL02_2
567 PIXEL10_C
568 PIXEL11
569 PIXEL12_1
570 PIXEL20_1D
571 PIXEL21_1
572 PIXEL22_2
573 break;
575 case 22:
576 case 54:
578 PIXEL00_1M
579 if (Diff(w[2], w[6]))
581 PIXEL01_C
582 PIXEL02_C
583 PIXEL12_C
585 else
587 PIXEL01_3
588 PIXEL02_4
589 PIXEL12_3
591 PIXEL10_1
592 PIXEL11
593 PIXEL20_2
594 PIXEL21_1
595 PIXEL22_1M
596 break;
598 case 208:
599 case 209:
601 PIXEL00_2
602 PIXEL01_1
603 PIXEL02_1M
604 PIXEL10_1
605 PIXEL11
606 PIXEL20_1M
607 if (Diff(w[6], w[8]))
609 PIXEL12_C
610 PIXEL21_C
611 PIXEL22_C
613 else
615 PIXEL12_3
616 PIXEL21_3
617 PIXEL22_4
619 break;
621 case 104:
622 case 108:
624 PIXEL00_1M
625 PIXEL01_1
626 PIXEL02_2
627 PIXEL11
628 PIXEL12_1
629 if (Diff(w[8], w[4]))
631 PIXEL10_C
632 PIXEL20_C
633 PIXEL21_C
635 else
637 PIXEL10_3
638 PIXEL20_4
639 PIXEL21_3
641 PIXEL22_1M
642 break;
644 case 11:
645 case 139:
647 if (Diff(w[4], w[2]))
649 PIXEL00_C
650 PIXEL01_C
651 PIXEL10_C
653 else
655 PIXEL00_4
656 PIXEL01_3
657 PIXEL10_3
659 PIXEL02_1M
660 PIXEL11
661 PIXEL12_1
662 PIXEL20_1M
663 PIXEL21_1
664 PIXEL22_2
665 break;
667 case 19:
668 case 51:
670 if (Diff(w[2], w[6]))
672 PIXEL00_1L
673 PIXEL01_C
674 PIXEL02_1M
675 PIXEL12_C
677 else
679 PIXEL00_2
680 PIXEL01_6
681 PIXEL02_5
682 PIXEL12_1
684 PIXEL10_1
685 PIXEL11
686 PIXEL20_2
687 PIXEL21_1
688 PIXEL22_1M
689 break;
691 case 146:
692 case 178:
694 if (Diff(w[2], w[6]))
696 PIXEL01_C
697 PIXEL02_1M
698 PIXEL12_C
699 PIXEL22_1D
701 else
703 PIXEL01_1
704 PIXEL02_5
705 PIXEL12_6
706 PIXEL22_2
708 PIXEL00_1M
709 PIXEL10_1
710 PIXEL11
711 PIXEL20_2
712 PIXEL21_1
713 break;
715 case 84:
716 case 85:
718 if (Diff(w[6], w[8]))
720 PIXEL02_1U
721 PIXEL12_C
722 PIXEL21_C
723 PIXEL22_1M
725 else
727 PIXEL02_2
728 PIXEL12_6
729 PIXEL21_1
730 PIXEL22_5
732 PIXEL00_2
733 PIXEL01_1
734 PIXEL10_1
735 PIXEL11
736 PIXEL20_1M
737 break;
739 case 112:
740 case 113:
742 if (Diff(w[6], w[8]))
744 PIXEL12_C
745 PIXEL20_1L
746 PIXEL21_C
747 PIXEL22_1M
749 else
751 PIXEL12_1
752 PIXEL20_2
753 PIXEL21_6
754 PIXEL22_5
756 PIXEL00_2
757 PIXEL01_1
758 PIXEL02_1M
759 PIXEL10_1
760 PIXEL11
761 break;
763 case 200:
764 case 204:
766 if (Diff(w[8], w[4]))
768 PIXEL10_C
769 PIXEL20_1M
770 PIXEL21_C
771 PIXEL22_1R
773 else
775 PIXEL10_1
776 PIXEL20_5
777 PIXEL21_6
778 PIXEL22_2
780 PIXEL00_1M
781 PIXEL01_1
782 PIXEL02_2
783 PIXEL11
784 PIXEL12_1
785 break;
787 case 73:
788 case 77:
790 if (Diff(w[8], w[4]))
792 PIXEL00_1U
793 PIXEL10_C
794 PIXEL20_1M
795 PIXEL21_C
797 else
799 PIXEL00_2
800 PIXEL10_6
801 PIXEL20_5
802 PIXEL21_1
804 PIXEL01_1
805 PIXEL02_2
806 PIXEL11
807 PIXEL12_1
808 PIXEL22_1M
809 break;
811 case 42:
812 case 170:
814 if (Diff(w[4], w[2]))
816 PIXEL00_1M
817 PIXEL01_C
818 PIXEL10_C
819 PIXEL20_1D
821 else
823 PIXEL00_5
824 PIXEL01_1
825 PIXEL10_6
826 PIXEL20_2
828 PIXEL02_1M
829 PIXEL11
830 PIXEL12_1
831 PIXEL21_1
832 PIXEL22_2
833 break;
835 case 14:
836 case 142:
838 if (Diff(w[4], w[2]))
840 PIXEL00_1M
841 PIXEL01_C
842 PIXEL02_1R
843 PIXEL10_C
845 else
847 PIXEL00_5
848 PIXEL01_6
849 PIXEL02_2
850 PIXEL10_1
852 PIXEL11
853 PIXEL12_1
854 PIXEL20_1M
855 PIXEL21_1
856 PIXEL22_2
857 break;
859 case 67:
861 PIXEL00_1L
862 PIXEL01_C
863 PIXEL02_1M
864 PIXEL10_1
865 PIXEL11
866 PIXEL12_1
867 PIXEL20_1M
868 PIXEL21_C
869 PIXEL22_1M
870 break;
872 case 70:
874 PIXEL00_1M
875 PIXEL01_C
876 PIXEL02_1R
877 PIXEL10_1
878 PIXEL11
879 PIXEL12_1
880 PIXEL20_1M
881 PIXEL21_C
882 PIXEL22_1M
883 break;
885 case 28:
887 PIXEL00_1M
888 PIXEL01_1
889 PIXEL02_1U
890 PIXEL10_C
891 PIXEL11
892 PIXEL12_C
893 PIXEL20_1M
894 PIXEL21_1
895 PIXEL22_1M
896 break;
898 case 152:
900 PIXEL00_1M
901 PIXEL01_1
902 PIXEL02_1M
903 PIXEL10_C
904 PIXEL11
905 PIXEL12_C
906 PIXEL20_1M
907 PIXEL21_1
908 PIXEL22_1D
909 break;
911 case 194:
913 PIXEL00_1M
914 PIXEL01_C
915 PIXEL02_1M
916 PIXEL10_1
917 PIXEL11
918 PIXEL12_1
919 PIXEL20_1M
920 PIXEL21_C
921 PIXEL22_1R
922 break;
924 case 98:
926 PIXEL00_1M
927 PIXEL01_C
928 PIXEL02_1M
929 PIXEL10_1
930 PIXEL11
931 PIXEL12_1
932 PIXEL20_1L
933 PIXEL21_C
934 PIXEL22_1M
935 break;
937 case 56:
939 PIXEL00_1M
940 PIXEL01_1
941 PIXEL02_1M
942 PIXEL10_C
943 PIXEL11
944 PIXEL12_C
945 PIXEL20_1D
946 PIXEL21_1
947 PIXEL22_1M
948 break;
950 case 25:
952 PIXEL00_1U
953 PIXEL01_1
954 PIXEL02_1M
955 PIXEL10_C
956 PIXEL11
957 PIXEL12_C
958 PIXEL20_1M
959 PIXEL21_1
960 PIXEL22_1M
961 break;
963 case 26:
964 case 31:
966 if (Diff(w[4], w[2]))
968 PIXEL00_C
969 PIXEL10_C
971 else
973 PIXEL00_4
974 PIXEL10_3
976 PIXEL01_C
977 if (Diff(w[2], w[6]))
979 PIXEL02_C
980 PIXEL12_C
982 else
984 PIXEL02_4
985 PIXEL12_3
987 PIXEL11
988 PIXEL20_1M
989 PIXEL21_1
990 PIXEL22_1M
991 break;
993 case 82:
994 case 214:
996 PIXEL00_1M
997 if (Diff(w[2], w[6]))
999 PIXEL01_C
1000 PIXEL02_C
1002 else
1004 PIXEL01_3
1005 PIXEL02_4
1007 PIXEL10_1
1008 PIXEL11
1009 PIXEL12_C
1010 PIXEL20_1M
1011 if (Diff(w[6], w[8]))
1013 PIXEL21_C
1014 PIXEL22_C
1016 else
1018 PIXEL21_3
1019 PIXEL22_4
1021 break;
1023 case 88:
1024 case 248:
1026 PIXEL00_1M
1027 PIXEL01_1
1028 PIXEL02_1M
1029 PIXEL11
1030 if (Diff(w[8], w[4]))
1032 PIXEL10_C
1033 PIXEL20_C
1035 else
1037 PIXEL10_3
1038 PIXEL20_4
1040 PIXEL21_C
1041 if (Diff(w[6], w[8]))
1043 PIXEL12_C
1044 PIXEL22_C
1046 else
1048 PIXEL12_3
1049 PIXEL22_4
1051 break;
1053 case 74:
1054 case 107:
1056 if (Diff(w[4], w[2]))
1058 PIXEL00_C
1059 PIXEL01_C
1061 else
1063 PIXEL00_4
1064 PIXEL01_3
1066 PIXEL02_1M
1067 PIXEL10_C
1068 PIXEL11
1069 PIXEL12_1
1070 if (Diff(w[8], w[4]))
1072 PIXEL20_C
1073 PIXEL21_C
1075 else
1077 PIXEL20_4
1078 PIXEL21_3
1080 PIXEL22_1M
1081 break;
1083 case 27:
1085 if (Diff(w[4], w[2]))
1087 PIXEL00_C
1088 PIXEL01_C
1089 PIXEL10_C
1091 else
1093 PIXEL00_4
1094 PIXEL01_3
1095 PIXEL10_3
1097 PIXEL02_1M
1098 PIXEL11
1099 PIXEL12_C
1100 PIXEL20_1M
1101 PIXEL21_1
1102 PIXEL22_1M
1103 break;
1105 case 86:
1107 PIXEL00_1M
1108 if (Diff(w[2], w[6]))
1110 PIXEL01_C
1111 PIXEL02_C
1112 PIXEL12_C
1114 else
1116 PIXEL01_3
1117 PIXEL02_4
1118 PIXEL12_3
1120 PIXEL10_1
1121 PIXEL11
1122 PIXEL20_1M
1123 PIXEL21_C
1124 PIXEL22_1M
1125 break;
1127 case 216:
1129 PIXEL00_1M
1130 PIXEL01_1
1131 PIXEL02_1M
1132 PIXEL10_C
1133 PIXEL11
1134 PIXEL20_1M
1135 if (Diff(w[6], w[8]))
1137 PIXEL12_C
1138 PIXEL21_C
1139 PIXEL22_C
1141 else
1143 PIXEL12_3
1144 PIXEL21_3
1145 PIXEL22_4
1147 break;
1149 case 106:
1151 PIXEL00_1M
1152 PIXEL01_C
1153 PIXEL02_1M
1154 PIXEL11
1155 PIXEL12_1
1156 if (Diff(w[8], w[4]))
1158 PIXEL10_C
1159 PIXEL20_C
1160 PIXEL21_C
1162 else
1164 PIXEL10_3
1165 PIXEL20_4
1166 PIXEL21_3
1168 PIXEL22_1M
1169 break;
1171 case 30:
1173 PIXEL00_1M
1174 if (Diff(w[2], w[6]))
1176 PIXEL01_C
1177 PIXEL02_C
1178 PIXEL12_C
1180 else
1182 PIXEL01_3
1183 PIXEL02_4
1184 PIXEL12_3
1186 PIXEL10_C
1187 PIXEL11
1188 PIXEL20_1M
1189 PIXEL21_1
1190 PIXEL22_1M
1191 break;
1193 case 210:
1195 PIXEL00_1M
1196 PIXEL01_C
1197 PIXEL02_1M
1198 PIXEL10_1
1199 PIXEL11
1200 PIXEL20_1M
1201 if (Diff(w[6], w[8]))
1203 PIXEL12_C
1204 PIXEL21_C
1205 PIXEL22_C
1207 else
1209 PIXEL12_3
1210 PIXEL21_3
1211 PIXEL22_4
1213 break;
1215 case 120:
1217 PIXEL00_1M
1218 PIXEL01_1
1219 PIXEL02_1M
1220 PIXEL11
1221 PIXEL12_C
1222 if (Diff(w[8], w[4]))
1224 PIXEL10_C
1225 PIXEL20_C
1226 PIXEL21_C
1228 else
1230 PIXEL10_3
1231 PIXEL20_4
1232 PIXEL21_3
1234 PIXEL22_1M
1235 break;
1237 case 75:
1239 if (Diff(w[4], w[2]))
1241 PIXEL00_C
1242 PIXEL01_C
1243 PIXEL10_C
1245 else
1247 PIXEL00_4
1248 PIXEL01_3
1249 PIXEL10_3
1251 PIXEL02_1M
1252 PIXEL11
1253 PIXEL12_1
1254 PIXEL20_1M
1255 PIXEL21_C
1256 PIXEL22_1M
1257 break;
1259 case 29:
1261 PIXEL00_1U
1262 PIXEL01_1
1263 PIXEL02_1U
1264 PIXEL10_C
1265 PIXEL11
1266 PIXEL12_C
1267 PIXEL20_1M
1268 PIXEL21_1
1269 PIXEL22_1M
1270 break;
1272 case 198:
1274 PIXEL00_1M
1275 PIXEL01_C
1276 PIXEL02_1R
1277 PIXEL10_1
1278 PIXEL11
1279 PIXEL12_1
1280 PIXEL20_1M
1281 PIXEL21_C
1282 PIXEL22_1R
1283 break;
1285 case 184:
1287 PIXEL00_1M
1288 PIXEL01_1
1289 PIXEL02_1M
1290 PIXEL10_C
1291 PIXEL11
1292 PIXEL12_C
1293 PIXEL20_1D
1294 PIXEL21_1
1295 PIXEL22_1D
1296 break;
1298 case 99:
1300 PIXEL00_1L
1301 PIXEL01_C
1302 PIXEL02_1M
1303 PIXEL10_1
1304 PIXEL11
1305 PIXEL12_1
1306 PIXEL20_1L
1307 PIXEL21_C
1308 PIXEL22_1M
1309 break;
1311 case 57:
1313 PIXEL00_1U
1314 PIXEL01_1
1315 PIXEL02_1M
1316 PIXEL10_C
1317 PIXEL11
1318 PIXEL12_C
1319 PIXEL20_1D
1320 PIXEL21_1
1321 PIXEL22_1M
1322 break;
1324 case 71:
1326 PIXEL00_1L
1327 PIXEL01_C
1328 PIXEL02_1R
1329 PIXEL10_1
1330 PIXEL11
1331 PIXEL12_1
1332 PIXEL20_1M
1333 PIXEL21_C
1334 PIXEL22_1M
1335 break;
1337 case 156:
1339 PIXEL00_1M
1340 PIXEL01_1
1341 PIXEL02_1U
1342 PIXEL10_C
1343 PIXEL11
1344 PIXEL12_C
1345 PIXEL20_1M
1346 PIXEL21_1
1347 PIXEL22_1D
1348 break;
1350 case 226:
1352 PIXEL00_1M
1353 PIXEL01_C
1354 PIXEL02_1M
1355 PIXEL10_1
1356 PIXEL11
1357 PIXEL12_1
1358 PIXEL20_1L
1359 PIXEL21_C
1360 PIXEL22_1R
1361 break;
1363 case 60:
1365 PIXEL00_1M
1366 PIXEL01_1
1367 PIXEL02_1U
1368 PIXEL10_C
1369 PIXEL11
1370 PIXEL12_C
1371 PIXEL20_1D
1372 PIXEL21_1
1373 PIXEL22_1M
1374 break;
1376 case 195:
1378 PIXEL00_1L
1379 PIXEL01_C
1380 PIXEL02_1M
1381 PIXEL10_1
1382 PIXEL11
1383 PIXEL12_1
1384 PIXEL20_1M
1385 PIXEL21_C
1386 PIXEL22_1R
1387 break;
1389 case 102:
1391 PIXEL00_1M
1392 PIXEL01_C
1393 PIXEL02_1R
1394 PIXEL10_1
1395 PIXEL11
1396 PIXEL12_1
1397 PIXEL20_1L
1398 PIXEL21_C
1399 PIXEL22_1M
1400 break;
1402 case 153:
1404 PIXEL00_1U
1405 PIXEL01_1
1406 PIXEL02_1M
1407 PIXEL10_C
1408 PIXEL11
1409 PIXEL12_C
1410 PIXEL20_1M
1411 PIXEL21_1
1412 PIXEL22_1D
1413 break;
1415 case 58:
1417 if (Diff(w[4], w[2]))
1419 PIXEL00_1M
1421 else
1423 PIXEL00_2
1425 PIXEL01_C
1426 if (Diff(w[2], w[6]))
1428 PIXEL02_1M
1430 else
1432 PIXEL02_2
1434 PIXEL10_C
1435 PIXEL11
1436 PIXEL12_C
1437 PIXEL20_1D
1438 PIXEL21_1
1439 PIXEL22_1M
1440 break;
1442 case 83:
1444 PIXEL00_1L
1445 PIXEL01_C
1446 if (Diff(w[2], w[6]))
1448 PIXEL02_1M
1450 else
1452 PIXEL02_2
1454 PIXEL10_1
1455 PIXEL11
1456 PIXEL12_C
1457 PIXEL20_1M
1458 PIXEL21_C
1459 if (Diff(w[6], w[8]))
1461 PIXEL22_1M
1463 else
1465 PIXEL22_2
1467 break;
1469 case 92:
1471 PIXEL00_1M
1472 PIXEL01_1
1473 PIXEL02_1U
1474 PIXEL10_C
1475 PIXEL11
1476 PIXEL12_C
1477 if (Diff(w[8], w[4]))
1479 PIXEL20_1M
1481 else
1483 PIXEL20_2
1485 PIXEL21_C
1486 if (Diff(w[6], w[8]))
1488 PIXEL22_1M
1490 else
1492 PIXEL22_2
1494 break;
1496 case 202:
1498 if (Diff(w[4], w[2]))
1500 PIXEL00_1M
1502 else
1504 PIXEL00_2
1506 PIXEL01_C
1507 PIXEL02_1M
1508 PIXEL10_C
1509 PIXEL11
1510 PIXEL12_1
1511 if (Diff(w[8], w[4]))
1513 PIXEL20_1M
1515 else
1517 PIXEL20_2
1519 PIXEL21_C
1520 PIXEL22_1R
1521 break;
1523 case 78:
1525 if (Diff(w[4], w[2]))
1527 PIXEL00_1M
1529 else
1531 PIXEL00_2
1533 PIXEL01_C
1534 PIXEL02_1R
1535 PIXEL10_C
1536 PIXEL11
1537 PIXEL12_1
1538 if (Diff(w[8], w[4]))
1540 PIXEL20_1M
1542 else
1544 PIXEL20_2
1546 PIXEL21_C
1547 PIXEL22_1M
1548 break;
1550 case 154:
1552 if (Diff(w[4], w[2]))
1554 PIXEL00_1M
1556 else
1558 PIXEL00_2
1560 PIXEL01_C
1561 if (Diff(w[2], w[6]))
1563 PIXEL02_1M
1565 else
1567 PIXEL02_2
1569 PIXEL10_C
1570 PIXEL11
1571 PIXEL12_C
1572 PIXEL20_1M
1573 PIXEL21_1
1574 PIXEL22_1D
1575 break;
1577 case 114:
1579 PIXEL00_1M
1580 PIXEL01_C
1581 if (Diff(w[2], w[6]))
1583 PIXEL02_1M
1585 else
1587 PIXEL02_2
1589 PIXEL10_1
1590 PIXEL11
1591 PIXEL12_C
1592 PIXEL20_1L
1593 PIXEL21_C
1594 if (Diff(w[6], w[8]))
1596 PIXEL22_1M
1598 else
1600 PIXEL22_2
1602 break;
1604 case 89:
1606 PIXEL00_1U
1607 PIXEL01_1
1608 PIXEL02_1M
1609 PIXEL10_C
1610 PIXEL11
1611 PIXEL12_C
1612 if (Diff(w[8], w[4]))
1614 PIXEL20_1M
1616 else
1618 PIXEL20_2
1620 PIXEL21_C
1621 if (Diff(w[6], w[8]))
1623 PIXEL22_1M
1625 else
1627 PIXEL22_2
1629 break;
1631 case 90:
1633 if (Diff(w[4], w[2]))
1635 PIXEL00_1M
1637 else
1639 PIXEL00_2
1641 PIXEL01_C
1642 if (Diff(w[2], w[6]))
1644 PIXEL02_1M
1646 else
1648 PIXEL02_2
1650 PIXEL10_C
1651 PIXEL11
1652 PIXEL12_C
1653 if (Diff(w[8], w[4]))
1655 PIXEL20_1M
1657 else
1659 PIXEL20_2
1661 PIXEL21_C
1662 if (Diff(w[6], w[8]))
1664 PIXEL22_1M
1666 else
1668 PIXEL22_2
1670 break;
1672 case 55:
1673 case 23:
1675 if (Diff(w[2], w[6]))
1677 PIXEL00_1L
1678 PIXEL01_C
1679 PIXEL02_C
1680 PIXEL12_C
1682 else
1684 PIXEL00_2
1685 PIXEL01_6
1686 PIXEL02_5
1687 PIXEL12_1
1689 PIXEL10_1
1690 PIXEL11
1691 PIXEL20_2
1692 PIXEL21_1
1693 PIXEL22_1M
1694 break;
1696 case 182:
1697 case 150:
1699 if (Diff(w[2], w[6]))
1701 PIXEL01_C
1702 PIXEL02_C
1703 PIXEL12_C
1704 PIXEL22_1D
1706 else
1708 PIXEL01_1
1709 PIXEL02_5
1710 PIXEL12_6
1711 PIXEL22_2
1713 PIXEL00_1M
1714 PIXEL10_1
1715 PIXEL11
1716 PIXEL20_2
1717 PIXEL21_1
1718 break;
1720 case 213:
1721 case 212:
1723 if (Diff(w[6], w[8]))
1725 PIXEL02_1U
1726 PIXEL12_C
1727 PIXEL21_C
1728 PIXEL22_C
1730 else
1732 PIXEL02_2
1733 PIXEL12_6
1734 PIXEL21_1
1735 PIXEL22_5
1737 PIXEL00_2
1738 PIXEL01_1
1739 PIXEL10_1
1740 PIXEL11
1741 PIXEL20_1M
1742 break;
1744 case 241:
1745 case 240:
1747 if (Diff(w[6], w[8]))
1749 PIXEL12_C
1750 PIXEL20_1L
1751 PIXEL21_C
1752 PIXEL22_C
1754 else
1756 PIXEL12_1
1757 PIXEL20_2
1758 PIXEL21_6
1759 PIXEL22_5
1761 PIXEL00_2
1762 PIXEL01_1
1763 PIXEL02_1M
1764 PIXEL10_1
1765 PIXEL11
1766 break;
1768 case 236:
1769 case 232:
1771 if (Diff(w[8], w[4]))
1773 PIXEL10_C
1774 PIXEL20_C
1775 PIXEL21_C
1776 PIXEL22_1R
1778 else
1780 PIXEL10_1
1781 PIXEL20_5
1782 PIXEL21_6
1783 PIXEL22_2
1785 PIXEL00_1M
1786 PIXEL01_1
1787 PIXEL02_2
1788 PIXEL11
1789 PIXEL12_1
1790 break;
1792 case 109:
1793 case 105:
1795 if (Diff(w[8], w[4]))
1797 PIXEL00_1U
1798 PIXEL10_C
1799 PIXEL20_C
1800 PIXEL21_C
1802 else
1804 PIXEL00_2
1805 PIXEL10_6
1806 PIXEL20_5
1807 PIXEL21_1
1809 PIXEL01_1
1810 PIXEL02_2
1811 PIXEL11
1812 PIXEL12_1
1813 PIXEL22_1M
1814 break;
1816 case 171:
1817 case 43:
1819 if (Diff(w[4], w[2]))
1821 PIXEL00_C
1822 PIXEL01_C
1823 PIXEL10_C
1824 PIXEL20_1D
1826 else
1828 PIXEL00_5
1829 PIXEL01_1
1830 PIXEL10_6
1831 PIXEL20_2
1833 PIXEL02_1M
1834 PIXEL11
1835 PIXEL12_1
1836 PIXEL21_1
1837 PIXEL22_2
1838 break;
1840 case 143:
1841 case 15:
1843 if (Diff(w[4], w[2]))
1845 PIXEL00_C
1846 PIXEL01_C
1847 PIXEL02_1R
1848 PIXEL10_C
1850 else
1852 PIXEL00_5
1853 PIXEL01_6
1854 PIXEL02_2
1855 PIXEL10_1
1857 PIXEL11
1858 PIXEL12_1
1859 PIXEL20_1M
1860 PIXEL21_1
1861 PIXEL22_2
1862 break;
1864 case 124:
1866 PIXEL00_1M
1867 PIXEL01_1
1868 PIXEL02_1U
1869 PIXEL11
1870 PIXEL12_C
1871 if (Diff(w[8], w[4]))
1873 PIXEL10_C
1874 PIXEL20_C
1875 PIXEL21_C
1877 else
1879 PIXEL10_3
1880 PIXEL20_4
1881 PIXEL21_3
1883 PIXEL22_1M
1884 break;
1886 case 203:
1888 if (Diff(w[4], w[2]))
1890 PIXEL00_C
1891 PIXEL01_C
1892 PIXEL10_C
1894 else
1896 PIXEL00_4
1897 PIXEL01_3
1898 PIXEL10_3
1900 PIXEL02_1M
1901 PIXEL11
1902 PIXEL12_1
1903 PIXEL20_1M
1904 PIXEL21_C
1905 PIXEL22_1R
1906 break;
1908 case 62:
1910 PIXEL00_1M
1911 if (Diff(w[2], w[6]))
1913 PIXEL01_C
1914 PIXEL02_C
1915 PIXEL12_C
1917 else
1919 PIXEL01_3
1920 PIXEL02_4
1921 PIXEL12_3
1923 PIXEL10_C
1924 PIXEL11
1925 PIXEL20_1D
1926 PIXEL21_1
1927 PIXEL22_1M
1928 break;
1930 case 211:
1932 PIXEL00_1L
1933 PIXEL01_C
1934 PIXEL02_1M
1935 PIXEL10_1
1936 PIXEL11
1937 PIXEL20_1M
1938 if (Diff(w[6], w[8]))
1940 PIXEL12_C
1941 PIXEL21_C
1942 PIXEL22_C
1944 else
1946 PIXEL12_3
1947 PIXEL21_3
1948 PIXEL22_4
1950 break;
1952 case 118:
1954 PIXEL00_1M
1955 if (Diff(w[2], w[6]))
1957 PIXEL01_C
1958 PIXEL02_C
1959 PIXEL12_C
1961 else
1963 PIXEL01_3
1964 PIXEL02_4
1965 PIXEL12_3
1967 PIXEL10_1
1968 PIXEL11
1969 PIXEL20_1L
1970 PIXEL21_C
1971 PIXEL22_1M
1972 break;
1974 case 217:
1976 PIXEL00_1U
1977 PIXEL01_1
1978 PIXEL02_1M
1979 PIXEL10_C
1980 PIXEL11
1981 PIXEL20_1M
1982 if (Diff(w[6], w[8]))
1984 PIXEL12_C
1985 PIXEL21_C
1986 PIXEL22_C
1988 else
1990 PIXEL12_3
1991 PIXEL21_3
1992 PIXEL22_4
1994 break;
1996 case 110:
1998 PIXEL00_1M
1999 PIXEL01_C
2000 PIXEL02_1R
2001 PIXEL11
2002 PIXEL12_1
2003 if (Diff(w[8], w[4]))
2005 PIXEL10_C
2006 PIXEL20_C
2007 PIXEL21_C
2009 else
2011 PIXEL10_3
2012 PIXEL20_4
2013 PIXEL21_3
2015 PIXEL22_1M
2016 break;
2018 case 155:
2020 if (Diff(w[4], w[2]))
2022 PIXEL00_C
2023 PIXEL01_C
2024 PIXEL10_C
2026 else
2028 PIXEL00_4
2029 PIXEL01_3
2030 PIXEL10_3
2032 PIXEL02_1M
2033 PIXEL11
2034 PIXEL12_C
2035 PIXEL20_1M
2036 PIXEL21_1
2037 PIXEL22_1D
2038 break;
2040 case 188:
2042 PIXEL00_1M
2043 PIXEL01_1
2044 PIXEL02_1U
2045 PIXEL10_C
2046 PIXEL11
2047 PIXEL12_C
2048 PIXEL20_1D
2049 PIXEL21_1
2050 PIXEL22_1D
2051 break;
2053 case 185:
2055 PIXEL00_1U
2056 PIXEL01_1
2057 PIXEL02_1M
2058 PIXEL10_C
2059 PIXEL11
2060 PIXEL12_C
2061 PIXEL20_1D
2062 PIXEL21_1
2063 PIXEL22_1D
2064 break;
2066 case 61:
2068 PIXEL00_1U
2069 PIXEL01_1
2070 PIXEL02_1U
2071 PIXEL10_C
2072 PIXEL11
2073 PIXEL12_C
2074 PIXEL20_1D
2075 PIXEL21_1
2076 PIXEL22_1M
2077 break;
2079 case 157:
2081 PIXEL00_1U
2082 PIXEL01_1
2083 PIXEL02_1U
2084 PIXEL10_C
2085 PIXEL11
2086 PIXEL12_C
2087 PIXEL20_1M
2088 PIXEL21_1
2089 PIXEL22_1D
2090 break;
2092 case 103:
2094 PIXEL00_1L
2095 PIXEL01_C
2096 PIXEL02_1R
2097 PIXEL10_1
2098 PIXEL11
2099 PIXEL12_1
2100 PIXEL20_1L
2101 PIXEL21_C
2102 PIXEL22_1M
2103 break;
2105 case 227:
2107 PIXEL00_1L
2108 PIXEL01_C
2109 PIXEL02_1M
2110 PIXEL10_1
2111 PIXEL11
2112 PIXEL12_1
2113 PIXEL20_1L
2114 PIXEL21_C
2115 PIXEL22_1R
2116 break;
2118 case 230:
2120 PIXEL00_1M
2121 PIXEL01_C
2122 PIXEL02_1R
2123 PIXEL10_1
2124 PIXEL11
2125 PIXEL12_1
2126 PIXEL20_1L
2127 PIXEL21_C
2128 PIXEL22_1R
2129 break;
2131 case 199:
2133 PIXEL00_1L
2134 PIXEL01_C
2135 PIXEL02_1R
2136 PIXEL10_1
2137 PIXEL11
2138 PIXEL12_1
2139 PIXEL20_1M
2140 PIXEL21_C
2141 PIXEL22_1R
2142 break;
2144 case 220:
2146 PIXEL00_1M
2147 PIXEL01_1
2148 PIXEL02_1U
2149 PIXEL10_C
2150 PIXEL11
2151 if (Diff(w[8], w[4]))
2153 PIXEL20_1M
2155 else
2157 PIXEL20_2
2159 if (Diff(w[6], w[8]))
2161 PIXEL12_C
2162 PIXEL21_C
2163 PIXEL22_C
2165 else
2167 PIXEL12_3
2168 PIXEL21_3
2169 PIXEL22_4
2171 break;
2173 case 158:
2175 if (Diff(w[4], w[2]))
2177 PIXEL00_1M
2179 else
2181 PIXEL00_2
2183 if (Diff(w[2], w[6]))
2185 PIXEL01_C
2186 PIXEL02_C
2187 PIXEL12_C
2189 else
2191 PIXEL01_3
2192 PIXEL02_4
2193 PIXEL12_3
2195 PIXEL10_C
2196 PIXEL11
2197 PIXEL20_1M
2198 PIXEL21_1
2199 PIXEL22_1D
2200 break;
2202 case 234:
2204 if (Diff(w[4], w[2]))
2206 PIXEL00_1M
2208 else
2210 PIXEL00_2
2212 PIXEL01_C
2213 PIXEL02_1M
2214 PIXEL11
2215 PIXEL12_1
2216 if (Diff(w[8], w[4]))
2218 PIXEL10_C
2219 PIXEL20_C
2220 PIXEL21_C
2222 else
2224 PIXEL10_3
2225 PIXEL20_4
2226 PIXEL21_3
2228 PIXEL22_1R
2229 break;
2231 case 242:
2233 PIXEL00_1M
2234 PIXEL01_C
2235 if (Diff(w[2], w[6]))
2237 PIXEL02_1M
2239 else
2241 PIXEL02_2
2243 PIXEL10_1
2244 PIXEL11
2245 PIXEL20_1L
2246 if (Diff(w[6], w[8]))
2248 PIXEL12_C
2249 PIXEL21_C
2250 PIXEL22_C
2252 else
2254 PIXEL12_3
2255 PIXEL21_3
2256 PIXEL22_4
2258 break;
2260 case 59:
2262 if (Diff(w[4], w[2]))
2264 PIXEL00_C
2265 PIXEL01_C
2266 PIXEL10_C
2268 else
2270 PIXEL00_4
2271 PIXEL01_3
2272 PIXEL10_3
2274 if (Diff(w[2], w[6]))
2276 PIXEL02_1M
2278 else
2280 PIXEL02_2
2282 PIXEL11
2283 PIXEL12_C
2284 PIXEL20_1D
2285 PIXEL21_1
2286 PIXEL22_1M
2287 break;
2289 case 121:
2291 PIXEL00_1U
2292 PIXEL01_1
2293 PIXEL02_1M
2294 PIXEL11
2295 PIXEL12_C
2296 if (Diff(w[8], w[4]))
2298 PIXEL10_C
2299 PIXEL20_C
2300 PIXEL21_C
2302 else
2304 PIXEL10_3
2305 PIXEL20_4
2306 PIXEL21_3
2308 if (Diff(w[6], w[8]))
2310 PIXEL22_1M
2312 else
2314 PIXEL22_2
2316 break;
2318 case 87:
2320 PIXEL00_1L
2321 if (Diff(w[2], w[6]))
2323 PIXEL01_C
2324 PIXEL02_C
2325 PIXEL12_C
2327 else
2329 PIXEL01_3
2330 PIXEL02_4
2331 PIXEL12_3
2333 PIXEL10_1
2334 PIXEL11
2335 PIXEL20_1M
2336 PIXEL21_C
2337 if (Diff(w[6], w[8]))
2339 PIXEL22_1M
2341 else
2343 PIXEL22_2
2345 break;
2347 case 79:
2349 if (Diff(w[4], w[2]))
2351 PIXEL00_C
2352 PIXEL01_C
2353 PIXEL10_C
2355 else
2357 PIXEL00_4
2358 PIXEL01_3
2359 PIXEL10_3
2361 PIXEL02_1R
2362 PIXEL11
2363 PIXEL12_1
2364 if (Diff(w[8], w[4]))
2366 PIXEL20_1M
2368 else
2370 PIXEL20_2
2372 PIXEL21_C
2373 PIXEL22_1M
2374 break;
2376 case 122:
2378 if (Diff(w[4], w[2]))
2380 PIXEL00_1M
2382 else
2384 PIXEL00_2
2386 PIXEL01_C
2387 if (Diff(w[2], w[6]))
2389 PIXEL02_1M
2391 else
2393 PIXEL02_2
2395 PIXEL11
2396 PIXEL12_C
2397 if (Diff(w[8], w[4]))
2399 PIXEL10_C
2400 PIXEL20_C
2401 PIXEL21_C
2403 else
2405 PIXEL10_3
2406 PIXEL20_4
2407 PIXEL21_3
2409 if (Diff(w[6], w[8]))
2411 PIXEL22_1M
2413 else
2415 PIXEL22_2
2417 break;
2419 case 94:
2421 if (Diff(w[4], w[2]))
2423 PIXEL00_1M
2425 else
2427 PIXEL00_2
2429 if (Diff(w[2], w[6]))
2431 PIXEL01_C
2432 PIXEL02_C
2433 PIXEL12_C
2435 else
2437 PIXEL01_3
2438 PIXEL02_4
2439 PIXEL12_3
2441 PIXEL10_C
2442 PIXEL11
2443 if (Diff(w[8], w[4]))
2445 PIXEL20_1M
2447 else
2449 PIXEL20_2
2451 PIXEL21_C
2452 if (Diff(w[6], w[8]))
2454 PIXEL22_1M
2456 else
2458 PIXEL22_2
2460 break;
2462 case 218:
2464 if (Diff(w[4], w[2]))
2466 PIXEL00_1M
2468 else
2470 PIXEL00_2
2472 PIXEL01_C
2473 if (Diff(w[2], w[6]))
2475 PIXEL02_1M
2477 else
2479 PIXEL02_2
2481 PIXEL10_C
2482 PIXEL11
2483 if (Diff(w[8], w[4]))
2485 PIXEL20_1M
2487 else
2489 PIXEL20_2
2491 if (Diff(w[6], w[8]))
2493 PIXEL12_C
2494 PIXEL21_C
2495 PIXEL22_C
2497 else
2499 PIXEL12_3
2500 PIXEL21_3
2501 PIXEL22_4
2503 break;
2505 case 91:
2507 if (Diff(w[4], w[2]))
2509 PIXEL00_C
2510 PIXEL01_C
2511 PIXEL10_C
2513 else
2515 PIXEL00_4
2516 PIXEL01_3
2517 PIXEL10_3
2519 if (Diff(w[2], w[6]))
2521 PIXEL02_1M
2523 else
2525 PIXEL02_2
2527 PIXEL11
2528 PIXEL12_C
2529 if (Diff(w[8], w[4]))
2531 PIXEL20_1M
2533 else
2535 PIXEL20_2
2537 PIXEL21_C
2538 if (Diff(w[6], w[8]))
2540 PIXEL22_1M
2542 else
2544 PIXEL22_2
2546 break;
2548 case 229:
2550 PIXEL00_2
2551 PIXEL01_1
2552 PIXEL02_2
2553 PIXEL10_1
2554 PIXEL11
2555 PIXEL12_1
2556 PIXEL20_1L
2557 PIXEL21_C
2558 PIXEL22_1R
2559 break;
2561 case 167:
2563 PIXEL00_1L
2564 PIXEL01_C
2565 PIXEL02_1R
2566 PIXEL10_1
2567 PIXEL11
2568 PIXEL12_1
2569 PIXEL20_2
2570 PIXEL21_1
2571 PIXEL22_2
2572 break;
2574 case 173:
2576 PIXEL00_1U
2577 PIXEL01_1
2578 PIXEL02_2
2579 PIXEL10_C
2580 PIXEL11
2581 PIXEL12_1
2582 PIXEL20_1D
2583 PIXEL21_1
2584 PIXEL22_2
2585 break;
2587 case 181:
2589 PIXEL00_2
2590 PIXEL01_1
2591 PIXEL02_1U
2592 PIXEL10_1
2593 PIXEL11
2594 PIXEL12_C
2595 PIXEL20_2
2596 PIXEL21_1
2597 PIXEL22_1D
2598 break;
2600 case 186:
2602 if (Diff(w[4], w[2]))
2604 PIXEL00_1M
2606 else
2608 PIXEL00_2
2610 PIXEL01_C
2611 if (Diff(w[2], w[6]))
2613 PIXEL02_1M
2615 else
2617 PIXEL02_2
2619 PIXEL10_C
2620 PIXEL11
2621 PIXEL12_C
2622 PIXEL20_1D
2623 PIXEL21_1
2624 PIXEL22_1D
2625 break;
2627 case 115:
2629 PIXEL00_1L
2630 PIXEL01_C
2631 if (Diff(w[2], w[6]))
2633 PIXEL02_1M
2635 else
2637 PIXEL02_2
2639 PIXEL10_1
2640 PIXEL11
2641 PIXEL12_C
2642 PIXEL20_1L
2643 PIXEL21_C
2644 if (Diff(w[6], w[8]))
2646 PIXEL22_1M
2648 else
2650 PIXEL22_2
2652 break;
2654 case 93:
2656 PIXEL00_1U
2657 PIXEL01_1
2658 PIXEL02_1U
2659 PIXEL10_C
2660 PIXEL11
2661 PIXEL12_C
2662 if (Diff(w[8], w[4]))
2664 PIXEL20_1M
2666 else
2668 PIXEL20_2
2670 PIXEL21_C
2671 if (Diff(w[6], w[8]))
2673 PIXEL22_1M
2675 else
2677 PIXEL22_2
2679 break;
2681 case 206:
2683 if (Diff(w[4], w[2]))
2685 PIXEL00_1M
2687 else
2689 PIXEL00_2
2691 PIXEL01_C
2692 PIXEL02_1R
2693 PIXEL10_C
2694 PIXEL11
2695 PIXEL12_1
2696 if (Diff(w[8], w[4]))
2698 PIXEL20_1M
2700 else
2702 PIXEL20_2
2704 PIXEL21_C
2705 PIXEL22_1R
2706 break;
2708 case 205:
2709 case 201:
2711 PIXEL00_1U
2712 PIXEL01_1
2713 PIXEL02_2
2714 PIXEL10_C
2715 PIXEL11
2716 PIXEL12_1
2717 if (Diff(w[8], w[4]))
2719 PIXEL20_1M
2721 else
2723 PIXEL20_2
2725 PIXEL21_C
2726 PIXEL22_1R
2727 break;
2729 case 174:
2730 case 46:
2732 if (Diff(w[4], w[2]))
2734 PIXEL00_1M
2736 else
2738 PIXEL00_2
2740 PIXEL01_C
2741 PIXEL02_1R
2742 PIXEL10_C
2743 PIXEL11
2744 PIXEL12_1
2745 PIXEL20_1D
2746 PIXEL21_1
2747 PIXEL22_2
2748 break;
2750 case 179:
2751 case 147:
2753 PIXEL00_1L
2754 PIXEL01_C
2755 if (Diff(w[2], w[6]))
2757 PIXEL02_1M
2759 else
2761 PIXEL02_2
2763 PIXEL10_1
2764 PIXEL11
2765 PIXEL12_C
2766 PIXEL20_2
2767 PIXEL21_1
2768 PIXEL22_1D
2769 break;
2771 case 117:
2772 case 116:
2774 PIXEL00_2
2775 PIXEL01_1
2776 PIXEL02_1U
2777 PIXEL10_1
2778 PIXEL11
2779 PIXEL12_C
2780 PIXEL20_1L
2781 PIXEL21_C
2782 if (Diff(w[6], w[8]))
2784 PIXEL22_1M
2786 else
2788 PIXEL22_2
2790 break;
2792 case 189:
2794 PIXEL00_1U
2795 PIXEL01_1
2796 PIXEL02_1U
2797 PIXEL10_C
2798 PIXEL11
2799 PIXEL12_C
2800 PIXEL20_1D
2801 PIXEL21_1
2802 PIXEL22_1D
2803 break;
2805 case 231:
2807 PIXEL00_1L
2808 PIXEL01_C
2809 PIXEL02_1R
2810 PIXEL10_1
2811 PIXEL11
2812 PIXEL12_1
2813 PIXEL20_1L
2814 PIXEL21_C
2815 PIXEL22_1R
2816 break;
2818 case 126:
2820 PIXEL00_1M
2821 if (Diff(w[2], w[6]))
2823 PIXEL01_C
2824 PIXEL02_C
2825 PIXEL12_C
2827 else
2829 PIXEL01_3
2830 PIXEL02_4
2831 PIXEL12_3
2833 PIXEL11
2834 if (Diff(w[8], w[4]))
2836 PIXEL10_C
2837 PIXEL20_C
2838 PIXEL21_C
2840 else
2842 PIXEL10_3
2843 PIXEL20_4
2844 PIXEL21_3
2846 PIXEL22_1M
2847 break;
2849 case 219:
2851 if (Diff(w[4], w[2]))
2853 PIXEL00_C
2854 PIXEL01_C
2855 PIXEL10_C
2857 else
2859 PIXEL00_4
2860 PIXEL01_3
2861 PIXEL10_3
2863 PIXEL02_1M
2864 PIXEL11
2865 PIXEL20_1M
2866 if (Diff(w[6], w[8]))
2868 PIXEL12_C
2869 PIXEL21_C
2870 PIXEL22_C
2872 else
2874 PIXEL12_3
2875 PIXEL21_3
2876 PIXEL22_4
2878 break;
2880 case 125:
2882 if (Diff(w[8], w[4]))
2884 PIXEL00_1U
2885 PIXEL10_C
2886 PIXEL20_C
2887 PIXEL21_C
2889 else
2891 PIXEL00_2
2892 PIXEL10_6
2893 PIXEL20_5
2894 PIXEL21_1
2896 PIXEL01_1
2897 PIXEL02_1U
2898 PIXEL11
2899 PIXEL12_C
2900 PIXEL22_1M
2901 break;
2903 case 221:
2905 if (Diff(w[6], w[8]))
2907 PIXEL02_1U
2908 PIXEL12_C
2909 PIXEL21_C
2910 PIXEL22_C
2912 else
2914 PIXEL02_2
2915 PIXEL12_6
2916 PIXEL21_1
2917 PIXEL22_5
2919 PIXEL00_1U
2920 PIXEL01_1
2921 PIXEL10_C
2922 PIXEL11
2923 PIXEL20_1M
2924 break;
2926 case 207:
2928 if (Diff(w[4], w[2]))
2930 PIXEL00_C
2931 PIXEL01_C
2932 PIXEL02_1R
2933 PIXEL10_C
2935 else
2937 PIXEL00_5
2938 PIXEL01_6
2939 PIXEL02_2
2940 PIXEL10_1
2942 PIXEL11
2943 PIXEL12_1
2944 PIXEL20_1M
2945 PIXEL21_C
2946 PIXEL22_1R
2947 break;
2949 case 238:
2951 if (Diff(w[8], w[4]))
2953 PIXEL10_C
2954 PIXEL20_C
2955 PIXEL21_C
2956 PIXEL22_1R
2958 else
2960 PIXEL10_1
2961 PIXEL20_5
2962 PIXEL21_6
2963 PIXEL22_2
2965 PIXEL00_1M
2966 PIXEL01_C
2967 PIXEL02_1R
2968 PIXEL11
2969 PIXEL12_1
2970 break;
2972 case 190:
2974 if (Diff(w[2], w[6]))
2976 PIXEL01_C
2977 PIXEL02_C
2978 PIXEL12_C
2979 PIXEL22_1D
2981 else
2983 PIXEL01_1
2984 PIXEL02_5
2985 PIXEL12_6
2986 PIXEL22_2
2988 PIXEL00_1M
2989 PIXEL10_C
2990 PIXEL11
2991 PIXEL20_1D
2992 PIXEL21_1
2993 break;
2995 case 187:
2997 if (Diff(w[4], w[2]))
2999 PIXEL00_C
3000 PIXEL01_C
3001 PIXEL10_C
3002 PIXEL20_1D
3004 else
3006 PIXEL00_5
3007 PIXEL01_1
3008 PIXEL10_6
3009 PIXEL20_2
3011 PIXEL02_1M
3012 PIXEL11
3013 PIXEL12_C
3014 PIXEL21_1
3015 PIXEL22_1D
3016 break;
3018 case 243:
3020 if (Diff(w[6], w[8]))
3022 PIXEL12_C
3023 PIXEL20_1L
3024 PIXEL21_C
3025 PIXEL22_C
3027 else
3029 PIXEL12_1
3030 PIXEL20_2
3031 PIXEL21_6
3032 PIXEL22_5
3034 PIXEL00_1L
3035 PIXEL01_C
3036 PIXEL02_1M
3037 PIXEL10_1
3038 PIXEL11
3039 break;
3041 case 119:
3043 if (Diff(w[2], w[6]))
3045 PIXEL00_1L
3046 PIXEL01_C
3047 PIXEL02_C
3048 PIXEL12_C
3050 else
3052 PIXEL00_2
3053 PIXEL01_6
3054 PIXEL02_5
3055 PIXEL12_1
3057 PIXEL10_1
3058 PIXEL11
3059 PIXEL20_1L
3060 PIXEL21_C
3061 PIXEL22_1M
3062 break;
3064 case 237:
3065 case 233:
3067 PIXEL00_1U
3068 PIXEL01_1
3069 PIXEL02_2
3070 PIXEL10_C
3071 PIXEL11
3072 PIXEL12_1
3073 if (Diff(w[8], w[4]))
3075 PIXEL20_C
3077 else
3079 PIXEL20_2
3081 PIXEL21_C
3082 PIXEL22_1R
3083 break;
3085 case 175:
3086 case 47:
3088 if (Diff(w[4], w[2]))
3090 PIXEL00_C
3092 else
3094 PIXEL00_2
3096 PIXEL01_C
3097 PIXEL02_1R
3098 PIXEL10_C
3099 PIXEL11
3100 PIXEL12_1
3101 PIXEL20_1D
3102 PIXEL21_1
3103 PIXEL22_2
3104 break;
3106 case 183:
3107 case 151:
3109 PIXEL00_1L
3110 PIXEL01_C
3111 if (Diff(w[2], w[6]))
3113 PIXEL02_C
3115 else
3117 PIXEL02_2
3119 PIXEL10_1
3120 PIXEL11
3121 PIXEL12_C
3122 PIXEL20_2
3123 PIXEL21_1
3124 PIXEL22_1D
3125 break;
3127 case 245:
3128 case 244:
3130 PIXEL00_2
3131 PIXEL01_1
3132 PIXEL02_1U
3133 PIXEL10_1
3134 PIXEL11
3135 PIXEL12_C
3136 PIXEL20_1L
3137 PIXEL21_C
3138 if (Diff(w[6], w[8]))
3140 PIXEL22_C
3142 else
3144 PIXEL22_2
3146 break;
3148 case 250:
3150 PIXEL00_1M
3151 PIXEL01_C
3152 PIXEL02_1M
3153 PIXEL11
3154 if (Diff(w[8], w[4]))
3156 PIXEL10_C
3157 PIXEL20_C
3159 else
3161 PIXEL10_3
3162 PIXEL20_4
3164 PIXEL21_C
3165 if (Diff(w[6], w[8]))
3167 PIXEL12_C
3168 PIXEL22_C
3170 else
3172 PIXEL12_3
3173 PIXEL22_4
3175 break;
3177 case 123:
3179 if (Diff(w[4], w[2]))
3181 PIXEL00_C
3182 PIXEL01_C
3184 else
3186 PIXEL00_4
3187 PIXEL01_3
3189 PIXEL02_1M
3190 PIXEL10_C
3191 PIXEL11
3192 PIXEL12_C
3193 if (Diff(w[8], w[4]))
3195 PIXEL20_C
3196 PIXEL21_C
3198 else
3200 PIXEL20_4
3201 PIXEL21_3
3203 PIXEL22_1M
3204 break;
3206 case 95:
3208 if (Diff(w[4], w[2]))
3210 PIXEL00_C
3211 PIXEL10_C
3213 else
3215 PIXEL00_4
3216 PIXEL10_3
3218 PIXEL01_C
3219 if (Diff(w[2], w[6]))
3221 PIXEL02_C
3222 PIXEL12_C
3224 else
3226 PIXEL02_4
3227 PIXEL12_3
3229 PIXEL11
3230 PIXEL20_1M
3231 PIXEL21_C
3232 PIXEL22_1M
3233 break;
3235 case 222:
3237 PIXEL00_1M
3238 if (Diff(w[2], w[6]))
3240 PIXEL01_C
3241 PIXEL02_C
3243 else
3245 PIXEL01_3
3246 PIXEL02_4
3248 PIXEL10_C
3249 PIXEL11
3250 PIXEL12_C
3251 PIXEL20_1M
3252 if (Diff(w[6], w[8]))
3254 PIXEL21_C
3255 PIXEL22_C
3257 else
3259 PIXEL21_3
3260 PIXEL22_4
3262 break;
3264 case 252:
3266 PIXEL00_1M
3267 PIXEL01_1
3268 PIXEL02_1U
3269 PIXEL11
3270 PIXEL12_C
3271 if (Diff(w[8], w[4]))
3273 PIXEL10_C
3274 PIXEL20_C
3276 else
3278 PIXEL10_3
3279 PIXEL20_4
3281 PIXEL21_C
3282 if (Diff(w[6], w[8]))
3284 PIXEL22_C
3286 else
3288 PIXEL22_2
3290 break;
3292 case 249:
3294 PIXEL00_1U
3295 PIXEL01_1
3296 PIXEL02_1M
3297 PIXEL10_C
3298 PIXEL11
3299 if (Diff(w[8], w[4]))
3301 PIXEL20_C
3303 else
3305 PIXEL20_2
3307 PIXEL21_C
3308 if (Diff(w[6], w[8]))
3310 PIXEL12_C
3311 PIXEL22_C
3313 else
3315 PIXEL12_3
3316 PIXEL22_4
3318 break;
3320 case 235:
3322 if (Diff(w[4], w[2]))
3324 PIXEL00_C
3325 PIXEL01_C
3327 else
3329 PIXEL00_4
3330 PIXEL01_3
3332 PIXEL02_1M
3333 PIXEL10_C
3334 PIXEL11
3335 PIXEL12_1
3336 if (Diff(w[8], w[4]))
3338 PIXEL20_C
3340 else
3342 PIXEL20_2
3344 PIXEL21_C
3345 PIXEL22_1R
3346 break;
3348 case 111:
3350 if (Diff(w[4], w[2]))
3352 PIXEL00_C
3354 else
3356 PIXEL00_2
3358 PIXEL01_C
3359 PIXEL02_1R
3360 PIXEL10_C
3361 PIXEL11
3362 PIXEL12_1
3363 if (Diff(w[8], w[4]))
3365 PIXEL20_C
3366 PIXEL21_C
3368 else
3370 PIXEL20_4
3371 PIXEL21_3
3373 PIXEL22_1M
3374 break;
3376 case 63:
3378 if (Diff(w[4], w[2]))
3380 PIXEL00_C
3382 else
3384 PIXEL00_2
3386 PIXEL01_C
3387 if (Diff(w[2], w[6]))
3389 PIXEL02_C
3390 PIXEL12_C
3392 else
3394 PIXEL02_4
3395 PIXEL12_3
3397 PIXEL10_C
3398 PIXEL11
3399 PIXEL20_1D
3400 PIXEL21_1
3401 PIXEL22_1M
3402 break;
3404 case 159:
3406 if (Diff(w[4], w[2]))
3408 PIXEL00_C
3409 PIXEL10_C
3411 else
3413 PIXEL00_4
3414 PIXEL10_3
3416 PIXEL01_C
3417 if (Diff(w[2], w[6]))
3419 PIXEL02_C
3421 else
3423 PIXEL02_2
3425 PIXEL11
3426 PIXEL12_C
3427 PIXEL20_1M
3428 PIXEL21_1
3429 PIXEL22_1D
3430 break;
3432 case 215:
3434 PIXEL00_1L
3435 PIXEL01_C
3436 if (Diff(w[2], w[6]))
3438 PIXEL02_C
3440 else
3442 PIXEL02_2
3444 PIXEL10_1
3445 PIXEL11
3446 PIXEL12_C
3447 PIXEL20_1M
3448 if (Diff(w[6], w[8]))
3450 PIXEL21_C
3451 PIXEL22_C
3453 else
3455 PIXEL21_3
3456 PIXEL22_4
3458 break;
3460 case 246:
3462 PIXEL00_1M
3463 if (Diff(w[2], w[6]))
3465 PIXEL01_C
3466 PIXEL02_C
3468 else
3470 PIXEL01_3
3471 PIXEL02_4
3473 PIXEL10_1
3474 PIXEL11
3475 PIXEL12_C
3476 PIXEL20_1L
3477 PIXEL21_C
3478 if (Diff(w[6], w[8]))
3480 PIXEL22_C
3482 else
3484 PIXEL22_2
3486 break;
3488 case 254:
3490 PIXEL00_1M
3491 if (Diff(w[2], w[6]))
3493 PIXEL01_C
3494 PIXEL02_C
3496 else
3498 PIXEL01_3
3499 PIXEL02_4
3501 PIXEL11
3502 if (Diff(w[8], w[4]))
3504 PIXEL10_C
3505 PIXEL20_C
3507 else
3509 PIXEL10_3
3510 PIXEL20_4
3512 if (Diff(w[6], w[8]))
3514 PIXEL12_C
3515 PIXEL21_C
3516 PIXEL22_C
3518 else
3520 PIXEL12_3
3521 PIXEL21_3
3522 PIXEL22_2
3524 break;
3526 case 253:
3528 PIXEL00_1U
3529 PIXEL01_1
3530 PIXEL02_1U
3531 PIXEL10_C
3532 PIXEL11
3533 PIXEL12_C
3534 if (Diff(w[8], w[4]))
3536 PIXEL20_C
3538 else
3540 PIXEL20_2
3542 PIXEL21_C
3543 if (Diff(w[6], w[8]))
3545 PIXEL22_C
3547 else
3549 PIXEL22_2
3551 break;
3553 case 251:
3555 if (Diff(w[4], w[2]))
3557 PIXEL00_C
3558 PIXEL01_C
3560 else
3562 PIXEL00_4
3563 PIXEL01_3
3565 PIXEL02_1M
3566 PIXEL11
3567 if (Diff(w[8], w[4]))
3569 PIXEL10_C
3570 PIXEL20_C
3571 PIXEL21_C
3573 else
3575 PIXEL10_3
3576 PIXEL20_2
3577 PIXEL21_3
3579 if (Diff(w[6], w[8]))
3581 PIXEL12_C
3582 PIXEL22_C
3584 else
3586 PIXEL12_3
3587 PIXEL22_4
3589 break;
3591 case 239:
3593 if (Diff(w[4], w[2]))
3595 PIXEL00_C
3597 else
3599 PIXEL00_2
3601 PIXEL01_C
3602 PIXEL02_1R
3603 PIXEL10_C
3604 PIXEL11
3605 PIXEL12_1
3606 if (Diff(w[8], w[4]))
3608 PIXEL20_C
3610 else
3612 PIXEL20_2
3614 PIXEL21_C
3615 PIXEL22_1R
3616 break;
3618 case 127:
3620 if (Diff(w[4], w[2]))
3622 PIXEL00_C
3623 PIXEL01_C
3624 PIXEL10_C
3626 else
3628 PIXEL00_2
3629 PIXEL01_3
3630 PIXEL10_3
3632 if (Diff(w[2], w[6]))
3634 PIXEL02_C
3635 PIXEL12_C
3637 else
3639 PIXEL02_4
3640 PIXEL12_3
3642 PIXEL11
3643 if (Diff(w[8], w[4]))
3645 PIXEL20_C
3646 PIXEL21_C
3648 else
3650 PIXEL20_4
3651 PIXEL21_3
3653 PIXEL22_1M
3654 break;
3656 case 191:
3658 if (Diff(w[4], w[2]))
3660 PIXEL00_C
3662 else
3664 PIXEL00_2
3666 PIXEL01_C
3667 if (Diff(w[2], w[6]))
3669 PIXEL02_C
3671 else
3673 PIXEL02_2
3675 PIXEL10_C
3676 PIXEL11
3677 PIXEL12_C
3678 PIXEL20_1D
3679 PIXEL21_1
3680 PIXEL22_1D
3681 break;
3683 case 223:
3685 if (Diff(w[4], w[2]))
3687 PIXEL00_C
3688 PIXEL10_C
3690 else
3692 PIXEL00_4
3693 PIXEL10_3
3695 if (Diff(w[2], w[6]))
3697 PIXEL01_C
3698 PIXEL02_C
3699 PIXEL12_C
3701 else
3703 PIXEL01_3
3704 PIXEL02_2
3705 PIXEL12_3
3707 PIXEL11
3708 PIXEL20_1M
3709 if (Diff(w[6], w[8]))
3711 PIXEL21_C
3712 PIXEL22_C
3714 else
3716 PIXEL21_3
3717 PIXEL22_4
3719 break;
3721 case 247:
3723 PIXEL00_1L
3724 PIXEL01_C
3725 if (Diff(w[2], w[6]))
3727 PIXEL02_C
3729 else
3731 PIXEL02_2
3733 PIXEL10_1
3734 PIXEL11
3735 PIXEL12_C
3736 PIXEL20_1L
3737 PIXEL21_C
3738 if (Diff(w[6], w[8]))
3740 PIXEL22_C
3742 else
3744 PIXEL22_2
3746 break;
3748 case 255:
3750 if (Diff(w[4], w[2]))
3752 PIXEL00_C
3754 else
3756 PIXEL00_2
3758 PIXEL01_C
3759 if (Diff(w[2], w[6]))
3761 PIXEL02_C
3763 else
3765 PIXEL02_2
3767 PIXEL10_C
3768 PIXEL11
3769 PIXEL12_C
3770 if (Diff(w[8], w[4]))
3772 PIXEL20_C
3774 else
3776 PIXEL20_2
3778 PIXEL21_C
3779 if (Diff(w[6], w[8]))
3781 PIXEL22_C
3783 else
3785 PIXEL22_2
3787 break;