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