DGen/SDL
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
hq3x-int.h
Go to the documentation of this file.
1 HQX_API void HQX_CALLCONV HQ3X_RB_FUNC( HQ3X_TYPE * sp, uint32_t srb, HQ3X_TYPE * dp, uint32_t drb, int Xres, int Yres )
2 {
3  int i, j, k;
4  int prevline, nextline;
5  HQ3X_TYPE w[10];
6  int dpL = (drb / HQ3X_BYTES);
7  int spL = (srb / HQ3X_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  HQ3X_CPY(w[2], *(sp + prevline));
31  HQ3X_CPY(w[5], *sp);
32  HQ3X_CPY(w[8], *(sp + nextline));
33 
34  if (i>0)
35  {
36  HQ3X_CPY(w[1], *(sp + prevline - 1));
37  HQ3X_CPY(w[4], *(sp - 1));
38  HQ3X_CPY(w[7], *(sp + nextline - 1));
39  }
40  else
41  {
42  HQ3X_CPY(w[1], w[2]);
43  HQ3X_CPY(w[4], w[5]);
44  HQ3X_CPY(w[7], w[8]);
45  }
46 
47  if (i<Xres-1)
48  {
49  HQ3X_CPY(w[3], *(sp + prevline + 1));
50  HQ3X_CPY(w[6], *(sp + 1));
51  HQ3X_CPY(w[9], *(sp + nextline + 1));
52  }
53  else
54  {
55  HQ3X_CPY(w[3], w[2]);
56  HQ3X_CPY(w[6], w[5]);
57  HQ3X_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_2
98  PIXEL01_1
99  PIXEL02_2
100  PIXEL10_1
101  PIXEL11
102  PIXEL12_1
103  PIXEL20_2
104  PIXEL21_1
105  PIXEL22_2
106  break;
107  }
108  case 2:
109  case 34:
110  case 130:
111  case 162:
112  {
113  PIXEL00_1M
114  PIXEL01_C
115  PIXEL02_1M
116  PIXEL10_1
117  PIXEL11
118  PIXEL12_1
119  PIXEL20_2
120  PIXEL21_1
121  PIXEL22_2
122  break;
123  }
124  case 16:
125  case 17:
126  case 48:
127  case 49:
128  {
129  PIXEL00_2
130  PIXEL01_1
131  PIXEL02_1M
132  PIXEL10_1
133  PIXEL11
134  PIXEL12_C
135  PIXEL20_2
136  PIXEL21_1
137  PIXEL22_1M
138  break;
139  }
140  case 64:
141  case 65:
142  case 68:
143  case 69:
144  {
145  PIXEL00_2
146  PIXEL01_1
147  PIXEL02_2
148  PIXEL10_1
149  PIXEL11
150  PIXEL12_1
151  PIXEL20_1M
152  PIXEL21_C
153  PIXEL22_1M
154  break;
155  }
156  case 8:
157  case 12:
158  case 136:
159  case 140:
160  {
161  PIXEL00_1M
162  PIXEL01_1
163  PIXEL02_2
164  PIXEL10_C
165  PIXEL11
166  PIXEL12_1
167  PIXEL20_1M
168  PIXEL21_1
169  PIXEL22_2
170  break;
171  }
172  case 3:
173  case 35:
174  case 131:
175  case 163:
176  {
177  PIXEL00_1L
178  PIXEL01_C
179  PIXEL02_1M
180  PIXEL10_1
181  PIXEL11
182  PIXEL12_1
183  PIXEL20_2
184  PIXEL21_1
185  PIXEL22_2
186  break;
187  }
188  case 6:
189  case 38:
190  case 134:
191  case 166:
192  {
193  PIXEL00_1M
194  PIXEL01_C
195  PIXEL02_1R
196  PIXEL10_1
197  PIXEL11
198  PIXEL12_1
199  PIXEL20_2
200  PIXEL21_1
201  PIXEL22_2
202  break;
203  }
204  case 20:
205  case 21:
206  case 52:
207  case 53:
208  {
209  PIXEL00_2
210  PIXEL01_1
211  PIXEL02_1U
212  PIXEL10_1
213  PIXEL11
214  PIXEL12_C
215  PIXEL20_2
216  PIXEL21_1
217  PIXEL22_1M
218  break;
219  }
220  case 144:
221  case 145:
222  case 176:
223  case 177:
224  {
225  PIXEL00_2
226  PIXEL01_1
227  PIXEL02_1M
228  PIXEL10_1
229  PIXEL11
230  PIXEL12_C
231  PIXEL20_2
232  PIXEL21_1
233  PIXEL22_1D
234  break;
235  }
236  case 192:
237  case 193:
238  case 196:
239  case 197:
240  {
241  PIXEL00_2
242  PIXEL01_1
243  PIXEL02_2
244  PIXEL10_1
245  PIXEL11
246  PIXEL12_1
247  PIXEL20_1M
248  PIXEL21_C
249  PIXEL22_1R
250  break;
251  }
252  case 96:
253  case 97:
254  case 100:
255  case 101:
256  {
257  PIXEL00_2
258  PIXEL01_1
259  PIXEL02_2
260  PIXEL10_1
261  PIXEL11
262  PIXEL12_1
263  PIXEL20_1L
264  PIXEL21_C
265  PIXEL22_1M
266  break;
267  }
268  case 40:
269  case 44:
270  case 168:
271  case 172:
272  {
273  PIXEL00_1M
274  PIXEL01_1
275  PIXEL02_2
276  PIXEL10_C
277  PIXEL11
278  PIXEL12_1
279  PIXEL20_1D
280  PIXEL21_1
281  PIXEL22_2
282  break;
283  }
284  case 9:
285  case 13:
286  case 137:
287  case 141:
288  {
289  PIXEL00_1U
290  PIXEL01_1
291  PIXEL02_2
292  PIXEL10_C
293  PIXEL11
294  PIXEL12_1
295  PIXEL20_1M
296  PIXEL21_1
297  PIXEL22_2
298  break;
299  }
300  case 18:
301  case 50:
302  {
303  PIXEL00_1M
304  if (DIFF_FUNC(w[2], w[6]))
305  {
306  PIXEL01_C
307  PIXEL02_1M
308  PIXEL12_C
309  }
310  else
311  {
312  PIXEL01_3
313  PIXEL02_4
314  PIXEL12_3
315  }
316  PIXEL10_1
317  PIXEL11
318  PIXEL20_2
319  PIXEL21_1
320  PIXEL22_1M
321  break;
322  }
323  case 80:
324  case 81:
325  {
326  PIXEL00_2
327  PIXEL01_1
328  PIXEL02_1M
329  PIXEL10_1
330  PIXEL11
331  PIXEL20_1M
332  if (DIFF_FUNC(w[6], w[8]))
333  {
334  PIXEL12_C
335  PIXEL21_C
336  PIXEL22_1M
337  }
338  else
339  {
340  PIXEL12_3
341  PIXEL21_3
342  PIXEL22_4
343  }
344  break;
345  }
346  case 72:
347  case 76:
348  {
349  PIXEL00_1M
350  PIXEL01_1
351  PIXEL02_2
352  PIXEL11
353  PIXEL12_1
354  if (DIFF_FUNC(w[8], w[4]))
355  {
356  PIXEL10_C
357  PIXEL20_1M
358  PIXEL21_C
359  }
360  else
361  {
362  PIXEL10_3
363  PIXEL20_4
364  PIXEL21_3
365  }
366  PIXEL22_1M
367  break;
368  }
369  case 10:
370  case 138:
371  {
372  if (DIFF_FUNC(w[4], w[2]))
373  {
374  PIXEL00_1M
375  PIXEL01_C
376  PIXEL10_C
377  }
378  else
379  {
380  PIXEL00_4
381  PIXEL01_3
382  PIXEL10_3
383  }
384  PIXEL02_1M
385  PIXEL11
386  PIXEL12_1
387  PIXEL20_1M
388  PIXEL21_1
389  PIXEL22_2
390  break;
391  }
392  case 66:
393  {
394  PIXEL00_1M
395  PIXEL01_C
396  PIXEL02_1M
397  PIXEL10_1
398  PIXEL11
399  PIXEL12_1
400  PIXEL20_1M
401  PIXEL21_C
402  PIXEL22_1M
403  break;
404  }
405  case 24:
406  {
407  PIXEL00_1M
408  PIXEL01_1
409  PIXEL02_1M
410  PIXEL10_C
411  PIXEL11
412  PIXEL12_C
413  PIXEL20_1M
414  PIXEL21_1
415  PIXEL22_1M
416  break;
417  }
418  case 7:
419  case 39:
420  case 135:
421  {
422  PIXEL00_1L
423  PIXEL01_C
424  PIXEL02_1R
425  PIXEL10_1
426  PIXEL11
427  PIXEL12_1
428  PIXEL20_2
429  PIXEL21_1
430  PIXEL22_2
431  break;
432  }
433  case 148:
434  case 149:
435  case 180:
436  {
437  PIXEL00_2
438  PIXEL01_1
439  PIXEL02_1U
440  PIXEL10_1
441  PIXEL11
442  PIXEL12_C
443  PIXEL20_2
444  PIXEL21_1
445  PIXEL22_1D
446  break;
447  }
448  case 224:
449  case 228:
450  case 225:
451  {
452  PIXEL00_2
453  PIXEL01_1
454  PIXEL02_2
455  PIXEL10_1
456  PIXEL11
457  PIXEL12_1
458  PIXEL20_1L
459  PIXEL21_C
460  PIXEL22_1R
461  break;
462  }
463  case 41:
464  case 169:
465  case 45:
466  {
467  PIXEL00_1U
468  PIXEL01_1
469  PIXEL02_2
470  PIXEL10_C
471  PIXEL11
472  PIXEL12_1
473  PIXEL20_1D
474  PIXEL21_1
475  PIXEL22_2
476  break;
477  }
478  case 22:
479  case 54:
480  {
481  PIXEL00_1M
482  if (DIFF_FUNC(w[2], w[6]))
483  {
484  PIXEL01_C
485  PIXEL02_C
486  PIXEL12_C
487  }
488  else
489  {
490  PIXEL01_3
491  PIXEL02_4
492  PIXEL12_3
493  }
494  PIXEL10_1
495  PIXEL11
496  PIXEL20_2
497  PIXEL21_1
498  PIXEL22_1M
499  break;
500  }
501  case 208:
502  case 209:
503  {
504  PIXEL00_2
505  PIXEL01_1
506  PIXEL02_1M
507  PIXEL10_1
508  PIXEL11
509  PIXEL20_1M
510  if (DIFF_FUNC(w[6], w[8]))
511  {
512  PIXEL12_C
513  PIXEL21_C
514  PIXEL22_C
515  }
516  else
517  {
518  PIXEL12_3
519  PIXEL21_3
520  PIXEL22_4
521  }
522  break;
523  }
524  case 104:
525  case 108:
526  {
527  PIXEL00_1M
528  PIXEL01_1
529  PIXEL02_2
530  PIXEL11
531  PIXEL12_1
532  if (DIFF_FUNC(w[8], w[4]))
533  {
534  PIXEL10_C
535  PIXEL20_C
536  PIXEL21_C
537  }
538  else
539  {
540  PIXEL10_3
541  PIXEL20_4
542  PIXEL21_3
543  }
544  PIXEL22_1M
545  break;
546  }
547  case 11:
548  case 139:
549  {
550  if (DIFF_FUNC(w[4], w[2]))
551  {
552  PIXEL00_C
553  PIXEL01_C
554  PIXEL10_C
555  }
556  else
557  {
558  PIXEL00_4
559  PIXEL01_3
560  PIXEL10_3
561  }
562  PIXEL02_1M
563  PIXEL11
564  PIXEL12_1
565  PIXEL20_1M
566  PIXEL21_1
567  PIXEL22_2
568  break;
569  }
570  case 19:
571  case 51:
572  {
573  if (DIFF_FUNC(w[2], w[6]))
574  {
575  PIXEL00_1L
576  PIXEL01_C
577  PIXEL02_1M
578  PIXEL12_C
579  }
580  else
581  {
582  PIXEL00_2
583  PIXEL01_6
584  PIXEL02_5
585  PIXEL12_1
586  }
587  PIXEL10_1
588  PIXEL11
589  PIXEL20_2
590  PIXEL21_1
591  PIXEL22_1M
592  break;
593  }
594  case 146:
595  case 178:
596  {
597  if (DIFF_FUNC(w[2], w[6]))
598  {
599  PIXEL01_C
600  PIXEL02_1M
601  PIXEL12_C
602  PIXEL22_1D
603  }
604  else
605  {
606  PIXEL01_1
607  PIXEL02_5
608  PIXEL12_6
609  PIXEL22_2
610  }
611  PIXEL00_1M
612  PIXEL10_1
613  PIXEL11
614  PIXEL20_2
615  PIXEL21_1
616  break;
617  }
618  case 84:
619  case 85:
620  {
621  if (DIFF_FUNC(w[6], w[8]))
622  {
623  PIXEL02_1U
624  PIXEL12_C
625  PIXEL21_C
626  PIXEL22_1M
627  }
628  else
629  {
630  PIXEL02_2
631  PIXEL12_6
632  PIXEL21_1
633  PIXEL22_5
634  }
635  PIXEL00_2
636  PIXEL01_1
637  PIXEL10_1
638  PIXEL11
639  PIXEL20_1M
640  break;
641  }
642  case 112:
643  case 113:
644  {
645  if (DIFF_FUNC(w[6], w[8]))
646  {
647  PIXEL12_C
648  PIXEL20_1L
649  PIXEL21_C
650  PIXEL22_1M
651  }
652  else
653  {
654  PIXEL12_1
655  PIXEL20_2
656  PIXEL21_6
657  PIXEL22_5
658  }
659  PIXEL00_2
660  PIXEL01_1
661  PIXEL02_1M
662  PIXEL10_1
663  PIXEL11
664  break;
665  }
666  case 200:
667  case 204:
668  {
669  if (DIFF_FUNC(w[8], w[4]))
670  {
671  PIXEL10_C
672  PIXEL20_1M
673  PIXEL21_C
674  PIXEL22_1R
675  }
676  else
677  {
678  PIXEL10_1
679  PIXEL20_5
680  PIXEL21_6
681  PIXEL22_2
682  }
683  PIXEL00_1M
684  PIXEL01_1
685  PIXEL02_2
686  PIXEL11
687  PIXEL12_1
688  break;
689  }
690  case 73:
691  case 77:
692  {
693  if (DIFF_FUNC(w[8], w[4]))
694  {
695  PIXEL00_1U
696  PIXEL10_C
697  PIXEL20_1M
698  PIXEL21_C
699  }
700  else
701  {
702  PIXEL00_2
703  PIXEL10_6
704  PIXEL20_5
705  PIXEL21_1
706  }
707  PIXEL01_1
708  PIXEL02_2
709  PIXEL11
710  PIXEL12_1
711  PIXEL22_1M
712  break;
713  }
714  case 42:
715  case 170:
716  {
717  if (DIFF_FUNC(w[4], w[2]))
718  {
719  PIXEL00_1M
720  PIXEL01_C
721  PIXEL10_C
722  PIXEL20_1D
723  }
724  else
725  {
726  PIXEL00_5
727  PIXEL01_1
728  PIXEL10_6
729  PIXEL20_2
730  }
731  PIXEL02_1M
732  PIXEL11
733  PIXEL12_1
734  PIXEL21_1
735  PIXEL22_2
736  break;
737  }
738  case 14:
739  case 142:
740  {
741  if (DIFF_FUNC(w[4], w[2]))
742  {
743  PIXEL00_1M
744  PIXEL01_C
745  PIXEL02_1R
746  PIXEL10_C
747  }
748  else
749  {
750  PIXEL00_5
751  PIXEL01_6
752  PIXEL02_2
753  PIXEL10_1
754  }
755  PIXEL11
756  PIXEL12_1
757  PIXEL20_1M
758  PIXEL21_1
759  PIXEL22_2
760  break;
761  }
762  case 67:
763  {
764  PIXEL00_1L
765  PIXEL01_C
766  PIXEL02_1M
767  PIXEL10_1
768  PIXEL11
769  PIXEL12_1
770  PIXEL20_1M
771  PIXEL21_C
772  PIXEL22_1M
773  break;
774  }
775  case 70:
776  {
777  PIXEL00_1M
778  PIXEL01_C
779  PIXEL02_1R
780  PIXEL10_1
781  PIXEL11
782  PIXEL12_1
783  PIXEL20_1M
784  PIXEL21_C
785  PIXEL22_1M
786  break;
787  }
788  case 28:
789  {
790  PIXEL00_1M
791  PIXEL01_1
792  PIXEL02_1U
793  PIXEL10_C
794  PIXEL11
795  PIXEL12_C
796  PIXEL20_1M
797  PIXEL21_1
798  PIXEL22_1M
799  break;
800  }
801  case 152:
802  {
803  PIXEL00_1M
804  PIXEL01_1
805  PIXEL02_1M
806  PIXEL10_C
807  PIXEL11
808  PIXEL12_C
809  PIXEL20_1M
810  PIXEL21_1
811  PIXEL22_1D
812  break;
813  }
814  case 194:
815  {
816  PIXEL00_1M
817  PIXEL01_C
818  PIXEL02_1M
819  PIXEL10_1
820  PIXEL11
821  PIXEL12_1
822  PIXEL20_1M
823  PIXEL21_C
824  PIXEL22_1R
825  break;
826  }
827  case 98:
828  {
829  PIXEL00_1M
830  PIXEL01_C
831  PIXEL02_1M
832  PIXEL10_1
833  PIXEL11
834  PIXEL12_1
835  PIXEL20_1L
836  PIXEL21_C
837  PIXEL22_1M
838  break;
839  }
840  case 56:
841  {
842  PIXEL00_1M
843  PIXEL01_1
844  PIXEL02_1M
845  PIXEL10_C
846  PIXEL11
847  PIXEL12_C
848  PIXEL20_1D
849  PIXEL21_1
850  PIXEL22_1M
851  break;
852  }
853  case 25:
854  {
855  PIXEL00_1U
856  PIXEL01_1
857  PIXEL02_1M
858  PIXEL10_C
859  PIXEL11
860  PIXEL12_C
861  PIXEL20_1M
862  PIXEL21_1
863  PIXEL22_1M
864  break;
865  }
866  case 26:
867  case 31:
868  {
869  if (DIFF_FUNC(w[4], w[2]))
870  {
871  PIXEL00_C
872  PIXEL10_C
873  }
874  else
875  {
876  PIXEL00_4
877  PIXEL10_3
878  }
879  PIXEL01_C
880  if (DIFF_FUNC(w[2], w[6]))
881  {
882  PIXEL02_C
883  PIXEL12_C
884  }
885  else
886  {
887  PIXEL02_4
888  PIXEL12_3
889  }
890  PIXEL11
891  PIXEL20_1M
892  PIXEL21_1
893  PIXEL22_1M
894  break;
895  }
896  case 82:
897  case 214:
898  {
899  PIXEL00_1M
900  if (DIFF_FUNC(w[2], w[6]))
901  {
902  PIXEL01_C
903  PIXEL02_C
904  }
905  else
906  {
907  PIXEL01_3
908  PIXEL02_4
909  }
910  PIXEL10_1
911  PIXEL11
912  PIXEL12_C
913  PIXEL20_1M
914  if (DIFF_FUNC(w[6], w[8]))
915  {
916  PIXEL21_C
917  PIXEL22_C
918  }
919  else
920  {
921  PIXEL21_3
922  PIXEL22_4
923  }
924  break;
925  }
926  case 88:
927  case 248:
928  {
929  PIXEL00_1M
930  PIXEL01_1
931  PIXEL02_1M
932  PIXEL11
933  if (DIFF_FUNC(w[8], w[4]))
934  {
935  PIXEL10_C
936  PIXEL20_C
937  }
938  else
939  {
940  PIXEL10_3
941  PIXEL20_4
942  }
943  PIXEL21_C
944  if (DIFF_FUNC(w[6], w[8]))
945  {
946  PIXEL12_C
947  PIXEL22_C
948  }
949  else
950  {
951  PIXEL12_3
952  PIXEL22_4
953  }
954  break;
955  }
956  case 74:
957  case 107:
958  {
959  if (DIFF_FUNC(w[4], w[2]))
960  {
961  PIXEL00_C
962  PIXEL01_C
963  }
964  else
965  {
966  PIXEL00_4
967  PIXEL01_3
968  }
969  PIXEL02_1M
970  PIXEL10_C
971  PIXEL11
972  PIXEL12_1
973  if (DIFF_FUNC(w[8], w[4]))
974  {
975  PIXEL20_C
976  PIXEL21_C
977  }
978  else
979  {
980  PIXEL20_4
981  PIXEL21_3
982  }
983  PIXEL22_1M
984  break;
985  }
986  case 27:
987  {
988  if (DIFF_FUNC(w[4], w[2]))
989  {
990  PIXEL00_C
991  PIXEL01_C
992  PIXEL10_C
993  }
994  else
995  {
996  PIXEL00_4
997  PIXEL01_3
998  PIXEL10_3
999  }
1000  PIXEL02_1M
1001  PIXEL11
1002  PIXEL12_C
1003  PIXEL20_1M
1004  PIXEL21_1
1005  PIXEL22_1M
1006  break;
1007  }
1008  case 86:
1009  {
1010  PIXEL00_1M
1011  if (DIFF_FUNC(w[2], w[6]))
1012  {
1013  PIXEL01_C
1014  PIXEL02_C
1015  PIXEL12_C
1016  }
1017  else
1018  {
1019  PIXEL01_3
1020  PIXEL02_4
1021  PIXEL12_3
1022  }
1023  PIXEL10_1
1024  PIXEL11
1025  PIXEL20_1M
1026  PIXEL21_C
1027  PIXEL22_1M
1028  break;
1029  }
1030  case 216:
1031  {
1032  PIXEL00_1M
1033  PIXEL01_1
1034  PIXEL02_1M
1035  PIXEL10_C
1036  PIXEL11
1037  PIXEL20_1M
1038  if (DIFF_FUNC(w[6], w[8]))
1039  {
1040  PIXEL12_C
1041  PIXEL21_C
1042  PIXEL22_C
1043  }
1044  else
1045  {
1046  PIXEL12_3
1047  PIXEL21_3
1048  PIXEL22_4
1049  }
1050  break;
1051  }
1052  case 106:
1053  {
1054  PIXEL00_1M
1055  PIXEL01_C
1056  PIXEL02_1M
1057  PIXEL11
1058  PIXEL12_1
1059  if (DIFF_FUNC(w[8], w[4]))
1060  {
1061  PIXEL10_C
1062  PIXEL20_C
1063  PIXEL21_C
1064  }
1065  else
1066  {
1067  PIXEL10_3
1068  PIXEL20_4
1069  PIXEL21_3
1070  }
1071  PIXEL22_1M
1072  break;
1073  }
1074  case 30:
1075  {
1076  PIXEL00_1M
1077  if (DIFF_FUNC(w[2], w[6]))
1078  {
1079  PIXEL01_C
1080  PIXEL02_C
1081  PIXEL12_C
1082  }
1083  else
1084  {
1085  PIXEL01_3
1086  PIXEL02_4
1087  PIXEL12_3
1088  }
1089  PIXEL10_C
1090  PIXEL11
1091  PIXEL20_1M
1092  PIXEL21_1
1093  PIXEL22_1M
1094  break;
1095  }
1096  case 210:
1097  {
1098  PIXEL00_1M
1099  PIXEL01_C
1100  PIXEL02_1M
1101  PIXEL10_1
1102  PIXEL11
1103  PIXEL20_1M
1104  if (DIFF_FUNC(w[6], w[8]))
1105  {
1106  PIXEL12_C
1107  PIXEL21_C
1108  PIXEL22_C
1109  }
1110  else
1111  {
1112  PIXEL12_3
1113  PIXEL21_3
1114  PIXEL22_4
1115  }
1116  break;
1117  }
1118  case 120:
1119  {
1120  PIXEL00_1M
1121  PIXEL01_1
1122  PIXEL02_1M
1123  PIXEL11
1124  PIXEL12_C
1125  if (DIFF_FUNC(w[8], w[4]))
1126  {
1127  PIXEL10_C
1128  PIXEL20_C
1129  PIXEL21_C
1130  }
1131  else
1132  {
1133  PIXEL10_3
1134  PIXEL20_4
1135  PIXEL21_3
1136  }
1137  PIXEL22_1M
1138  break;
1139  }
1140  case 75:
1141  {
1142  if (DIFF_FUNC(w[4], w[2]))
1143  {
1144  PIXEL00_C
1145  PIXEL01_C
1146  PIXEL10_C
1147  }
1148  else
1149  {
1150  PIXEL00_4
1151  PIXEL01_3
1152  PIXEL10_3
1153  }
1154  PIXEL02_1M
1155  PIXEL11
1156  PIXEL12_1
1157  PIXEL20_1M
1158  PIXEL21_C
1159  PIXEL22_1M
1160  break;
1161  }
1162  case 29:
1163  {
1164  PIXEL00_1U
1165  PIXEL01_1
1166  PIXEL02_1U
1167  PIXEL10_C
1168  PIXEL11
1169  PIXEL12_C
1170  PIXEL20_1M
1171  PIXEL21_1
1172  PIXEL22_1M
1173  break;
1174  }
1175  case 198:
1176  {
1177  PIXEL00_1M
1178  PIXEL01_C
1179  PIXEL02_1R
1180  PIXEL10_1
1181  PIXEL11
1182  PIXEL12_1
1183  PIXEL20_1M
1184  PIXEL21_C
1185  PIXEL22_1R
1186  break;
1187  }
1188  case 184:
1189  {
1190  PIXEL00_1M
1191  PIXEL01_1
1192  PIXEL02_1M
1193  PIXEL10_C
1194  PIXEL11
1195  PIXEL12_C
1196  PIXEL20_1D
1197  PIXEL21_1
1198  PIXEL22_1D
1199  break;
1200  }
1201  case 99:
1202  {
1203  PIXEL00_1L
1204  PIXEL01_C
1205  PIXEL02_1M
1206  PIXEL10_1
1207  PIXEL11
1208  PIXEL12_1
1209  PIXEL20_1L
1210  PIXEL21_C
1211  PIXEL22_1M
1212  break;
1213  }
1214  case 57:
1215  {
1216  PIXEL00_1U
1217  PIXEL01_1
1218  PIXEL02_1M
1219  PIXEL10_C
1220  PIXEL11
1221  PIXEL12_C
1222  PIXEL20_1D
1223  PIXEL21_1
1224  PIXEL22_1M
1225  break;
1226  }
1227  case 71:
1228  {
1229  PIXEL00_1L
1230  PIXEL01_C
1231  PIXEL02_1R
1232  PIXEL10_1
1233  PIXEL11
1234  PIXEL12_1
1235  PIXEL20_1M
1236  PIXEL21_C
1237  PIXEL22_1M
1238  break;
1239  }
1240  case 156:
1241  {
1242  PIXEL00_1M
1243  PIXEL01_1
1244  PIXEL02_1U
1245  PIXEL10_C
1246  PIXEL11
1247  PIXEL12_C
1248  PIXEL20_1M
1249  PIXEL21_1
1250  PIXEL22_1D
1251  break;
1252  }
1253  case 226:
1254  {
1255  PIXEL00_1M
1256  PIXEL01_C
1257  PIXEL02_1M
1258  PIXEL10_1
1259  PIXEL11
1260  PIXEL12_1
1261  PIXEL20_1L
1262  PIXEL21_C
1263  PIXEL22_1R
1264  break;
1265  }
1266  case 60:
1267  {
1268  PIXEL00_1M
1269  PIXEL01_1
1270  PIXEL02_1U
1271  PIXEL10_C
1272  PIXEL11
1273  PIXEL12_C
1274  PIXEL20_1D
1275  PIXEL21_1
1276  PIXEL22_1M
1277  break;
1278  }
1279  case 195:
1280  {
1281  PIXEL00_1L
1282  PIXEL01_C
1283  PIXEL02_1M
1284  PIXEL10_1
1285  PIXEL11
1286  PIXEL12_1
1287  PIXEL20_1M
1288  PIXEL21_C
1289  PIXEL22_1R
1290  break;
1291  }
1292  case 102:
1293  {
1294  PIXEL00_1M
1295  PIXEL01_C
1296  PIXEL02_1R
1297  PIXEL10_1
1298  PIXEL11
1299  PIXEL12_1
1300  PIXEL20_1L
1301  PIXEL21_C
1302  PIXEL22_1M
1303  break;
1304  }
1305  case 153:
1306  {
1307  PIXEL00_1U
1308  PIXEL01_1
1309  PIXEL02_1M
1310  PIXEL10_C
1311  PIXEL11
1312  PIXEL12_C
1313  PIXEL20_1M
1314  PIXEL21_1
1315  PIXEL22_1D
1316  break;
1317  }
1318  case 58:
1319  {
1320  if (DIFF_FUNC(w[4], w[2]))
1321  {
1322  PIXEL00_1M
1323  }
1324  else
1325  {
1326  PIXEL00_2
1327  }
1328  PIXEL01_C
1329  if (DIFF_FUNC(w[2], w[6]))
1330  {
1331  PIXEL02_1M
1332  }
1333  else
1334  {
1335  PIXEL02_2
1336  }
1337  PIXEL10_C
1338  PIXEL11
1339  PIXEL12_C
1340  PIXEL20_1D
1341  PIXEL21_1
1342  PIXEL22_1M
1343  break;
1344  }
1345  case 83:
1346  {
1347  PIXEL00_1L
1348  PIXEL01_C
1349  if (DIFF_FUNC(w[2], w[6]))
1350  {
1351  PIXEL02_1M
1352  }
1353  else
1354  {
1355  PIXEL02_2
1356  }
1357  PIXEL10_1
1358  PIXEL11
1359  PIXEL12_C
1360  PIXEL20_1M
1361  PIXEL21_C
1362  if (DIFF_FUNC(w[6], w[8]))
1363  {
1364  PIXEL22_1M
1365  }
1366  else
1367  {
1368  PIXEL22_2
1369  }
1370  break;
1371  }
1372  case 92:
1373  {
1374  PIXEL00_1M
1375  PIXEL01_1
1376  PIXEL02_1U
1377  PIXEL10_C
1378  PIXEL11
1379  PIXEL12_C
1380  if (DIFF_FUNC(w[8], w[4]))
1381  {
1382  PIXEL20_1M
1383  }
1384  else
1385  {
1386  PIXEL20_2
1387  }
1388  PIXEL21_C
1389  if (DIFF_FUNC(w[6], w[8]))
1390  {
1391  PIXEL22_1M
1392  }
1393  else
1394  {
1395  PIXEL22_2
1396  }
1397  break;
1398  }
1399  case 202:
1400  {
1401  if (DIFF_FUNC(w[4], w[2]))
1402  {
1403  PIXEL00_1M
1404  }
1405  else
1406  {
1407  PIXEL00_2
1408  }
1409  PIXEL01_C
1410  PIXEL02_1M
1411  PIXEL10_C
1412  PIXEL11
1413  PIXEL12_1
1414  if (DIFF_FUNC(w[8], w[4]))
1415  {
1416  PIXEL20_1M
1417  }
1418  else
1419  {
1420  PIXEL20_2
1421  }
1422  PIXEL21_C
1423  PIXEL22_1R
1424  break;
1425  }
1426  case 78:
1427  {
1428  if (DIFF_FUNC(w[4], w[2]))
1429  {
1430  PIXEL00_1M
1431  }
1432  else
1433  {
1434  PIXEL00_2
1435  }
1436  PIXEL01_C
1437  PIXEL02_1R
1438  PIXEL10_C
1439  PIXEL11
1440  PIXEL12_1
1441  if (DIFF_FUNC(w[8], w[4]))
1442  {
1443  PIXEL20_1M
1444  }
1445  else
1446  {
1447  PIXEL20_2
1448  }
1449  PIXEL21_C
1450  PIXEL22_1M
1451  break;
1452  }
1453  case 154:
1454  {
1455  if (DIFF_FUNC(w[4], w[2]))
1456  {
1457  PIXEL00_1M
1458  }
1459  else
1460  {
1461  PIXEL00_2
1462  }
1463  PIXEL01_C
1464  if (DIFF_FUNC(w[2], w[6]))
1465  {
1466  PIXEL02_1M
1467  }
1468  else
1469  {
1470  PIXEL02_2
1471  }
1472  PIXEL10_C
1473  PIXEL11
1474  PIXEL12_C
1475  PIXEL20_1M
1476  PIXEL21_1
1477  PIXEL22_1D
1478  break;
1479  }
1480  case 114:
1481  {
1482  PIXEL00_1M
1483  PIXEL01_C
1484  if (DIFF_FUNC(w[2], w[6]))
1485  {
1486  PIXEL02_1M
1487  }
1488  else
1489  {
1490  PIXEL02_2
1491  }
1492  PIXEL10_1
1493  PIXEL11
1494  PIXEL12_C
1495  PIXEL20_1L
1496  PIXEL21_C
1497  if (DIFF_FUNC(w[6], w[8]))
1498  {
1499  PIXEL22_1M
1500  }
1501  else
1502  {
1503  PIXEL22_2
1504  }
1505  break;
1506  }
1507  case 89:
1508  {
1509  PIXEL00_1U
1510  PIXEL01_1
1511  PIXEL02_1M
1512  PIXEL10_C
1513  PIXEL11
1514  PIXEL12_C
1515  if (DIFF_FUNC(w[8], w[4]))
1516  {
1517  PIXEL20_1M
1518  }
1519  else
1520  {
1521  PIXEL20_2
1522  }
1523  PIXEL21_C
1524  if (DIFF_FUNC(w[6], w[8]))
1525  {
1526  PIXEL22_1M
1527  }
1528  else
1529  {
1530  PIXEL22_2
1531  }
1532  break;
1533  }
1534  case 90:
1535  {
1536  if (DIFF_FUNC(w[4], w[2]))
1537  {
1538  PIXEL00_1M
1539  }
1540  else
1541  {
1542  PIXEL00_2
1543  }
1544  PIXEL01_C
1545  if (DIFF_FUNC(w[2], w[6]))
1546  {
1547  PIXEL02_1M
1548  }
1549  else
1550  {
1551  PIXEL02_2
1552  }
1553  PIXEL10_C
1554  PIXEL11
1555  PIXEL12_C
1556  if (DIFF_FUNC(w[8], w[4]))
1557  {
1558  PIXEL20_1M
1559  }
1560  else
1561  {
1562  PIXEL20_2
1563  }
1564  PIXEL21_C
1565  if (DIFF_FUNC(w[6], w[8]))
1566  {
1567  PIXEL22_1M
1568  }
1569  else
1570  {
1571  PIXEL22_2
1572  }
1573  break;
1574  }
1575  case 55:
1576  case 23:
1577  {
1578  if (DIFF_FUNC(w[2], w[6]))
1579  {
1580  PIXEL00_1L
1581  PIXEL01_C
1582  PIXEL02_C
1583  PIXEL12_C
1584  }
1585  else
1586  {
1587  PIXEL00_2
1588  PIXEL01_6
1589  PIXEL02_5
1590  PIXEL12_1
1591  }
1592  PIXEL10_1
1593  PIXEL11
1594  PIXEL20_2
1595  PIXEL21_1
1596  PIXEL22_1M
1597  break;
1598  }
1599  case 182:
1600  case 150:
1601  {
1602  if (DIFF_FUNC(w[2], w[6]))
1603  {
1604  PIXEL01_C
1605  PIXEL02_C
1606  PIXEL12_C
1607  PIXEL22_1D
1608  }
1609  else
1610  {
1611  PIXEL01_1
1612  PIXEL02_5
1613  PIXEL12_6
1614  PIXEL22_2
1615  }
1616  PIXEL00_1M
1617  PIXEL10_1
1618  PIXEL11
1619  PIXEL20_2
1620  PIXEL21_1
1621  break;
1622  }
1623  case 213:
1624  case 212:
1625  {
1626  if (DIFF_FUNC(w[6], w[8]))
1627  {
1628  PIXEL02_1U
1629  PIXEL12_C
1630  PIXEL21_C
1631  PIXEL22_C
1632  }
1633  else
1634  {
1635  PIXEL02_2
1636  PIXEL12_6
1637  PIXEL21_1
1638  PIXEL22_5
1639  }
1640  PIXEL00_2
1641  PIXEL01_1
1642  PIXEL10_1
1643  PIXEL11
1644  PIXEL20_1M
1645  break;
1646  }
1647  case 241:
1648  case 240:
1649  {
1650  if (DIFF_FUNC(w[6], w[8]))
1651  {
1652  PIXEL12_C
1653  PIXEL20_1L
1654  PIXEL21_C
1655  PIXEL22_C
1656  }
1657  else
1658  {
1659  PIXEL12_1
1660  PIXEL20_2
1661  PIXEL21_6
1662  PIXEL22_5
1663  }
1664  PIXEL00_2
1665  PIXEL01_1
1666  PIXEL02_1M
1667  PIXEL10_1
1668  PIXEL11
1669  break;
1670  }
1671  case 236:
1672  case 232:
1673  {
1674  if (DIFF_FUNC(w[8], w[4]))
1675  {
1676  PIXEL10_C
1677  PIXEL20_C
1678  PIXEL21_C
1679  PIXEL22_1R
1680  }
1681  else
1682  {
1683  PIXEL10_1
1684  PIXEL20_5
1685  PIXEL21_6
1686  PIXEL22_2
1687  }
1688  PIXEL00_1M
1689  PIXEL01_1
1690  PIXEL02_2
1691  PIXEL11
1692  PIXEL12_1
1693  break;
1694  }
1695  case 109:
1696  case 105:
1697  {
1698  if (DIFF_FUNC(w[8], w[4]))
1699  {
1700  PIXEL00_1U
1701  PIXEL10_C
1702  PIXEL20_C
1703  PIXEL21_C
1704  }
1705  else
1706  {
1707  PIXEL00_2
1708  PIXEL10_6
1709  PIXEL20_5
1710  PIXEL21_1
1711  }
1712  PIXEL01_1
1713  PIXEL02_2
1714  PIXEL11
1715  PIXEL12_1
1716  PIXEL22_1M
1717  break;
1718  }
1719  case 171:
1720  case 43:
1721  {
1722  if (DIFF_FUNC(w[4], w[2]))
1723  {
1724  PIXEL00_C
1725  PIXEL01_C
1726  PIXEL10_C
1727  PIXEL20_1D
1728  }
1729  else
1730  {
1731  PIXEL00_5
1732  PIXEL01_1
1733  PIXEL10_6
1734  PIXEL20_2
1735  }
1736  PIXEL02_1M
1737  PIXEL11
1738  PIXEL12_1
1739  PIXEL21_1
1740  PIXEL22_2
1741  break;
1742  }
1743  case 143:
1744  case 15:
1745  {
1746  if (DIFF_FUNC(w[4], w[2]))
1747  {
1748  PIXEL00_C
1749  PIXEL01_C
1750  PIXEL02_1R
1751  PIXEL10_C
1752  }
1753  else
1754  {
1755  PIXEL00_5
1756  PIXEL01_6
1757  PIXEL02_2
1758  PIXEL10_1
1759  }
1760  PIXEL11
1761  PIXEL12_1
1762  PIXEL20_1M
1763  PIXEL21_1
1764  PIXEL22_2
1765  break;
1766  }
1767  case 124:
1768  {
1769  PIXEL00_1M
1770  PIXEL01_1
1771  PIXEL02_1U
1772  PIXEL11
1773  PIXEL12_C
1774  if (DIFF_FUNC(w[8], w[4]))
1775  {
1776  PIXEL10_C
1777  PIXEL20_C
1778  PIXEL21_C
1779  }
1780  else
1781  {
1782  PIXEL10_3
1783  PIXEL20_4
1784  PIXEL21_3
1785  }
1786  PIXEL22_1M
1787  break;
1788  }
1789  case 203:
1790  {
1791  if (DIFF_FUNC(w[4], w[2]))
1792  {
1793  PIXEL00_C
1794  PIXEL01_C
1795  PIXEL10_C
1796  }
1797  else
1798  {
1799  PIXEL00_4
1800  PIXEL01_3
1801  PIXEL10_3
1802  }
1803  PIXEL02_1M
1804  PIXEL11
1805  PIXEL12_1
1806  PIXEL20_1M
1807  PIXEL21_C
1808  PIXEL22_1R
1809  break;
1810  }
1811  case 62:
1812  {
1813  PIXEL00_1M
1814  if (DIFF_FUNC(w[2], w[6]))
1815  {
1816  PIXEL01_C
1817  PIXEL02_C
1818  PIXEL12_C
1819  }
1820  else
1821  {
1822  PIXEL01_3
1823  PIXEL02_4
1824  PIXEL12_3
1825  }
1826  PIXEL10_C
1827  PIXEL11
1828  PIXEL20_1D
1829  PIXEL21_1
1830  PIXEL22_1M
1831  break;
1832  }
1833  case 211:
1834  {
1835  PIXEL00_1L
1836  PIXEL01_C
1837  PIXEL02_1M
1838  PIXEL10_1
1839  PIXEL11
1840  PIXEL20_1M
1841  if (DIFF_FUNC(w[6], w[8]))
1842  {
1843  PIXEL12_C
1844  PIXEL21_C
1845  PIXEL22_C
1846  }
1847  else
1848  {
1849  PIXEL12_3
1850  PIXEL21_3
1851  PIXEL22_4
1852  }
1853  break;
1854  }
1855  case 118:
1856  {
1857  PIXEL00_1M
1858  if (DIFF_FUNC(w[2], w[6]))
1859  {
1860  PIXEL01_C
1861  PIXEL02_C
1862  PIXEL12_C
1863  }
1864  else
1865  {
1866  PIXEL01_3
1867  PIXEL02_4
1868  PIXEL12_3
1869  }
1870  PIXEL10_1
1871  PIXEL11
1872  PIXEL20_1L
1873  PIXEL21_C
1874  PIXEL22_1M
1875  break;
1876  }
1877  case 217:
1878  {
1879  PIXEL00_1U
1880  PIXEL01_1
1881  PIXEL02_1M
1882  PIXEL10_C
1883  PIXEL11
1884  PIXEL20_1M
1885  if (DIFF_FUNC(w[6], w[8]))
1886  {
1887  PIXEL12_C
1888  PIXEL21_C
1889  PIXEL22_C
1890  }
1891  else
1892  {
1893  PIXEL12_3
1894  PIXEL21_3
1895  PIXEL22_4
1896  }
1897  break;
1898  }
1899  case 110:
1900  {
1901  PIXEL00_1M
1902  PIXEL01_C
1903  PIXEL02_1R
1904  PIXEL11
1905  PIXEL12_1
1906  if (DIFF_FUNC(w[8], w[4]))
1907  {
1908  PIXEL10_C
1909  PIXEL20_C
1910  PIXEL21_C
1911  }
1912  else
1913  {
1914  PIXEL10_3
1915  PIXEL20_4
1916  PIXEL21_3
1917  }
1918  PIXEL22_1M
1919  break;
1920  }
1921  case 155:
1922  {
1923  if (DIFF_FUNC(w[4], w[2]))
1924  {
1925  PIXEL00_C
1926  PIXEL01_C
1927  PIXEL10_C
1928  }
1929  else
1930  {
1931  PIXEL00_4
1932  PIXEL01_3
1933  PIXEL10_3
1934  }
1935  PIXEL02_1M
1936  PIXEL11
1937  PIXEL12_C
1938  PIXEL20_1M
1939  PIXEL21_1
1940  PIXEL22_1D
1941  break;
1942  }
1943  case 188:
1944  {
1945  PIXEL00_1M
1946  PIXEL01_1
1947  PIXEL02_1U
1948  PIXEL10_C
1949  PIXEL11
1950  PIXEL12_C
1951  PIXEL20_1D
1952  PIXEL21_1
1953  PIXEL22_1D
1954  break;
1955  }
1956  case 185:
1957  {
1958  PIXEL00_1U
1959  PIXEL01_1
1960  PIXEL02_1M
1961  PIXEL10_C
1962  PIXEL11
1963  PIXEL12_C
1964  PIXEL20_1D
1965  PIXEL21_1
1966  PIXEL22_1D
1967  break;
1968  }
1969  case 61:
1970  {
1971  PIXEL00_1U
1972  PIXEL01_1
1973  PIXEL02_1U
1974  PIXEL10_C
1975  PIXEL11
1976  PIXEL12_C
1977  PIXEL20_1D
1978  PIXEL21_1
1979  PIXEL22_1M
1980  break;
1981  }
1982  case 157:
1983  {
1984  PIXEL00_1U
1985  PIXEL01_1
1986  PIXEL02_1U
1987  PIXEL10_C
1988  PIXEL11
1989  PIXEL12_C
1990  PIXEL20_1M
1991  PIXEL21_1
1992  PIXEL22_1D
1993  break;
1994  }
1995  case 103:
1996  {
1997  PIXEL00_1L
1998  PIXEL01_C
1999  PIXEL02_1R
2000  PIXEL10_1
2001  PIXEL11
2002  PIXEL12_1
2003  PIXEL20_1L
2004  PIXEL21_C
2005  PIXEL22_1M
2006  break;
2007  }
2008  case 227:
2009  {
2010  PIXEL00_1L
2011  PIXEL01_C
2012  PIXEL02_1M
2013  PIXEL10_1
2014  PIXEL11
2015  PIXEL12_1
2016  PIXEL20_1L
2017  PIXEL21_C
2018  PIXEL22_1R
2019  break;
2020  }
2021  case 230:
2022  {
2023  PIXEL00_1M
2024  PIXEL01_C
2025  PIXEL02_1R
2026  PIXEL10_1
2027  PIXEL11
2028  PIXEL12_1
2029  PIXEL20_1L
2030  PIXEL21_C
2031  PIXEL22_1R
2032  break;
2033  }
2034  case 199:
2035  {
2036  PIXEL00_1L
2037  PIXEL01_C
2038  PIXEL02_1R
2039  PIXEL10_1
2040  PIXEL11
2041  PIXEL12_1
2042  PIXEL20_1M
2043  PIXEL21_C
2044  PIXEL22_1R
2045  break;
2046  }
2047  case 220:
2048  {
2049  PIXEL00_1M
2050  PIXEL01_1
2051  PIXEL02_1U
2052  PIXEL10_C
2053  PIXEL11
2054  if (DIFF_FUNC(w[8], w[4]))
2055  {
2056  PIXEL20_1M
2057  }
2058  else
2059  {
2060  PIXEL20_2
2061  }
2062  if (DIFF_FUNC(w[6], w[8]))
2063  {
2064  PIXEL12_C
2065  PIXEL21_C
2066  PIXEL22_C
2067  }
2068  else
2069  {
2070  PIXEL12_3
2071  PIXEL21_3
2072  PIXEL22_4
2073  }
2074  break;
2075  }
2076  case 158:
2077  {
2078  if (DIFF_FUNC(w[4], w[2]))
2079  {
2080  PIXEL00_1M
2081  }
2082  else
2083  {
2084  PIXEL00_2
2085  }
2086  if (DIFF_FUNC(w[2], w[6]))
2087  {
2088  PIXEL01_C
2089  PIXEL02_C
2090  PIXEL12_C
2091  }
2092  else
2093  {
2094  PIXEL01_3
2095  PIXEL02_4
2096  PIXEL12_3
2097  }
2098  PIXEL10_C
2099  PIXEL11
2100  PIXEL20_1M
2101  PIXEL21_1
2102  PIXEL22_1D
2103  break;
2104  }
2105  case 234:
2106  {
2107  if (DIFF_FUNC(w[4], w[2]))
2108  {
2109  PIXEL00_1M
2110  }
2111  else
2112  {
2113  PIXEL00_2
2114  }
2115  PIXEL01_C
2116  PIXEL02_1M
2117  PIXEL11
2118  PIXEL12_1
2119  if (DIFF_FUNC(w[8], w[4]))
2120  {
2121  PIXEL10_C
2122  PIXEL20_C
2123  PIXEL21_C
2124  }
2125  else
2126  {
2127  PIXEL10_3
2128  PIXEL20_4
2129  PIXEL21_3
2130  }
2131  PIXEL22_1R
2132  break;
2133  }
2134  case 242:
2135  {
2136  PIXEL00_1M
2137  PIXEL01_C
2138  if (DIFF_FUNC(w[2], w[6]))
2139  {
2140  PIXEL02_1M
2141  }
2142  else
2143  {
2144  PIXEL02_2
2145  }
2146  PIXEL10_1
2147  PIXEL11
2148  PIXEL20_1L
2149  if (DIFF_FUNC(w[6], w[8]))
2150  {
2151  PIXEL12_C
2152  PIXEL21_C
2153  PIXEL22_C
2154  }
2155  else
2156  {
2157  PIXEL12_3
2158  PIXEL21_3
2159  PIXEL22_4
2160  }
2161  break;
2162  }
2163  case 59:
2164  {
2165  if (DIFF_FUNC(w[4], w[2]))
2166  {
2167  PIXEL00_C
2168  PIXEL01_C
2169  PIXEL10_C
2170  }
2171  else
2172  {
2173  PIXEL00_4
2174  PIXEL01_3
2175  PIXEL10_3
2176  }
2177  if (DIFF_FUNC(w[2], w[6]))
2178  {
2179  PIXEL02_1M
2180  }
2181  else
2182  {
2183  PIXEL02_2
2184  }
2185  PIXEL11
2186  PIXEL12_C
2187  PIXEL20_1D
2188  PIXEL21_1
2189  PIXEL22_1M
2190  break;
2191  }
2192  case 121:
2193  {
2194  PIXEL00_1U
2195  PIXEL01_1
2196  PIXEL02_1M
2197  PIXEL11
2198  PIXEL12_C
2199  if (DIFF_FUNC(w[8], w[4]))
2200  {
2201  PIXEL10_C
2202  PIXEL20_C
2203  PIXEL21_C
2204  }
2205  else
2206  {
2207  PIXEL10_3
2208  PIXEL20_4
2209  PIXEL21_3
2210  }
2211  if (DIFF_FUNC(w[6], w[8]))
2212  {
2213  PIXEL22_1M
2214  }
2215  else
2216  {
2217  PIXEL22_2
2218  }
2219  break;
2220  }
2221  case 87:
2222  {
2223  PIXEL00_1L
2224  if (DIFF_FUNC(w[2], w[6]))
2225  {
2226  PIXEL01_C
2227  PIXEL02_C
2228  PIXEL12_C
2229  }
2230  else
2231  {
2232  PIXEL01_3
2233  PIXEL02_4
2234  PIXEL12_3
2235  }
2236  PIXEL10_1
2237  PIXEL11
2238  PIXEL20_1M
2239  PIXEL21_C
2240  if (DIFF_FUNC(w[6], w[8]))
2241  {
2242  PIXEL22_1M
2243  }
2244  else
2245  {
2246  PIXEL22_2
2247  }
2248  break;
2249  }
2250  case 79:
2251  {
2252  if (DIFF_FUNC(w[4], w[2]))
2253  {
2254  PIXEL00_C
2255  PIXEL01_C
2256  PIXEL10_C
2257  }
2258  else
2259  {
2260  PIXEL00_4
2261  PIXEL01_3
2262  PIXEL10_3
2263  }
2264  PIXEL02_1R
2265  PIXEL11
2266  PIXEL12_1
2267  if (DIFF_FUNC(w[8], w[4]))
2268  {
2269  PIXEL20_1M
2270  }
2271  else
2272  {
2273  PIXEL20_2
2274  }
2275  PIXEL21_C
2276  PIXEL22_1M
2277  break;
2278  }
2279  case 122:
2280  {
2281  if (DIFF_FUNC(w[4], w[2]))
2282  {
2283  PIXEL00_1M
2284  }
2285  else
2286  {
2287  PIXEL00_2
2288  }
2289  PIXEL01_C
2290  if (DIFF_FUNC(w[2], w[6]))
2291  {
2292  PIXEL02_1M
2293  }
2294  else
2295  {
2296  PIXEL02_2
2297  }
2298  PIXEL11
2299  PIXEL12_C
2300  if (DIFF_FUNC(w[8], w[4]))
2301  {
2302  PIXEL10_C
2303  PIXEL20_C
2304  PIXEL21_C
2305  }
2306  else
2307  {
2308  PIXEL10_3
2309  PIXEL20_4
2310  PIXEL21_3
2311  }
2312  if (DIFF_FUNC(w[6], w[8]))
2313  {
2314  PIXEL22_1M
2315  }
2316  else
2317  {
2318  PIXEL22_2
2319  }
2320  break;
2321  }
2322  case 94:
2323  {
2324  if (DIFF_FUNC(w[4], w[2]))
2325  {
2326  PIXEL00_1M
2327  }
2328  else
2329  {
2330  PIXEL00_2
2331  }
2332  if (DIFF_FUNC(w[2], w[6]))
2333  {
2334  PIXEL01_C
2335  PIXEL02_C
2336  PIXEL12_C
2337  }
2338  else
2339  {
2340  PIXEL01_3
2341  PIXEL02_4
2342  PIXEL12_3
2343  }
2344  PIXEL10_C
2345  PIXEL11
2346  if (DIFF_FUNC(w[8], w[4]))
2347  {
2348  PIXEL20_1M
2349  }
2350  else
2351  {
2352  PIXEL20_2
2353  }
2354  PIXEL21_C
2355  if (DIFF_FUNC(w[6], w[8]))
2356  {
2357  PIXEL22_1M
2358  }
2359  else
2360  {
2361  PIXEL22_2
2362  }
2363  break;
2364  }
2365  case 218:
2366  {
2367  if (DIFF_FUNC(w[4], w[2]))
2368  {
2369  PIXEL00_1M
2370  }
2371  else
2372  {
2373  PIXEL00_2
2374  }
2375  PIXEL01_C
2376  if (DIFF_FUNC(w[2], w[6]))
2377  {
2378  PIXEL02_1M
2379  }
2380  else
2381  {
2382  PIXEL02_2
2383  }
2384  PIXEL10_C
2385  PIXEL11
2386  if (DIFF_FUNC(w[8], w[4]))
2387  {
2388  PIXEL20_1M
2389  }
2390  else
2391  {
2392  PIXEL20_2
2393  }
2394  if (DIFF_FUNC(w[6], w[8]))
2395  {
2396  PIXEL12_C
2397  PIXEL21_C
2398  PIXEL22_C
2399  }
2400  else
2401  {
2402  PIXEL12_3
2403  PIXEL21_3
2404  PIXEL22_4
2405  }
2406  break;
2407  }
2408  case 91:
2409  {
2410  if (DIFF_FUNC(w[4], w[2]))
2411  {
2412  PIXEL00_C
2413  PIXEL01_C
2414  PIXEL10_C
2415  }
2416  else
2417  {
2418  PIXEL00_4
2419  PIXEL01_3
2420  PIXEL10_3
2421  }
2422  if (DIFF_FUNC(w[2], w[6]))
2423  {
2424  PIXEL02_1M
2425  }
2426  else
2427  {
2428  PIXEL02_2
2429  }
2430  PIXEL11
2431  PIXEL12_C
2432  if (DIFF_FUNC(w[8], w[4]))
2433  {
2434  PIXEL20_1M
2435  }
2436  else
2437  {
2438  PIXEL20_2
2439  }
2440  PIXEL21_C
2441  if (DIFF_FUNC(w[6], w[8]))
2442  {
2443  PIXEL22_1M
2444  }
2445  else
2446  {
2447  PIXEL22_2
2448  }
2449  break;
2450  }
2451  case 229:
2452  {
2453  PIXEL00_2
2454  PIXEL01_1
2455  PIXEL02_2
2456  PIXEL10_1
2457  PIXEL11
2458  PIXEL12_1
2459  PIXEL20_1L
2460  PIXEL21_C
2461  PIXEL22_1R
2462  break;
2463  }
2464  case 167:
2465  {
2466  PIXEL00_1L
2467  PIXEL01_C
2468  PIXEL02_1R
2469  PIXEL10_1
2470  PIXEL11
2471  PIXEL12_1
2472  PIXEL20_2
2473  PIXEL21_1
2474  PIXEL22_2
2475  break;
2476  }
2477  case 173:
2478  {
2479  PIXEL00_1U
2480  PIXEL01_1
2481  PIXEL02_2
2482  PIXEL10_C
2483  PIXEL11
2484  PIXEL12_1
2485  PIXEL20_1D
2486  PIXEL21_1
2487  PIXEL22_2
2488  break;
2489  }
2490  case 181:
2491  {
2492  PIXEL00_2
2493  PIXEL01_1
2494  PIXEL02_1U
2495  PIXEL10_1
2496  PIXEL11
2497  PIXEL12_C
2498  PIXEL20_2
2499  PIXEL21_1
2500  PIXEL22_1D
2501  break;
2502  }
2503  case 186:
2504  {
2505  if (DIFF_FUNC(w[4], w[2]))
2506  {
2507  PIXEL00_1M
2508  }
2509  else
2510  {
2511  PIXEL00_2
2512  }
2513  PIXEL01_C
2514  if (DIFF_FUNC(w[2], w[6]))
2515  {
2516  PIXEL02_1M
2517  }
2518  else
2519  {
2520  PIXEL02_2
2521  }
2522  PIXEL10_C
2523  PIXEL11
2524  PIXEL12_C
2525  PIXEL20_1D
2526  PIXEL21_1
2527  PIXEL22_1D
2528  break;
2529  }
2530  case 115:
2531  {
2532  PIXEL00_1L
2533  PIXEL01_C
2534  if (DIFF_FUNC(w[2], w[6]))
2535  {
2536  PIXEL02_1M
2537  }
2538  else
2539  {
2540  PIXEL02_2
2541  }
2542  PIXEL10_1
2543  PIXEL11
2544  PIXEL12_C
2545  PIXEL20_1L
2546  PIXEL21_C
2547  if (DIFF_FUNC(w[6], w[8]))
2548  {
2549  PIXEL22_1M
2550  }
2551  else
2552  {
2553  PIXEL22_2
2554  }
2555  break;
2556  }
2557  case 93:
2558  {
2559  PIXEL00_1U
2560  PIXEL01_1
2561  PIXEL02_1U
2562  PIXEL10_C
2563  PIXEL11
2564  PIXEL12_C
2565  if (DIFF_FUNC(w[8], w[4]))
2566  {
2567  PIXEL20_1M
2568  }
2569  else
2570  {
2571  PIXEL20_2
2572  }
2573  PIXEL21_C
2574  if (DIFF_FUNC(w[6], w[8]))
2575  {
2576  PIXEL22_1M
2577  }
2578  else
2579  {
2580  PIXEL22_2
2581  }
2582  break;
2583  }
2584  case 206:
2585  {
2586  if (DIFF_FUNC(w[4], w[2]))
2587  {
2588  PIXEL00_1M
2589  }
2590  else
2591  {
2592  PIXEL00_2
2593  }
2594  PIXEL01_C
2595  PIXEL02_1R
2596  PIXEL10_C
2597  PIXEL11
2598  PIXEL12_1
2599  if (DIFF_FUNC(w[8], w[4]))
2600  {
2601  PIXEL20_1M
2602  }
2603  else
2604  {
2605  PIXEL20_2
2606  }
2607  PIXEL21_C
2608  PIXEL22_1R
2609  break;
2610  }
2611  case 205:
2612  case 201:
2613  {
2614  PIXEL00_1U
2615  PIXEL01_1
2616  PIXEL02_2
2617  PIXEL10_C
2618  PIXEL11
2619  PIXEL12_1
2620  if (DIFF_FUNC(w[8], w[4]))
2621  {
2622  PIXEL20_1M
2623  }
2624  else
2625  {
2626  PIXEL20_2
2627  }
2628  PIXEL21_C
2629  PIXEL22_1R
2630  break;
2631  }
2632  case 174:
2633  case 46:
2634  {
2635  if (DIFF_FUNC(w[4], w[2]))
2636  {
2637  PIXEL00_1M
2638  }
2639  else
2640  {
2641  PIXEL00_2
2642  }
2643  PIXEL01_C
2644  PIXEL02_1R
2645  PIXEL10_C
2646  PIXEL11
2647  PIXEL12_1
2648  PIXEL20_1D
2649  PIXEL21_1
2650  PIXEL22_2
2651  break;
2652  }
2653  case 179:
2654  case 147:
2655  {
2656  PIXEL00_1L
2657  PIXEL01_C
2658  if (DIFF_FUNC(w[2], w[6]))
2659  {
2660  PIXEL02_1M
2661  }
2662  else
2663  {
2664  PIXEL02_2
2665  }
2666  PIXEL10_1
2667  PIXEL11
2668  PIXEL12_C
2669  PIXEL20_2
2670  PIXEL21_1
2671  PIXEL22_1D
2672  break;
2673  }
2674  case 117:
2675  case 116:
2676  {
2677  PIXEL00_2
2678  PIXEL01_1
2679  PIXEL02_1U
2680  PIXEL10_1
2681  PIXEL11
2682  PIXEL12_C
2683  PIXEL20_1L
2684  PIXEL21_C
2685  if (DIFF_FUNC(w[6], w[8]))
2686  {
2687  PIXEL22_1M
2688  }
2689  else
2690  {
2691  PIXEL22_2
2692  }
2693  break;
2694  }
2695  case 189:
2696  {
2697  PIXEL00_1U
2698  PIXEL01_1
2699  PIXEL02_1U
2700  PIXEL10_C
2701  PIXEL11
2702  PIXEL12_C
2703  PIXEL20_1D
2704  PIXEL21_1
2705  PIXEL22_1D
2706  break;
2707  }
2708  case 231:
2709  {
2710  PIXEL00_1L
2711  PIXEL01_C
2712  PIXEL02_1R
2713  PIXEL10_1
2714  PIXEL11
2715  PIXEL12_1
2716  PIXEL20_1L
2717  PIXEL21_C
2718  PIXEL22_1R
2719  break;
2720  }
2721  case 126:
2722  {
2723  PIXEL00_1M
2724  if (DIFF_FUNC(w[2], w[6]))
2725  {
2726  PIXEL01_C
2727  PIXEL02_C
2728  PIXEL12_C
2729  }
2730  else
2731  {
2732  PIXEL01_3
2733  PIXEL02_4
2734  PIXEL12_3
2735  }
2736  PIXEL11
2737  if (DIFF_FUNC(w[8], w[4]))
2738  {
2739  PIXEL10_C
2740  PIXEL20_C
2741  PIXEL21_C
2742  }
2743  else
2744  {
2745  PIXEL10_3
2746  PIXEL20_4
2747  PIXEL21_3
2748  }
2749  PIXEL22_1M
2750  break;
2751  }
2752  case 219:
2753  {
2754  if (DIFF_FUNC(w[4], w[2]))
2755  {
2756  PIXEL00_C
2757  PIXEL01_C
2758  PIXEL10_C
2759  }
2760  else
2761  {
2762  PIXEL00_4
2763  PIXEL01_3
2764  PIXEL10_3
2765  }
2766  PIXEL02_1M
2767  PIXEL11
2768  PIXEL20_1M
2769  if (DIFF_FUNC(w[6], w[8]))
2770  {
2771  PIXEL12_C
2772  PIXEL21_C
2773  PIXEL22_C
2774  }
2775  else
2776  {
2777  PIXEL12_3
2778  PIXEL21_3
2779  PIXEL22_4
2780  }
2781  break;
2782  }
2783  case 125:
2784  {
2785  if (DIFF_FUNC(w[8], w[4]))
2786  {
2787  PIXEL00_1U
2788  PIXEL10_C
2789  PIXEL20_C
2790  PIXEL21_C
2791  }
2792  else
2793  {
2794  PIXEL00_2
2795  PIXEL10_6
2796  PIXEL20_5
2797  PIXEL21_1
2798  }
2799  PIXEL01_1
2800  PIXEL02_1U
2801  PIXEL11
2802  PIXEL12_C
2803  PIXEL22_1M
2804  break;
2805  }
2806  case 221:
2807  {
2808  if (DIFF_FUNC(w[6], w[8]))
2809  {
2810  PIXEL02_1U
2811  PIXEL12_C
2812  PIXEL21_C
2813  PIXEL22_C
2814  }
2815  else
2816  {
2817  PIXEL02_2
2818  PIXEL12_6
2819  PIXEL21_1
2820  PIXEL22_5
2821  }
2822  PIXEL00_1U
2823  PIXEL01_1
2824  PIXEL10_C
2825  PIXEL11
2826  PIXEL20_1M
2827  break;
2828  }
2829  case 207:
2830  {
2831  if (DIFF_FUNC(w[4], w[2]))
2832  {
2833  PIXEL00_C
2834  PIXEL01_C
2835  PIXEL02_1R
2836  PIXEL10_C
2837  }
2838  else
2839  {
2840  PIXEL00_5
2841  PIXEL01_6
2842  PIXEL02_2
2843  PIXEL10_1
2844  }
2845  PIXEL11
2846  PIXEL12_1
2847  PIXEL20_1M
2848  PIXEL21_C
2849  PIXEL22_1R
2850  break;
2851  }
2852  case 238:
2853  {
2854  if (DIFF_FUNC(w[8], w[4]))
2855  {
2856  PIXEL10_C
2857  PIXEL20_C
2858  PIXEL21_C
2859  PIXEL22_1R
2860  }
2861  else
2862  {
2863  PIXEL10_1
2864  PIXEL20_5
2865  PIXEL21_6
2866  PIXEL22_2
2867  }
2868  PIXEL00_1M
2869  PIXEL01_C
2870  PIXEL02_1R
2871  PIXEL11
2872  PIXEL12_1
2873  break;
2874  }
2875  case 190:
2876  {
2877  if (DIFF_FUNC(w[2], w[6]))
2878  {
2879  PIXEL01_C
2880  PIXEL02_C
2881  PIXEL12_C
2882  PIXEL22_1D
2883  }
2884  else
2885  {
2886  PIXEL01_1
2887  PIXEL02_5
2888  PIXEL12_6
2889  PIXEL22_2
2890  }
2891  PIXEL00_1M
2892  PIXEL10_C
2893  PIXEL11
2894  PIXEL20_1D
2895  PIXEL21_1
2896  break;
2897  }
2898  case 187:
2899  {
2900  if (DIFF_FUNC(w[4], w[2]))
2901  {
2902  PIXEL00_C
2903  PIXEL01_C
2904  PIXEL10_C
2905  PIXEL20_1D
2906  }
2907  else
2908  {
2909  PIXEL00_5
2910  PIXEL01_1
2911  PIXEL10_6
2912  PIXEL20_2
2913  }
2914  PIXEL02_1M
2915  PIXEL11
2916  PIXEL12_C
2917  PIXEL21_1
2918  PIXEL22_1D
2919  break;
2920  }
2921  case 243:
2922  {
2923  if (DIFF_FUNC(w[6], w[8]))
2924  {
2925  PIXEL12_C
2926  PIXEL20_1L
2927  PIXEL21_C
2928  PIXEL22_C
2929  }
2930  else
2931  {
2932  PIXEL12_1
2933  PIXEL20_2
2934  PIXEL21_6
2935  PIXEL22_5
2936  }
2937  PIXEL00_1L
2938  PIXEL01_C
2939  PIXEL02_1M
2940  PIXEL10_1
2941  PIXEL11
2942  break;
2943  }
2944  case 119:
2945  {
2946  if (DIFF_FUNC(w[2], w[6]))
2947  {
2948  PIXEL00_1L
2949  PIXEL01_C
2950  PIXEL02_C
2951  PIXEL12_C
2952  }
2953  else
2954  {
2955  PIXEL00_2
2956  PIXEL01_6
2957  PIXEL02_5
2958  PIXEL12_1
2959  }
2960  PIXEL10_1
2961  PIXEL11
2962  PIXEL20_1L
2963  PIXEL21_C
2964  PIXEL22_1M
2965  break;
2966  }
2967  case 237:
2968  case 233:
2969  {
2970  PIXEL00_1U
2971  PIXEL01_1
2972  PIXEL02_2
2973  PIXEL10_C
2974  PIXEL11
2975  PIXEL12_1
2976  if (DIFF_FUNC(w[8], w[4]))
2977  {
2978  PIXEL20_C
2979  }
2980  else
2981  {
2982  PIXEL20_2
2983  }
2984  PIXEL21_C
2985  PIXEL22_1R
2986  break;
2987  }
2988  case 175:
2989  case 47:
2990  {
2991  if (DIFF_FUNC(w[4], w[2]))
2992  {
2993  PIXEL00_C
2994  }
2995  else
2996  {
2997  PIXEL00_2
2998  }
2999  PIXEL01_C
3000  PIXEL02_1R
3001  PIXEL10_C
3002  PIXEL11
3003  PIXEL12_1
3004  PIXEL20_1D
3005  PIXEL21_1
3006  PIXEL22_2
3007  break;
3008  }
3009  case 183:
3010  case 151:
3011  {
3012  PIXEL00_1L
3013  PIXEL01_C
3014  if (DIFF_FUNC(w[2], w[6]))
3015  {
3016  PIXEL02_C
3017  }
3018  else
3019  {
3020  PIXEL02_2
3021  }
3022  PIXEL10_1
3023  PIXEL11
3024  PIXEL12_C
3025  PIXEL20_2
3026  PIXEL21_1
3027  PIXEL22_1D
3028  break;
3029  }
3030  case 245:
3031  case 244:
3032  {
3033  PIXEL00_2
3034  PIXEL01_1
3035  PIXEL02_1U
3036  PIXEL10_1
3037  PIXEL11
3038  PIXEL12_C
3039  PIXEL20_1L
3040  PIXEL21_C
3041  if (DIFF_FUNC(w[6], w[8]))
3042  {
3043  PIXEL22_C
3044  }
3045  else
3046  {
3047  PIXEL22_2
3048  }
3049  break;
3050  }
3051  case 250:
3052  {
3053  PIXEL00_1M
3054  PIXEL01_C
3055  PIXEL02_1M
3056  PIXEL11
3057  if (DIFF_FUNC(w[8], w[4]))
3058  {
3059  PIXEL10_C
3060  PIXEL20_C
3061  }
3062  else
3063  {
3064  PIXEL10_3
3065  PIXEL20_4
3066  }
3067  PIXEL21_C
3068  if (DIFF_FUNC(w[6], w[8]))
3069  {
3070  PIXEL12_C
3071  PIXEL22_C
3072  }
3073  else
3074  {
3075  PIXEL12_3
3076  PIXEL22_4
3077  }
3078  break;
3079  }
3080  case 123:
3081  {
3082  if (DIFF_FUNC(w[4], w[2]))
3083  {
3084  PIXEL00_C
3085  PIXEL01_C
3086  }
3087  else
3088  {
3089  PIXEL00_4
3090  PIXEL01_3
3091  }
3092  PIXEL02_1M
3093  PIXEL10_C
3094  PIXEL11
3095  PIXEL12_C
3096  if (DIFF_FUNC(w[8], w[4]))
3097  {
3098  PIXEL20_C
3099  PIXEL21_C
3100  }
3101  else
3102  {
3103  PIXEL20_4
3104  PIXEL21_3
3105  }
3106  PIXEL22_1M
3107  break;
3108  }
3109  case 95:
3110  {
3111  if (DIFF_FUNC(w[4], w[2]))
3112  {
3113  PIXEL00_C
3114  PIXEL10_C
3115  }
3116  else
3117  {
3118  PIXEL00_4
3119  PIXEL10_3
3120  }
3121  PIXEL01_C
3122  if (DIFF_FUNC(w[2], w[6]))
3123  {
3124  PIXEL02_C
3125  PIXEL12_C
3126  }
3127  else
3128  {
3129  PIXEL02_4
3130  PIXEL12_3
3131  }
3132  PIXEL11
3133  PIXEL20_1M
3134  PIXEL21_C
3135  PIXEL22_1M
3136  break;
3137  }
3138  case 222:
3139  {
3140  PIXEL00_1M
3141  if (DIFF_FUNC(w[2], w[6]))
3142  {
3143  PIXEL01_C
3144  PIXEL02_C
3145  }
3146  else
3147  {
3148  PIXEL01_3
3149  PIXEL02_4
3150  }
3151  PIXEL10_C
3152  PIXEL11
3153  PIXEL12_C
3154  PIXEL20_1M
3155  if (DIFF_FUNC(w[6], w[8]))
3156  {
3157  PIXEL21_C
3158  PIXEL22_C
3159  }
3160  else
3161  {
3162  PIXEL21_3
3163  PIXEL22_4
3164  }
3165  break;
3166  }
3167  case 252:
3168  {
3169  PIXEL00_1M
3170  PIXEL01_1
3171  PIXEL02_1U
3172  PIXEL11
3173  PIXEL12_C
3174  if (DIFF_FUNC(w[8], w[4]))
3175  {
3176  PIXEL10_C
3177  PIXEL20_C
3178  }
3179  else
3180  {
3181  PIXEL10_3
3182  PIXEL20_4
3183  }
3184  PIXEL21_C
3185  if (DIFF_FUNC(w[6], w[8]))
3186  {
3187  PIXEL22_C
3188  }
3189  else
3190  {
3191  PIXEL22_2
3192  }
3193  break;
3194  }
3195  case 249:
3196  {
3197  PIXEL00_1U
3198  PIXEL01_1
3199  PIXEL02_1M
3200  PIXEL10_C
3201  PIXEL11
3202  if (DIFF_FUNC(w[8], w[4]))
3203  {
3204  PIXEL20_C
3205  }
3206  else
3207  {
3208  PIXEL20_2
3209  }
3210  PIXEL21_C
3211  if (DIFF_FUNC(w[6], w[8]))
3212  {
3213  PIXEL12_C
3214  PIXEL22_C
3215  }
3216  else
3217  {
3218  PIXEL12_3
3219  PIXEL22_4
3220  }
3221  break;
3222  }
3223  case 235:
3224  {
3225  if (DIFF_FUNC(w[4], w[2]))
3226  {
3227  PIXEL00_C
3228  PIXEL01_C
3229  }
3230  else
3231  {
3232  PIXEL00_4
3233  PIXEL01_3
3234  }
3235  PIXEL02_1M
3236  PIXEL10_C
3237  PIXEL11
3238  PIXEL12_1
3239  if (DIFF_FUNC(w[8], w[4]))
3240  {
3241  PIXEL20_C
3242  }
3243  else
3244  {
3245  PIXEL20_2
3246  }
3247  PIXEL21_C
3248  PIXEL22_1R
3249  break;
3250  }
3251  case 111:
3252  {
3253  if (DIFF_FUNC(w[4], w[2]))
3254  {
3255  PIXEL00_C
3256  }
3257  else
3258  {
3259  PIXEL00_2
3260  }
3261  PIXEL01_C
3262  PIXEL02_1R
3263  PIXEL10_C
3264  PIXEL11
3265  PIXEL12_1
3266  if (DIFF_FUNC(w[8], w[4]))
3267  {
3268  PIXEL20_C
3269  PIXEL21_C
3270  }
3271  else
3272  {
3273  PIXEL20_4
3274  PIXEL21_3
3275  }
3276  PIXEL22_1M
3277  break;
3278  }
3279  case 63:
3280  {
3281  if (DIFF_FUNC(w[4], w[2]))
3282  {
3283  PIXEL00_C
3284  }
3285  else
3286  {
3287  PIXEL00_2
3288  }
3289  PIXEL01_C
3290  if (DIFF_FUNC(w[2], w[6]))
3291  {
3292  PIXEL02_C
3293  PIXEL12_C
3294  }
3295  else
3296  {
3297  PIXEL02_4
3298  PIXEL12_3
3299  }
3300  PIXEL10_C
3301  PIXEL11
3302  PIXEL20_1D
3303  PIXEL21_1
3304  PIXEL22_1M
3305  break;
3306  }
3307  case 159:
3308  {
3309  if (DIFF_FUNC(w[4], w[2]))
3310  {
3311  PIXEL00_C
3312  PIXEL10_C
3313  }
3314  else
3315  {
3316  PIXEL00_4
3317  PIXEL10_3
3318  }
3319  PIXEL01_C
3320  if (DIFF_FUNC(w[2], w[6]))
3321  {
3322  PIXEL02_C
3323  }
3324  else
3325  {
3326  PIXEL02_2
3327  }
3328  PIXEL11
3329  PIXEL12_C
3330  PIXEL20_1M
3331  PIXEL21_1
3332  PIXEL22_1D
3333  break;
3334  }
3335  case 215:
3336  {
3337  PIXEL00_1L
3338  PIXEL01_C
3339  if (DIFF_FUNC(w[2], w[6]))
3340  {
3341  PIXEL02_C
3342  }
3343  else
3344  {
3345  PIXEL02_2
3346  }
3347  PIXEL10_1
3348  PIXEL11
3349  PIXEL12_C
3350  PIXEL20_1M
3351  if (DIFF_FUNC(w[6], w[8]))
3352  {
3353  PIXEL21_C
3354  PIXEL22_C
3355  }
3356  else
3357  {
3358  PIXEL21_3
3359  PIXEL22_4
3360  }
3361  break;
3362  }
3363  case 246:
3364  {
3365  PIXEL00_1M
3366  if (DIFF_FUNC(w[2], w[6]))
3367  {
3368  PIXEL01_C
3369  PIXEL02_C
3370  }
3371  else
3372  {
3373  PIXEL01_3
3374  PIXEL02_4
3375  }
3376  PIXEL10_1
3377  PIXEL11
3378  PIXEL12_C
3379  PIXEL20_1L
3380  PIXEL21_C
3381  if (DIFF_FUNC(w[6], w[8]))
3382  {
3383  PIXEL22_C
3384  }
3385  else
3386  {
3387  PIXEL22_2
3388  }
3389  break;
3390  }
3391  case 254:
3392  {
3393  PIXEL00_1M
3394  if (DIFF_FUNC(w[2], w[6]))
3395  {
3396  PIXEL01_C
3397  PIXEL02_C
3398  }
3399  else
3400  {
3401  PIXEL01_3
3402  PIXEL02_4
3403  }
3404  PIXEL11
3405  if (DIFF_FUNC(w[8], w[4]))
3406  {
3407  PIXEL10_C
3408  PIXEL20_C
3409  }
3410  else
3411  {
3412  PIXEL10_3
3413  PIXEL20_4
3414  }
3415  if (DIFF_FUNC(w[6], w[8]))
3416  {
3417  PIXEL12_C
3418  PIXEL21_C
3419  PIXEL22_C
3420  }
3421  else
3422  {
3423  PIXEL12_3
3424  PIXEL21_3
3425  PIXEL22_2
3426  }
3427  break;
3428  }
3429  case 253:
3430  {
3431  PIXEL00_1U
3432  PIXEL01_1
3433  PIXEL02_1U
3434  PIXEL10_C
3435  PIXEL11
3436  PIXEL12_C
3437  if (DIFF_FUNC(w[8], w[4]))
3438  {
3439  PIXEL20_C
3440  }
3441  else
3442  {
3443  PIXEL20_2
3444  }
3445  PIXEL21_C
3446  if (DIFF_FUNC(w[6], w[8]))
3447  {
3448  PIXEL22_C
3449  }
3450  else
3451  {
3452  PIXEL22_2
3453  }
3454  break;
3455  }
3456  case 251:
3457  {
3458  if (DIFF_FUNC(w[4], w[2]))
3459  {
3460  PIXEL00_C
3461  PIXEL01_C
3462  }
3463  else
3464  {
3465  PIXEL00_4
3466  PIXEL01_3
3467  }
3468  PIXEL02_1M
3469  PIXEL11
3470  if (DIFF_FUNC(w[8], w[4]))
3471  {
3472  PIXEL10_C
3473  PIXEL20_C
3474  PIXEL21_C
3475  }
3476  else
3477  {
3478  PIXEL10_3
3479  PIXEL20_2
3480  PIXEL21_3
3481  }
3482  if (DIFF_FUNC(w[6], w[8]))
3483  {
3484  PIXEL12_C
3485  PIXEL22_C
3486  }
3487  else
3488  {
3489  PIXEL12_3
3490  PIXEL22_4
3491  }
3492  break;
3493  }
3494  case 239:
3495  {
3496  if (DIFF_FUNC(w[4], w[2]))
3497  {
3498  PIXEL00_C
3499  }
3500  else
3501  {
3502  PIXEL00_2
3503  }
3504  PIXEL01_C
3505  PIXEL02_1R
3506  PIXEL10_C
3507  PIXEL11
3508  PIXEL12_1
3509  if (DIFF_FUNC(w[8], w[4]))
3510  {
3511  PIXEL20_C
3512  }
3513  else
3514  {
3515  PIXEL20_2
3516  }
3517  PIXEL21_C
3518  PIXEL22_1R
3519  break;
3520  }
3521  case 127:
3522  {
3523  if (DIFF_FUNC(w[4], w[2]))
3524  {
3525  PIXEL00_C
3526  PIXEL01_C
3527  PIXEL10_C
3528  }
3529  else
3530  {
3531  PIXEL00_2
3532  PIXEL01_3
3533  PIXEL10_3
3534  }
3535  if (DIFF_FUNC(w[2], w[6]))
3536  {
3537  PIXEL02_C
3538  PIXEL12_C
3539  }
3540  else
3541  {
3542  PIXEL02_4
3543  PIXEL12_3
3544  }
3545  PIXEL11
3546  if (DIFF_FUNC(w[8], w[4]))
3547  {
3548  PIXEL20_C
3549  PIXEL21_C
3550  }
3551  else
3552  {
3553  PIXEL20_4
3554  PIXEL21_3
3555  }
3556  PIXEL22_1M
3557  break;
3558  }
3559  case 191:
3560  {
3561  if (DIFF_FUNC(w[4], w[2]))
3562  {
3563  PIXEL00_C
3564  }
3565  else
3566  {
3567  PIXEL00_2
3568  }
3569  PIXEL01_C
3570  if (DIFF_FUNC(w[2], w[6]))
3571  {
3572  PIXEL02_C
3573  }
3574  else
3575  {
3576  PIXEL02_2
3577  }
3578  PIXEL10_C
3579  PIXEL11
3580  PIXEL12_C
3581  PIXEL20_1D
3582  PIXEL21_1
3583  PIXEL22_1D
3584  break;
3585  }
3586  case 223:
3587  {
3588  if (DIFF_FUNC(w[4], w[2]))
3589  {
3590  PIXEL00_C
3591  PIXEL10_C
3592  }
3593  else
3594  {
3595  PIXEL00_4
3596  PIXEL10_3
3597  }
3598  if (DIFF_FUNC(w[2], w[6]))
3599  {
3600  PIXEL01_C
3601  PIXEL02_C
3602  PIXEL12_C
3603  }
3604  else
3605  {
3606  PIXEL01_3
3607  PIXEL02_2
3608  PIXEL12_3
3609  }
3610  PIXEL11
3611  PIXEL20_1M
3612  if (DIFF_FUNC(w[6], w[8]))
3613  {
3614  PIXEL21_C
3615  PIXEL22_C
3616  }
3617  else
3618  {
3619  PIXEL21_3
3620  PIXEL22_4
3621  }
3622  break;
3623  }
3624  case 247:
3625  {
3626  PIXEL00_1L
3627  PIXEL01_C
3628  if (DIFF_FUNC(w[2], w[6]))
3629  {
3630  PIXEL02_C
3631  }
3632  else
3633  {
3634  PIXEL02_2
3635  }
3636  PIXEL10_1
3637  PIXEL11
3638  PIXEL12_C
3639  PIXEL20_1L
3640  PIXEL21_C
3641  if (DIFF_FUNC(w[6], w[8]))
3642  {
3643  PIXEL22_C
3644  }
3645  else
3646  {
3647  PIXEL22_2
3648  }
3649  break;
3650  }
3651  case 255:
3652  {
3653  if (DIFF_FUNC(w[4], w[2]))
3654  {
3655  PIXEL00_C
3656  }
3657  else
3658  {
3659  PIXEL00_2
3660  }
3661  PIXEL01_C
3662  if (DIFF_FUNC(w[2], w[6]))
3663  {
3664  PIXEL02_C
3665  }
3666  else
3667  {
3668  PIXEL02_2
3669  }
3670  PIXEL10_C
3671  PIXEL11
3672  PIXEL12_C
3673  if (DIFF_FUNC(w[8], w[4]))
3674  {
3675  PIXEL20_C
3676  }
3677  else
3678  {
3679  PIXEL20_2
3680  }
3681  PIXEL21_C
3682  if (DIFF_FUNC(w[6], w[8]))
3683  {
3684  PIXEL22_C
3685  }
3686  else
3687  {
3688  PIXEL22_2
3689  }
3690  break;
3691  }
3692  }
3693  sp++;
3694  dp += 3;
3695  }
3696 
3697  sRowP += srb;
3698  sp = (HQ3X_TYPE *) sRowP;
3699 
3700  dRowP += drb * 3;
3701  dp = (HQ3X_TYPE *) dRowP;
3702  }
3703 }
3704 
3705 HQX_API void HQX_CALLCONV HQ3X_FUNC( HQ3X_TYPE * sp, HQ3X_TYPE * dp, int Xres, int Yres )
3706 {
3707  uint32_t rowBytesL = Xres * HQ3X_BYTES;
3708  HQ3X_RB_FUNC(sp, rowBytesL, dp, rowBytesL * 3, Xres, Yres);
3709 }