DGen/SDL
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
hq2x-int.h
Go to the documentation of this file.
1 HQX_API void HQX_CALLCONV HQ2X_RB_FUNC( HQ2X_TYPE * sp, uint32_t srb, HQ2X_TYPE * dp, uint32_t drb, int Xres, int Yres )
2 {
3  int i, j, k;
4  int prevline, nextline;
5  HQ2X_TYPE w[10];
6  int dpL = (drb / HQ2X_BYTES);
7  int spL = (srb / HQ2X_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  HQ2X_CPY(w[2], *(sp + prevline));
31  HQ2X_CPY(w[5], *sp);
32  HQ2X_CPY(w[8], *(sp + nextline));
33 
34  if (i>0)
35  {
36  HQ2X_CPY(w[1], *(sp + prevline - 1));
37  HQ2X_CPY(w[4], *(sp - 1));
38  HQ2X_CPY(w[7], *(sp + nextline - 1));
39  }
40  else
41  {
42  HQ2X_CPY(w[1], w[2]);
43  HQ2X_CPY(w[4], w[5]);
44  HQ2X_CPY(w[7], w[8]);
45  }
46 
47  if (i<Xres-1)
48  {
49  HQ2X_CPY(w[3], *(sp + prevline + 1));
50  HQ2X_CPY(w[6], *(sp + 1));
51  HQ2X_CPY(w[9], *(sp + nextline + 1));
52  }
53  else
54  {
55  HQ2X_CPY(w[3], w[2]);
56  HQ2X_CPY(w[6], w[5]);
57  HQ2X_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  {
100  PIXEL11_20
101  break;
102  }
103  case 2:
104  case 34:
105  case 130:
106  case 162:
107  {
108  PIXEL00_22
109  PIXEL01_21
110  PIXEL10_20
111  PIXEL11_20
112  break;
113  }
114  case 16:
115  case 17:
116  case 48:
117  case 49:
118  {
119  PIXEL00_20
120  PIXEL01_22
121  PIXEL10_20
122  PIXEL11_21
123  break;
124  }
125  case 64:
126  case 65:
127  case 68:
128  case 69:
129  {
130  PIXEL00_20
131  PIXEL01_20
132  PIXEL10_21
133  PIXEL11_22
134  break;
135  }
136  case 8:
137  case 12:
138  case 136:
139  case 140:
140  {
141  PIXEL00_21
142  PIXEL01_20
143  PIXEL10_22
144  PIXEL11_20
145  break;
146  }
147  case 3:
148  case 35:
149  case 131:
150  case 163:
151  {
152  PIXEL00_11
153  PIXEL01_21
154  PIXEL10_20
155  PIXEL11_20
156  break;
157  }
158  case 6:
159  case 38:
160  case 134:
161  case 166:
162  {
163  PIXEL00_22
164  PIXEL01_12
165  PIXEL10_20
166  PIXEL11_20
167  break;
168  }
169  case 20:
170  case 21:
171  case 52:
172  case 53:
173  {
174  PIXEL00_20
175  PIXEL01_11
176  PIXEL10_20
177  PIXEL11_21
178  break;
179  }
180  case 144:
181  case 145:
182  case 176:
183  case 177:
184  {
185  PIXEL00_20
186  PIXEL01_22
187  PIXEL10_20
188  PIXEL11_12
189  break;
190  }
191  case 192:
192  case 193:
193  case 196:
194  case 197:
195  {
196  PIXEL00_20
197  PIXEL01_20
198  PIXEL10_21
199  PIXEL11_11
200  break;
201  }
202  case 96:
203  case 97:
204  case 100:
205  case 101:
206  {
207  PIXEL00_20
208  PIXEL01_20
209  PIXEL10_12
210  PIXEL11_22
211  break;
212  }
213  case 40:
214  case 44:
215  case 168:
216  case 172:
217  {
218  PIXEL00_21
219  PIXEL01_20
220  PIXEL10_11
221  PIXEL11_20
222  break;
223  }
224  case 9:
225  case 13:
226  case 137:
227  case 141:
228  {
229  PIXEL00_12
230  PIXEL01_20
231  PIXEL10_22
232  PIXEL11_20
233  break;
234  }
235  case 18:
236  case 50:
237  {
238  PIXEL00_22
239  if (DIFF_FUNC(w[2], w[6]))
240  {
241  PIXEL01_10
242  }
243  else
244  {
245  PIXEL01_20
246  }
247  PIXEL10_20
248  PIXEL11_21
249  break;
250  }
251  case 80:
252  case 81:
253  {
254  PIXEL00_20
255  PIXEL01_22
256  PIXEL10_21
257  if (DIFF_FUNC(w[6], w[8]))
258  {
259  PIXEL11_10
260  }
261  else
262  {
263  PIXEL11_20
264  }
265  break;
266  }
267  case 72:
268  case 76:
269  {
270  PIXEL00_21
271  PIXEL01_20
272  if (DIFF_FUNC(w[8], w[4]))
273  {
274  PIXEL10_10
275  }
276  else
277  {
278  PIXEL10_20
279  }
280  PIXEL11_22
281  break;
282  }
283  case 10:
284  case 138:
285  {
286  if (DIFF_FUNC(w[4], w[2]))
287  {
288  PIXEL00_10
289  }
290  else
291  {
292  PIXEL00_20
293  }
294  PIXEL01_21
295  PIXEL10_22
296  PIXEL11_20
297  break;
298  }
299  case 66:
300  {
301  PIXEL00_22
302  PIXEL01_21
303  PIXEL10_21
304  PIXEL11_22
305  break;
306  }
307  case 24:
308  {
309  PIXEL00_21
310  PIXEL01_22
311  PIXEL10_22
312  PIXEL11_21
313  break;
314  }
315  case 7:
316  case 39:
317  case 135:
318  {
319  PIXEL00_11
320  PIXEL01_12
321  PIXEL10_20
322  PIXEL11_20
323  break;
324  }
325  case 148:
326  case 149:
327  case 180:
328  {
329  PIXEL00_20
330  PIXEL01_11
331  PIXEL10_20
332  PIXEL11_12
333  break;
334  }
335  case 224:
336  case 228:
337  case 225:
338  {
339  PIXEL00_20
340  PIXEL01_20
341  PIXEL10_12
342  PIXEL11_11
343  break;
344  }
345  case 41:
346  case 169:
347  case 45:
348  {
349  PIXEL00_12
350  PIXEL01_20
351  PIXEL10_11
352  PIXEL11_20
353  break;
354  }
355  case 22:
356  case 54:
357  {
358  PIXEL00_22
359  if (DIFF_FUNC(w[2], w[6]))
360  {
361  PIXEL01_0
362  }
363  else
364  {
365  PIXEL01_20
366  }
367  PIXEL10_20
368  PIXEL11_21
369  break;
370  }
371  case 208:
372  case 209:
373  {
374  PIXEL00_20
375  PIXEL01_22
376  PIXEL10_21
377  if (DIFF_FUNC(w[6], w[8]))
378  {
379  PIXEL11_0
380  }
381  else
382  {
383  PIXEL11_20
384  }
385  break;
386  }
387  case 104:
388  case 108:
389  {
390  PIXEL00_21
391  PIXEL01_20
392  if (DIFF_FUNC(w[8], w[4]))
393  {
394  PIXEL10_0
395  }
396  else
397  {
398  PIXEL10_20
399  }
400  PIXEL11_22
401  break;
402  }
403  case 11:
404  case 139:
405  {
406  if (DIFF_FUNC(w[4], w[2]))
407  {
408  PIXEL00_0
409  }
410  else
411  {
412  PIXEL00_20
413  }
414  PIXEL01_21
415  PIXEL10_22
416  PIXEL11_20
417  break;
418  }
419  case 19:
420  case 51:
421  {
422  if (DIFF_FUNC(w[2], w[6]))
423  {
424  PIXEL00_11
425  PIXEL01_10
426  }
427  else
428  {
429  PIXEL00_60
430  PIXEL01_90
431  }
432  PIXEL10_20
433  PIXEL11_21
434  break;
435  }
436  case 146:
437  case 178:
438  {
439  PIXEL00_22
440  if (DIFF_FUNC(w[2], w[6]))
441  {
442  PIXEL01_10
443  PIXEL11_12
444  }
445  else
446  {
447  PIXEL01_90
448  PIXEL11_61
449  }
450  PIXEL10_20
451  break;
452  }
453  case 84:
454  case 85:
455  {
456  PIXEL00_20
457  if (DIFF_FUNC(w[6], w[8]))
458  {
459  PIXEL01_11
460  PIXEL11_10
461  }
462  else
463  {
464  PIXEL01_60
465  PIXEL11_90
466  }
467  PIXEL10_21
468  break;
469  }
470  case 112:
471  case 113:
472  {
473  PIXEL00_20
474  PIXEL01_22
475  if (DIFF_FUNC(w[6], w[8]))
476  {
477  PIXEL10_12
478  PIXEL11_10
479  }
480  else
481  {
482  PIXEL10_61
483  PIXEL11_90
484  }
485  break;
486  }
487  case 200:
488  case 204:
489  {
490  PIXEL00_21
491  PIXEL01_20
492  if (DIFF_FUNC(w[8], w[4]))
493  {
494  PIXEL10_10
495  PIXEL11_11
496  }
497  else
498  {
499  PIXEL10_90
500  PIXEL11_60
501  }
502  break;
503  }
504  case 73:
505  case 77:
506  {
507  if (DIFF_FUNC(w[8], w[4]))
508  {
509  PIXEL00_12
510  PIXEL10_10
511  }
512  else
513  {
514  PIXEL00_61
515  PIXEL10_90
516  }
517  PIXEL01_20
518  PIXEL11_22
519  break;
520  }
521  case 42:
522  case 170:
523  {
524  if (DIFF_FUNC(w[4], w[2]))
525  {
526  PIXEL00_10
527  PIXEL10_11
528  }
529  else
530  {
531  PIXEL00_90
532  PIXEL10_60
533  }
534  PIXEL01_21
535  PIXEL11_20
536  break;
537  }
538  case 14:
539  case 142:
540  {
541  if (DIFF_FUNC(w[4], w[2]))
542  {
543  PIXEL00_10
544  PIXEL01_12
545  }
546  else
547  {
548  PIXEL00_90
549  PIXEL01_61
550  }
551  PIXEL10_22
552  PIXEL11_20
553  break;
554  }
555  case 67:
556  {
557  PIXEL00_11
558  PIXEL01_21
559  PIXEL10_21
560  PIXEL11_22
561  break;
562  }
563  case 70:
564  {
565  PIXEL00_22
566  PIXEL01_12
567  PIXEL10_21
568  PIXEL11_22
569  break;
570  }
571  case 28:
572  {
573  PIXEL00_21
574  PIXEL01_11
575  PIXEL10_22
576  PIXEL11_21
577  break;
578  }
579  case 152:
580  {
581  PIXEL00_21
582  PIXEL01_22
583  PIXEL10_22
584  PIXEL11_12
585  break;
586  }
587  case 194:
588  {
589  PIXEL00_22
590  PIXEL01_21
591  PIXEL10_21
592  PIXEL11_11
593  break;
594  }
595  case 98:
596  {
597  PIXEL00_22
598  PIXEL01_21
599  PIXEL10_12
600  PIXEL11_22
601  break;
602  }
603  case 56:
604  {
605  PIXEL00_21
606  PIXEL01_22
607  PIXEL10_11
608  PIXEL11_21
609  break;
610  }
611  case 25:
612  {
613  PIXEL00_12
614  PIXEL01_22
615  PIXEL10_22
616  PIXEL11_21
617  break;
618  }
619  case 26:
620  case 31:
621  {
622  if (DIFF_FUNC(w[4], w[2]))
623  {
624  PIXEL00_0
625  }
626  else
627  {
628  PIXEL00_20
629  }
630  if (DIFF_FUNC(w[2], w[6]))
631  {
632  PIXEL01_0
633  }
634  else
635  {
636  PIXEL01_20
637  }
638  PIXEL10_22
639  PIXEL11_21
640  break;
641  }
642  case 82:
643  case 214:
644  {
645  PIXEL00_22
646  if (DIFF_FUNC(w[2], w[6]))
647  {
648  PIXEL01_0
649  }
650  else
651  {
652  PIXEL01_20
653  }
654  PIXEL10_21
655  if (DIFF_FUNC(w[6], w[8]))
656  {
657  PIXEL11_0
658  }
659  else
660  {
661  PIXEL11_20
662  }
663  break;
664  }
665  case 88:
666  case 248:
667  {
668  PIXEL00_21
669  PIXEL01_22
670  if (DIFF_FUNC(w[8], w[4]))
671  {
672  PIXEL10_0
673  }
674  else
675  {
676  PIXEL10_20
677  }
678  if (DIFF_FUNC(w[6], w[8]))
679  {
680  PIXEL11_0
681  }
682  else
683  {
684  PIXEL11_20
685  }
686  break;
687  }
688  case 74:
689  case 107:
690  {
691  if (DIFF_FUNC(w[4], w[2]))
692  {
693  PIXEL00_0
694  }
695  else
696  {
697  PIXEL00_20
698  }
699  PIXEL01_21
700  if (DIFF_FUNC(w[8], w[4]))
701  {
702  PIXEL10_0
703  }
704  else
705  {
706  PIXEL10_20
707  }
708  PIXEL11_22
709  break;
710  }
711  case 27:
712  {
713  if (DIFF_FUNC(w[4], w[2]))
714  {
715  PIXEL00_0
716  }
717  else
718  {
719  PIXEL00_20
720  }
721  PIXEL01_10
722  PIXEL10_22
723  PIXEL11_21
724  break;
725  }
726  case 86:
727  {
728  PIXEL00_22
729  if (DIFF_FUNC(w[2], w[6]))
730  {
731  PIXEL01_0
732  }
733  else
734  {
735  PIXEL01_20
736  }
737  PIXEL10_21
738  PIXEL11_10
739  break;
740  }
741  case 216:
742  {
743  PIXEL00_21
744  PIXEL01_22
745  PIXEL10_10
746  if (DIFF_FUNC(w[6], w[8]))
747  {
748  PIXEL11_0
749  }
750  else
751  {
752  PIXEL11_20
753  }
754  break;
755  }
756  case 106:
757  {
758  PIXEL00_10
759  PIXEL01_21
760  if (DIFF_FUNC(w[8], w[4]))
761  {
762  PIXEL10_0
763  }
764  else
765  {
766  PIXEL10_20
767  }
768  PIXEL11_22
769  break;
770  }
771  case 30:
772  {
773  PIXEL00_10
774  if (DIFF_FUNC(w[2], w[6]))
775  {
776  PIXEL01_0
777  }
778  else
779  {
780  PIXEL01_20
781  }
782  PIXEL10_22
783  PIXEL11_21
784  break;
785  }
786  case 210:
787  {
788  PIXEL00_22
789  PIXEL01_10
790  PIXEL10_21
791  if (DIFF_FUNC(w[6], w[8]))
792  {
793  PIXEL11_0
794  }
795  else
796  {
797  PIXEL11_20
798  }
799  break;
800  }
801  case 120:
802  {
803  PIXEL00_21
804  PIXEL01_22
805  if (DIFF_FUNC(w[8], w[4]))
806  {
807  PIXEL10_0
808  }
809  else
810  {
811  PIXEL10_20
812  }
813  PIXEL11_10
814  break;
815  }
816  case 75:
817  {
818  if (DIFF_FUNC(w[4], w[2]))
819  {
820  PIXEL00_0
821  }
822  else
823  {
824  PIXEL00_20
825  }
826  PIXEL01_21
827  PIXEL10_10
828  PIXEL11_22
829  break;
830  }
831  case 29:
832  {
833  PIXEL00_12
834  PIXEL01_11
835  PIXEL10_22
836  PIXEL11_21
837  break;
838  }
839  case 198:
840  {
841  PIXEL00_22
842  PIXEL01_12
843  PIXEL10_21
844  PIXEL11_11
845  break;
846  }
847  case 184:
848  {
849  PIXEL00_21
850  PIXEL01_22
851  PIXEL10_11
852  PIXEL11_12
853  break;
854  }
855  case 99:
856  {
857  PIXEL00_11
858  PIXEL01_21
859  PIXEL10_12
860  PIXEL11_22
861  break;
862  }
863  case 57:
864  {
865  PIXEL00_12
866  PIXEL01_22
867  PIXEL10_11
868  PIXEL11_21
869  break;
870  }
871  case 71:
872  {
873  PIXEL00_11
874  PIXEL01_12
875  PIXEL10_21
876  PIXEL11_22
877  break;
878  }
879  case 156:
880  {
881  PIXEL00_21
882  PIXEL01_11
883  PIXEL10_22
884  PIXEL11_12
885  break;
886  }
887  case 226:
888  {
889  PIXEL00_22
890  PIXEL01_21
891  PIXEL10_12
892  PIXEL11_11
893  break;
894  }
895  case 60:
896  {
897  PIXEL00_21
898  PIXEL01_11
899  PIXEL10_11
900  PIXEL11_21
901  break;
902  }
903  case 195:
904  {
905  PIXEL00_11
906  PIXEL01_21
907  PIXEL10_21
908  PIXEL11_11
909  break;
910  }
911  case 102:
912  {
913  PIXEL00_22
914  PIXEL01_12
915  PIXEL10_12
916  PIXEL11_22
917  break;
918  }
919  case 153:
920  {
921  PIXEL00_12
922  PIXEL01_22
923  PIXEL10_22
924  PIXEL11_12
925  break;
926  }
927  case 58:
928  {
929  if (DIFF_FUNC(w[4], w[2]))
930  {
931  PIXEL00_10
932  }
933  else
934  {
935  PIXEL00_70
936  }
937  if (DIFF_FUNC(w[2], w[6]))
938  {
939  PIXEL01_10
940  }
941  else
942  {
943  PIXEL01_70
944  }
945  PIXEL10_11
946  PIXEL11_21
947  break;
948  }
949  case 83:
950  {
951  PIXEL00_11
952  if (DIFF_FUNC(w[2], w[6]))
953  {
954  PIXEL01_10
955  }
956  else
957  {
958  PIXEL01_70
959  }
960  PIXEL10_21
961  if (DIFF_FUNC(w[6], w[8]))
962  {
963  PIXEL11_10
964  }
965  else
966  {
967  PIXEL11_70
968  }
969  break;
970  }
971  case 92:
972  {
973  PIXEL00_21
974  PIXEL01_11
975  if (DIFF_FUNC(w[8], w[4]))
976  {
977  PIXEL10_10
978  }
979  else
980  {
981  PIXEL10_70
982  }
983  if (DIFF_FUNC(w[6], w[8]))
984  {
985  PIXEL11_10
986  }
987  else
988  {
989  PIXEL11_70
990  }
991  break;
992  }
993  case 202:
994  {
995  if (DIFF_FUNC(w[4], w[2]))
996  {
997  PIXEL00_10
998  }
999  else
1000  {
1001  PIXEL00_70
1002  }
1003  PIXEL01_21
1004  if (DIFF_FUNC(w[8], w[4]))
1005  {
1006  PIXEL10_10
1007  }
1008  else
1009  {
1010  PIXEL10_70
1011  }
1012  PIXEL11_11
1013  break;
1014  }
1015  case 78:
1016  {
1017  if (DIFF_FUNC(w[4], w[2]))
1018  {
1019  PIXEL00_10
1020  }
1021  else
1022  {
1023  PIXEL00_70
1024  }
1025  PIXEL01_12
1026  if (DIFF_FUNC(w[8], w[4]))
1027  {
1028  PIXEL10_10
1029  }
1030  else
1031  {
1032  PIXEL10_70
1033  }
1034  PIXEL11_22
1035  break;
1036  }
1037  case 154:
1038  {
1039  if (DIFF_FUNC(w[4], w[2]))
1040  {
1041  PIXEL00_10
1042  }
1043  else
1044  {
1045  PIXEL00_70
1046  }
1047  if (DIFF_FUNC(w[2], w[6]))
1048  {
1049  PIXEL01_10
1050  }
1051  else
1052  {
1053  PIXEL01_70
1054  }
1055  PIXEL10_22
1056  PIXEL11_12
1057  break;
1058  }
1059  case 114:
1060  {
1061  PIXEL00_22
1062  if (DIFF_FUNC(w[2], w[6]))
1063  {
1064  PIXEL01_10
1065  }
1066  else
1067  {
1068  PIXEL01_70
1069  }
1070  PIXEL10_12
1071  if (DIFF_FUNC(w[6], w[8]))
1072  {
1073  PIXEL11_10
1074  }
1075  else
1076  {
1077  PIXEL11_70
1078  }
1079  break;
1080  }
1081  case 89:
1082  {
1083  PIXEL00_12
1084  PIXEL01_22
1085  if (DIFF_FUNC(w[8], w[4]))
1086  {
1087  PIXEL10_10
1088  }
1089  else
1090  {
1091  PIXEL10_70
1092  }
1093  if (DIFF_FUNC(w[6], w[8]))
1094  {
1095  PIXEL11_10
1096  }
1097  else
1098  {
1099  PIXEL11_70
1100  }
1101  break;
1102  }
1103  case 90:
1104  {
1105  if (DIFF_FUNC(w[4], w[2]))
1106  {
1107  PIXEL00_10
1108  }
1109  else
1110  {
1111  PIXEL00_70
1112  }
1113  if (DIFF_FUNC(w[2], w[6]))
1114  {
1115  PIXEL01_10
1116  }
1117  else
1118  {
1119  PIXEL01_70
1120  }
1121  if (DIFF_FUNC(w[8], w[4]))
1122  {
1123  PIXEL10_10
1124  }
1125  else
1126  {
1127  PIXEL10_70
1128  }
1129  if (DIFF_FUNC(w[6], w[8]))
1130  {
1131  PIXEL11_10
1132  }
1133  else
1134  {
1135  PIXEL11_70
1136  }
1137  break;
1138  }
1139  case 55:
1140  case 23:
1141  {
1142  if (DIFF_FUNC(w[2], w[6]))
1143  {
1144  PIXEL00_11
1145  PIXEL01_0
1146  }
1147  else
1148  {
1149  PIXEL00_60
1150  PIXEL01_90
1151  }
1152  PIXEL10_20
1153  PIXEL11_21
1154  break;
1155  }
1156  case 182:
1157  case 150:
1158  {
1159  PIXEL00_22
1160  if (DIFF_FUNC(w[2], w[6]))
1161  {
1162  PIXEL01_0
1163  PIXEL11_12
1164  }
1165  else
1166  {
1167  PIXEL01_90
1168  PIXEL11_61
1169  }
1170  PIXEL10_20
1171  break;
1172  }
1173  case 213:
1174  case 212:
1175  {
1176  PIXEL00_20
1177  if (DIFF_FUNC(w[6], w[8]))
1178  {
1179  PIXEL01_11
1180  PIXEL11_0
1181  }
1182  else
1183  {
1184  PIXEL01_60
1185  PIXEL11_90
1186  }
1187  PIXEL10_21
1188  break;
1189  }
1190  case 241:
1191  case 240:
1192  {
1193  PIXEL00_20
1194  PIXEL01_22
1195  if (DIFF_FUNC(w[6], w[8]))
1196  {
1197  PIXEL10_12
1198  PIXEL11_0
1199  }
1200  else
1201  {
1202  PIXEL10_61
1203  PIXEL11_90
1204  }
1205  break;
1206  }
1207  case 236:
1208  case 232:
1209  {
1210  PIXEL00_21
1211  PIXEL01_20
1212  if (DIFF_FUNC(w[8], w[4]))
1213  {
1214  PIXEL10_0
1215  PIXEL11_11
1216  }
1217  else
1218  {
1219  PIXEL10_90
1220  PIXEL11_60
1221  }
1222  break;
1223  }
1224  case 109:
1225  case 105:
1226  {
1227  if (DIFF_FUNC(w[8], w[4]))
1228  {
1229  PIXEL00_12
1230  PIXEL10_0
1231  }
1232  else
1233  {
1234  PIXEL00_61
1235  PIXEL10_90
1236  }
1237  PIXEL01_20
1238  PIXEL11_22
1239  break;
1240  }
1241  case 171:
1242  case 43:
1243  {
1244  if (DIFF_FUNC(w[4], w[2]))
1245  {
1246  PIXEL00_0
1247  PIXEL10_11
1248  }
1249  else
1250  {
1251  PIXEL00_90
1252  PIXEL10_60
1253  }
1254  PIXEL01_21
1255  PIXEL11_20
1256  break;
1257  }
1258  case 143:
1259  case 15:
1260  {
1261  if (DIFF_FUNC(w[4], w[2]))
1262  {
1263  PIXEL00_0
1264  PIXEL01_12
1265  }
1266  else
1267  {
1268  PIXEL00_90
1269  PIXEL01_61
1270  }
1271  PIXEL10_22
1272  PIXEL11_20
1273  break;
1274  }
1275  case 124:
1276  {
1277  PIXEL00_21
1278  PIXEL01_11
1279  if (DIFF_FUNC(w[8], w[4]))
1280  {
1281  PIXEL10_0
1282  }
1283  else
1284  {
1285  PIXEL10_20
1286  }
1287  PIXEL11_10
1288  break;
1289  }
1290  case 203:
1291  {
1292  if (DIFF_FUNC(w[4], w[2]))
1293  {
1294  PIXEL00_0
1295  }
1296  else
1297  {
1298  PIXEL00_20
1299  }
1300  PIXEL01_21
1301  PIXEL10_10
1302  PIXEL11_11
1303  break;
1304  }
1305  case 62:
1306  {
1307  PIXEL00_10
1308  if (DIFF_FUNC(w[2], w[6]))
1309  {
1310  PIXEL01_0
1311  }
1312  else
1313  {
1314  PIXEL01_20
1315  }
1316  PIXEL10_11
1317  PIXEL11_21
1318  break;
1319  }
1320  case 211:
1321  {
1322  PIXEL00_11
1323  PIXEL01_10
1324  PIXEL10_21
1325  if (DIFF_FUNC(w[6], w[8]))
1326  {
1327  PIXEL11_0
1328  }
1329  else
1330  {
1331  PIXEL11_20
1332  }
1333  break;
1334  }
1335  case 118:
1336  {
1337  PIXEL00_22
1338  if (DIFF_FUNC(w[2], w[6]))
1339  {
1340  PIXEL01_0
1341  }
1342  else
1343  {
1344  PIXEL01_20
1345  }
1346  PIXEL10_12
1347  PIXEL11_10
1348  break;
1349  }
1350  case 217:
1351  {
1352  PIXEL00_12
1353  PIXEL01_22
1354  PIXEL10_10
1355  if (DIFF_FUNC(w[6], w[8]))
1356  {
1357  PIXEL11_0
1358  }
1359  else
1360  {
1361  PIXEL11_20
1362  }
1363  break;
1364  }
1365  case 110:
1366  {
1367  PIXEL00_10
1368  PIXEL01_12
1369  if (DIFF_FUNC(w[8], w[4]))
1370  {
1371  PIXEL10_0
1372  }
1373  else
1374  {
1375  PIXEL10_20
1376  }
1377  PIXEL11_22
1378  break;
1379  }
1380  case 155:
1381  {
1382  if (DIFF_FUNC(w[4], w[2]))
1383  {
1384  PIXEL00_0
1385  }
1386  else
1387  {
1388  PIXEL00_20
1389  }
1390  PIXEL01_10
1391  PIXEL10_22
1392  PIXEL11_12
1393  break;
1394  }
1395  case 188:
1396  {
1397  PIXEL00_21
1398  PIXEL01_11
1399  PIXEL10_11
1400  PIXEL11_12
1401  break;
1402  }
1403  case 185:
1404  {
1405  PIXEL00_12
1406  PIXEL01_22
1407  PIXEL10_11
1408  PIXEL11_12
1409  break;
1410  }
1411  case 61:
1412  {
1413  PIXEL00_12
1414  PIXEL01_11
1415  PIXEL10_11
1416  PIXEL11_21
1417  break;
1418  }
1419  case 157:
1420  {
1421  PIXEL00_12
1422  PIXEL01_11
1423  PIXEL10_22
1424  PIXEL11_12
1425  break;
1426  }
1427  case 103:
1428  {
1429  PIXEL00_11
1430  PIXEL01_12
1431  PIXEL10_12
1432  PIXEL11_22
1433  break;
1434  }
1435  case 227:
1436  {
1437  PIXEL00_11
1438  PIXEL01_21
1439  PIXEL10_12
1440  PIXEL11_11
1441  break;
1442  }
1443  case 230:
1444  {
1445  PIXEL00_22
1446  PIXEL01_12
1447  PIXEL10_12
1448  PIXEL11_11
1449  break;
1450  }
1451  case 199:
1452  {
1453  PIXEL00_11
1454  PIXEL01_12
1455  PIXEL10_21
1456  PIXEL11_11
1457  break;
1458  }
1459  case 220:
1460  {
1461  PIXEL00_21
1462  PIXEL01_11
1463  if (DIFF_FUNC(w[8], w[4]))
1464  {
1465  PIXEL10_10
1466  }
1467  else
1468  {
1469  PIXEL10_70
1470  }
1471  if (DIFF_FUNC(w[6], w[8]))
1472  {
1473  PIXEL11_0
1474  }
1475  else
1476  {
1477  PIXEL11_20
1478  }
1479  break;
1480  }
1481  case 158:
1482  {
1483  if (DIFF_FUNC(w[4], w[2]))
1484  {
1485  PIXEL00_10
1486  }
1487  else
1488  {
1489  PIXEL00_70
1490  }
1491  if (DIFF_FUNC(w[2], w[6]))
1492  {
1493  PIXEL01_0
1494  }
1495  else
1496  {
1497  PIXEL01_20
1498  }
1499  PIXEL10_22
1500  PIXEL11_12
1501  break;
1502  }
1503  case 234:
1504  {
1505  if (DIFF_FUNC(w[4], w[2]))
1506  {
1507  PIXEL00_10
1508  }
1509  else
1510  {
1511  PIXEL00_70
1512  }
1513  PIXEL01_21
1514  if (DIFF_FUNC(w[8], w[4]))
1515  {
1516  PIXEL10_0
1517  }
1518  else
1519  {
1520  PIXEL10_20
1521  }
1522  PIXEL11_11
1523  break;
1524  }
1525  case 242:
1526  {
1527  PIXEL00_22
1528  if (DIFF_FUNC(w[2], w[6]))
1529  {
1530  PIXEL01_10
1531  }
1532  else
1533  {
1534  PIXEL01_70
1535  }
1536  PIXEL10_12
1537  if (DIFF_FUNC(w[6], w[8]))
1538  {
1539  PIXEL11_0
1540  }
1541  else
1542  {
1543  PIXEL11_20
1544  }
1545  break;
1546  }
1547  case 59:
1548  {
1549  if (DIFF_FUNC(w[4], w[2]))
1550  {
1551  PIXEL00_0
1552  }
1553  else
1554  {
1555  PIXEL00_20
1556  }
1557  if (DIFF_FUNC(w[2], w[6]))
1558  {
1559  PIXEL01_10
1560  }
1561  else
1562  {
1563  PIXEL01_70
1564  }
1565  PIXEL10_11
1566  PIXEL11_21
1567  break;
1568  }
1569  case 121:
1570  {
1571  PIXEL00_12
1572  PIXEL01_22
1573  if (DIFF_FUNC(w[8], w[4]))
1574  {
1575  PIXEL10_0
1576  }
1577  else
1578  {
1579  PIXEL10_20
1580  }
1581  if (DIFF_FUNC(w[6], w[8]))
1582  {
1583  PIXEL11_10
1584  }
1585  else
1586  {
1587  PIXEL11_70
1588  }
1589  break;
1590  }
1591  case 87:
1592  {
1593  PIXEL00_11
1594  if (DIFF_FUNC(w[2], w[6]))
1595  {
1596  PIXEL01_0
1597  }
1598  else
1599  {
1600  PIXEL01_20
1601  }
1602  PIXEL10_21
1603  if (DIFF_FUNC(w[6], w[8]))
1604  {
1605  PIXEL11_10
1606  }
1607  else
1608  {
1609  PIXEL11_70
1610  }
1611  break;
1612  }
1613  case 79:
1614  {
1615  if (DIFF_FUNC(w[4], w[2]))
1616  {
1617  PIXEL00_0
1618  }
1619  else
1620  {
1621  PIXEL00_20
1622  }
1623  PIXEL01_12
1624  if (DIFF_FUNC(w[8], w[4]))
1625  {
1626  PIXEL10_10
1627  }
1628  else
1629  {
1630  PIXEL10_70
1631  }
1632  PIXEL11_22
1633  break;
1634  }
1635  case 122:
1636  {
1637  if (DIFF_FUNC(w[4], w[2]))
1638  {
1639  PIXEL00_10
1640  }
1641  else
1642  {
1643  PIXEL00_70
1644  }
1645  if (DIFF_FUNC(w[2], w[6]))
1646  {
1647  PIXEL01_10
1648  }
1649  else
1650  {
1651  PIXEL01_70
1652  }
1653  if (DIFF_FUNC(w[8], w[4]))
1654  {
1655  PIXEL10_0
1656  }
1657  else
1658  {
1659  PIXEL10_20
1660  }
1661  if (DIFF_FUNC(w[6], w[8]))
1662  {
1663  PIXEL11_10
1664  }
1665  else
1666  {
1667  PIXEL11_70
1668  }
1669  break;
1670  }
1671  case 94:
1672  {
1673  if (DIFF_FUNC(w[4], w[2]))
1674  {
1675  PIXEL00_10
1676  }
1677  else
1678  {
1679  PIXEL00_70
1680  }
1681  if (DIFF_FUNC(w[2], w[6]))
1682  {
1683  PIXEL01_0
1684  }
1685  else
1686  {
1687  PIXEL01_20
1688  }
1689  if (DIFF_FUNC(w[8], w[4]))
1690  {
1691  PIXEL10_10
1692  }
1693  else
1694  {
1695  PIXEL10_70
1696  }
1697  if (DIFF_FUNC(w[6], w[8]))
1698  {
1699  PIXEL11_10
1700  }
1701  else
1702  {
1703  PIXEL11_70
1704  }
1705  break;
1706  }
1707  case 218:
1708  {
1709  if (DIFF_FUNC(w[4], w[2]))
1710  {
1711  PIXEL00_10
1712  }
1713  else
1714  {
1715  PIXEL00_70
1716  }
1717  if (DIFF_FUNC(w[2], w[6]))
1718  {
1719  PIXEL01_10
1720  }
1721  else
1722  {
1723  PIXEL01_70
1724  }
1725  if (DIFF_FUNC(w[8], w[4]))
1726  {
1727  PIXEL10_10
1728  }
1729  else
1730  {
1731  PIXEL10_70
1732  }
1733  if (DIFF_FUNC(w[6], w[8]))
1734  {
1735  PIXEL11_0
1736  }
1737  else
1738  {
1739  PIXEL11_20
1740  }
1741  break;
1742  }
1743  case 91:
1744  {
1745  if (DIFF_FUNC(w[4], w[2]))
1746  {
1747  PIXEL00_0
1748  }
1749  else
1750  {
1751  PIXEL00_20
1752  }
1753  if (DIFF_FUNC(w[2], w[6]))
1754  {
1755  PIXEL01_10
1756  }
1757  else
1758  {
1759  PIXEL01_70
1760  }
1761  if (DIFF_FUNC(w[8], w[4]))
1762  {
1763  PIXEL10_10
1764  }
1765  else
1766  {
1767  PIXEL10_70
1768  }
1769  if (DIFF_FUNC(w[6], w[8]))
1770  {
1771  PIXEL11_10
1772  }
1773  else
1774  {
1775  PIXEL11_70
1776  }
1777  break;
1778  }
1779  case 229:
1780  {
1781  PIXEL00_20
1782  PIXEL01_20
1783  PIXEL10_12
1784  PIXEL11_11
1785  break;
1786  }
1787  case 167:
1788  {
1789  PIXEL00_11
1790  PIXEL01_12
1791  PIXEL10_20
1792  PIXEL11_20
1793  break;
1794  }
1795  case 173:
1796  {
1797  PIXEL00_12
1798  PIXEL01_20
1799  PIXEL10_11
1800  PIXEL11_20
1801  break;
1802  }
1803  case 181:
1804  {
1805  PIXEL00_20
1806  PIXEL01_11
1807  PIXEL10_20
1808  PIXEL11_12
1809  break;
1810  }
1811  case 186:
1812  {
1813  if (DIFF_FUNC(w[4], w[2]))
1814  {
1815  PIXEL00_10
1816  }
1817  else
1818  {
1819  PIXEL00_70
1820  }
1821  if (DIFF_FUNC(w[2], w[6]))
1822  {
1823  PIXEL01_10
1824  }
1825  else
1826  {
1827  PIXEL01_70
1828  }
1829  PIXEL10_11
1830  PIXEL11_12
1831  break;
1832  }
1833  case 115:
1834  {
1835  PIXEL00_11
1836  if (DIFF_FUNC(w[2], w[6]))
1837  {
1838  PIXEL01_10
1839  }
1840  else
1841  {
1842  PIXEL01_70
1843  }
1844  PIXEL10_12
1845  if (DIFF_FUNC(w[6], w[8]))
1846  {
1847  PIXEL11_10
1848  }
1849  else
1850  {
1851  PIXEL11_70
1852  }
1853  break;
1854  }
1855  case 93:
1856  {
1857  PIXEL00_12
1858  PIXEL01_11
1859  if (DIFF_FUNC(w[8], w[4]))
1860  {
1861  PIXEL10_10
1862  }
1863  else
1864  {
1865  PIXEL10_70
1866  }
1867  if (DIFF_FUNC(w[6], w[8]))
1868  {
1869  PIXEL11_10
1870  }
1871  else
1872  {
1873  PIXEL11_70
1874  }
1875  break;
1876  }
1877  case 206:
1878  {
1879  if (DIFF_FUNC(w[4], w[2]))
1880  {
1881  PIXEL00_10
1882  }
1883  else
1884  {
1885  PIXEL00_70
1886  }
1887  PIXEL01_12
1888  if (DIFF_FUNC(w[8], w[4]))
1889  {
1890  PIXEL10_10
1891  }
1892  else
1893  {
1894  PIXEL10_70
1895  }
1896  PIXEL11_11
1897  break;
1898  }
1899  case 205:
1900  case 201:
1901  {
1902  PIXEL00_12
1903  PIXEL01_20
1904  if (DIFF_FUNC(w[8], w[4]))
1905  {
1906  PIXEL10_10
1907  }
1908  else
1909  {
1910  PIXEL10_70
1911  }
1912  PIXEL11_11
1913  break;
1914  }
1915  case 174:
1916  case 46:
1917  {
1918  if (DIFF_FUNC(w[4], w[2]))
1919  {
1920  PIXEL00_10
1921  }
1922  else
1923  {
1924  PIXEL00_70
1925  }
1926  PIXEL01_12
1927  PIXEL10_11
1928  PIXEL11_20
1929  break;
1930  }
1931  case 179:
1932  case 147:
1933  {
1934  PIXEL00_11
1935  if (DIFF_FUNC(w[2], w[6]))
1936  {
1937  PIXEL01_10
1938  }
1939  else
1940  {
1941  PIXEL01_70
1942  }
1943  PIXEL10_20
1944  PIXEL11_12
1945  break;
1946  }
1947  case 117:
1948  case 116:
1949  {
1950  PIXEL00_20
1951  PIXEL01_11
1952  PIXEL10_12
1953  if (DIFF_FUNC(w[6], w[8]))
1954  {
1955  PIXEL11_10
1956  }
1957  else
1958  {
1959  PIXEL11_70
1960  }
1961  break;
1962  }
1963  case 189:
1964  {
1965  PIXEL00_12
1966  PIXEL01_11
1967  PIXEL10_11
1968  PIXEL11_12
1969  break;
1970  }
1971  case 231:
1972  {
1973  PIXEL00_11
1974  PIXEL01_12
1975  PIXEL10_12
1976  PIXEL11_11
1977  break;
1978  }
1979  case 126:
1980  {
1981  PIXEL00_10
1982  if (DIFF_FUNC(w[2], w[6]))
1983  {
1984  PIXEL01_0
1985  }
1986  else
1987  {
1988  PIXEL01_20
1989  }
1990  if (DIFF_FUNC(w[8], w[4]))
1991  {
1992  PIXEL10_0
1993  }
1994  else
1995  {
1996  PIXEL10_20
1997  }
1998  PIXEL11_10
1999  break;
2000  }
2001  case 219:
2002  {
2003  if (DIFF_FUNC(w[4], w[2]))
2004  {
2005  PIXEL00_0
2006  }
2007  else
2008  {
2009  PIXEL00_20
2010  }
2011  PIXEL01_10
2012  PIXEL10_10
2013  if (DIFF_FUNC(w[6], w[8]))
2014  {
2015  PIXEL11_0
2016  }
2017  else
2018  {
2019  PIXEL11_20
2020  }
2021  break;
2022  }
2023  case 125:
2024  {
2025  if (DIFF_FUNC(w[8], w[4]))
2026  {
2027  PIXEL00_12
2028  PIXEL10_0
2029  }
2030  else
2031  {
2032  PIXEL00_61
2033  PIXEL10_90
2034  }
2035  PIXEL01_11
2036  PIXEL11_10
2037  break;
2038  }
2039  case 221:
2040  {
2041  PIXEL00_12
2042  if (DIFF_FUNC(w[6], w[8]))
2043  {
2044  PIXEL01_11
2045  PIXEL11_0
2046  }
2047  else
2048  {
2049  PIXEL01_60
2050  PIXEL11_90
2051  }
2052  PIXEL10_10
2053  break;
2054  }
2055  case 207:
2056  {
2057  if (DIFF_FUNC(w[4], w[2]))
2058  {
2059  PIXEL00_0
2060  PIXEL01_12
2061  }
2062  else
2063  {
2064  PIXEL00_90
2065  PIXEL01_61
2066  }
2067  PIXEL10_10
2068  PIXEL11_11
2069  break;
2070  }
2071  case 238:
2072  {
2073  PIXEL00_10
2074  PIXEL01_12
2075  if (DIFF_FUNC(w[8], w[4]))
2076  {
2077  PIXEL10_0
2078  PIXEL11_11
2079  }
2080  else
2081  {
2082  PIXEL10_90
2083  PIXEL11_60
2084  }
2085  break;
2086  }
2087  case 190:
2088  {
2089  PIXEL00_10
2090  if (DIFF_FUNC(w[2], w[6]))
2091  {
2092  PIXEL01_0
2093  PIXEL11_12
2094  }
2095  else
2096  {
2097  PIXEL01_90
2098  PIXEL11_61
2099  }
2100  PIXEL10_11
2101  break;
2102  }
2103  case 187:
2104  {
2105  if (DIFF_FUNC(w[4], w[2]))
2106  {
2107  PIXEL00_0
2108  PIXEL10_11
2109  }
2110  else
2111  {
2112  PIXEL00_90
2113  PIXEL10_60
2114  }
2115  PIXEL01_10
2116  PIXEL11_12
2117  break;
2118  }
2119  case 243:
2120  {
2121  PIXEL00_11
2122  PIXEL01_10
2123  if (DIFF_FUNC(w[6], w[8]))
2124  {
2125  PIXEL10_12
2126  PIXEL11_0
2127  }
2128  else
2129  {
2130  PIXEL10_61
2131  PIXEL11_90
2132  }
2133  break;
2134  }
2135  case 119:
2136  {
2137  if (DIFF_FUNC(w[2], w[6]))
2138  {
2139  PIXEL00_11
2140  PIXEL01_0
2141  }
2142  else
2143  {
2144  PIXEL00_60
2145  PIXEL01_90
2146  }
2147  PIXEL10_12
2148  PIXEL11_10
2149  break;
2150  }
2151  case 237:
2152  case 233:
2153  {
2154  PIXEL00_12
2155  PIXEL01_20
2156  if (DIFF_FUNC(w[8], w[4]))
2157  {
2158  PIXEL10_0
2159  }
2160  else
2161  {
2162  PIXEL10_100
2163  }
2164  PIXEL11_11
2165  break;
2166  }
2167  case 175:
2168  case 47:
2169  {
2170  if (DIFF_FUNC(w[4], w[2]))
2171  {
2172  PIXEL00_0
2173  }
2174  else
2175  {
2176  PIXEL00_100
2177  }
2178  PIXEL01_12
2179  PIXEL10_11
2180  PIXEL11_20
2181  break;
2182  }
2183  case 183:
2184  case 151:
2185  {
2186  PIXEL00_11
2187  if (DIFF_FUNC(w[2], w[6]))
2188  {
2189  PIXEL01_0
2190  }
2191  else
2192  {
2193  PIXEL01_100
2194  }
2195  PIXEL10_20
2196  PIXEL11_12
2197  break;
2198  }
2199  case 245:
2200  case 244:
2201  {
2202  PIXEL00_20
2203  PIXEL01_11
2204  PIXEL10_12
2205  if (DIFF_FUNC(w[6], w[8]))
2206  {
2207  PIXEL11_0
2208  }
2209  else
2210  {
2211  PIXEL11_100
2212  }
2213  break;
2214  }
2215  case 250:
2216  {
2217  PIXEL00_10
2218  PIXEL01_10
2219  if (DIFF_FUNC(w[8], w[4]))
2220  {
2221  PIXEL10_0
2222  }
2223  else
2224  {
2225  PIXEL10_20
2226  }
2227  if (DIFF_FUNC(w[6], w[8]))
2228  {
2229  PIXEL11_0
2230  }
2231  else
2232  {
2233  PIXEL11_20
2234  }
2235  break;
2236  }
2237  case 123:
2238  {
2239  if (DIFF_FUNC(w[4], w[2]))
2240  {
2241  PIXEL00_0
2242  }
2243  else
2244  {
2245  PIXEL00_20
2246  }
2247  PIXEL01_10
2248  if (DIFF_FUNC(w[8], w[4]))
2249  {
2250  PIXEL10_0
2251  }
2252  else
2253  {
2254  PIXEL10_20
2255  }
2256  PIXEL11_10
2257  break;
2258  }
2259  case 95:
2260  {
2261  if (DIFF_FUNC(w[4], w[2]))
2262  {
2263  PIXEL00_0
2264  }
2265  else
2266  {
2267  PIXEL00_20
2268  }
2269  if (DIFF_FUNC(w[2], w[6]))
2270  {
2271  PIXEL01_0
2272  }
2273  else
2274  {
2275  PIXEL01_20
2276  }
2277  PIXEL10_10
2278  PIXEL11_10
2279  break;
2280  }
2281  case 222:
2282  {
2283  PIXEL00_10
2284  if (DIFF_FUNC(w[2], w[6]))
2285  {
2286  PIXEL01_0
2287  }
2288  else
2289  {
2290  PIXEL01_20
2291  }
2292  PIXEL10_10
2293  if (DIFF_FUNC(w[6], w[8]))
2294  {
2295  PIXEL11_0
2296  }
2297  else
2298  {
2299  PIXEL11_20
2300  }
2301  break;
2302  }
2303  case 252:
2304  {
2305  PIXEL00_21
2306  PIXEL01_11
2307  if (DIFF_FUNC(w[8], w[4]))
2308  {
2309  PIXEL10_0
2310  }
2311  else
2312  {
2313  PIXEL10_20
2314  }
2315  if (DIFF_FUNC(w[6], w[8]))
2316  {
2317  PIXEL11_0
2318  }
2319  else
2320  {
2321  PIXEL11_100
2322  }
2323  break;
2324  }
2325  case 249:
2326  {
2327  PIXEL00_12
2328  PIXEL01_22
2329  if (DIFF_FUNC(w[8], w[4]))
2330  {
2331  PIXEL10_0
2332  }
2333  else
2334  {
2335  PIXEL10_100
2336  }
2337  if (DIFF_FUNC(w[6], w[8]))
2338  {
2339  PIXEL11_0
2340  }
2341  else
2342  {
2343  PIXEL11_20
2344  }
2345  break;
2346  }
2347  case 235:
2348  {
2349  if (DIFF_FUNC(w[4], w[2]))
2350  {
2351  PIXEL00_0
2352  }
2353  else
2354  {
2355  PIXEL00_20
2356  }
2357  PIXEL01_21
2358  if (DIFF_FUNC(w[8], w[4]))
2359  {
2360  PIXEL10_0
2361  }
2362  else
2363  {
2364  PIXEL10_100
2365  }
2366  PIXEL11_11
2367  break;
2368  }
2369  case 111:
2370  {
2371  if (DIFF_FUNC(w[4], w[2]))
2372  {
2373  PIXEL00_0
2374  }
2375  else
2376  {
2377  PIXEL00_100
2378  }
2379  PIXEL01_12
2380  if (DIFF_FUNC(w[8], w[4]))
2381  {
2382  PIXEL10_0
2383  }
2384  else
2385  {
2386  PIXEL10_20
2387  }
2388  PIXEL11_22
2389  break;
2390  }
2391  case 63:
2392  {
2393  if (DIFF_FUNC(w[4], w[2]))
2394  {
2395  PIXEL00_0
2396  }
2397  else
2398  {
2399  PIXEL00_100
2400  }
2401  if (DIFF_FUNC(w[2], w[6]))
2402  {
2403  PIXEL01_0
2404  }
2405  else
2406  {
2407  PIXEL01_20
2408  }
2409  PIXEL10_11
2410  PIXEL11_21
2411  break;
2412  }
2413  case 159:
2414  {
2415  if (DIFF_FUNC(w[4], w[2]))
2416  {
2417  PIXEL00_0
2418  }
2419  else
2420  {
2421  PIXEL00_20
2422  }
2423  if (DIFF_FUNC(w[2], w[6]))
2424  {
2425  PIXEL01_0
2426  }
2427  else
2428  {
2429  PIXEL01_100
2430  }
2431  PIXEL10_22
2432  PIXEL11_12
2433  break;
2434  }
2435  case 215:
2436  {
2437  PIXEL00_11
2438  if (DIFF_FUNC(w[2], w[6]))
2439  {
2440  PIXEL01_0
2441  }
2442  else
2443  {
2444  PIXEL01_100
2445  }
2446  PIXEL10_21
2447  if (DIFF_FUNC(w[6], w[8]))
2448  {
2449  PIXEL11_0
2450  }
2451  else
2452  {
2453  PIXEL11_20
2454  }
2455  break;
2456  }
2457  case 246:
2458  {
2459  PIXEL00_22
2460  if (DIFF_FUNC(w[2], w[6]))
2461  {
2462  PIXEL01_0
2463  }
2464  else
2465  {
2466  PIXEL01_20
2467  }
2468  PIXEL10_12
2469  if (DIFF_FUNC(w[6], w[8]))
2470  {
2471  PIXEL11_0
2472  }
2473  else
2474  {
2475  PIXEL11_100
2476  }
2477  break;
2478  }
2479  case 254:
2480  {
2481  PIXEL00_10
2482  if (DIFF_FUNC(w[2], w[6]))
2483  {
2484  PIXEL01_0
2485  }
2486  else
2487  {
2488  PIXEL01_20
2489  }
2490  if (DIFF_FUNC(w[8], w[4]))
2491  {
2492  PIXEL10_0
2493  }
2494  else
2495  {
2496  PIXEL10_20
2497  }
2498  if (DIFF_FUNC(w[6], w[8]))
2499  {
2500  PIXEL11_0
2501  }
2502  else
2503  {
2504  PIXEL11_100
2505  }
2506  break;
2507  }
2508  case 253:
2509  {
2510  PIXEL00_12
2511  PIXEL01_11
2512  if (DIFF_FUNC(w[8], w[4]))
2513  {
2514  PIXEL10_0
2515  }
2516  else
2517  {
2518  PIXEL10_100
2519  }
2520  if (DIFF_FUNC(w[6], w[8]))
2521  {
2522  PIXEL11_0
2523  }
2524  else
2525  {
2526  PIXEL11_100
2527  }
2528  break;
2529  }
2530  case 251:
2531  {
2532  if (DIFF_FUNC(w[4], w[2]))
2533  {
2534  PIXEL00_0
2535  }
2536  else
2537  {
2538  PIXEL00_20
2539  }
2540  PIXEL01_10
2541  if (DIFF_FUNC(w[8], w[4]))
2542  {
2543  PIXEL10_0
2544  }
2545  else
2546  {
2547  PIXEL10_100
2548  }
2549  if (DIFF_FUNC(w[6], w[8]))
2550  {
2551  PIXEL11_0
2552  }
2553  else
2554  {
2555  PIXEL11_20
2556  }
2557  break;
2558  }
2559  case 239:
2560  {
2561  if (DIFF_FUNC(w[4], w[2]))
2562  {
2563  PIXEL00_0
2564  }
2565  else
2566  {
2567  PIXEL00_100
2568  }
2569  PIXEL01_12
2570  if (DIFF_FUNC(w[8], w[4]))
2571  {
2572  PIXEL10_0
2573  }
2574  else
2575  {
2576  PIXEL10_100
2577  }
2578  PIXEL11_11
2579  break;
2580  }
2581  case 127:
2582  {
2583  if (DIFF_FUNC(w[4], w[2]))
2584  {
2585  PIXEL00_0
2586  }
2587  else
2588  {
2589  PIXEL00_100
2590  }
2591  if (DIFF_FUNC(w[2], w[6]))
2592  {
2593  PIXEL01_0
2594  }
2595  else
2596  {
2597  PIXEL01_20
2598  }
2599  if (DIFF_FUNC(w[8], w[4]))
2600  {
2601  PIXEL10_0
2602  }
2603  else
2604  {
2605  PIXEL10_20
2606  }
2607  PIXEL11_10
2608  break;
2609  }
2610  case 191:
2611  {
2612  if (DIFF_FUNC(w[4], w[2]))
2613  {
2614  PIXEL00_0
2615  }
2616  else
2617  {
2618  PIXEL00_100
2619  }
2620  if (DIFF_FUNC(w[2], w[6]))
2621  {
2622  PIXEL01_0
2623  }
2624  else
2625  {
2626  PIXEL01_100
2627  }
2628  PIXEL10_11
2629  PIXEL11_12
2630  break;
2631  }
2632  case 223:
2633  {
2634  if (DIFF_FUNC(w[4], w[2]))
2635  {
2636  PIXEL00_0
2637  }
2638  else
2639  {
2640  PIXEL00_20
2641  }
2642  if (DIFF_FUNC(w[2], w[6]))
2643  {
2644  PIXEL01_0
2645  }
2646  else
2647  {
2648  PIXEL01_100
2649  }
2650  PIXEL10_10
2651  if (DIFF_FUNC(w[6], w[8]))
2652  {
2653  PIXEL11_0
2654  }
2655  else
2656  {
2657  PIXEL11_20
2658  }
2659  break;
2660  }
2661  case 247:
2662  {
2663  PIXEL00_11
2664  if (DIFF_FUNC(w[2], w[6]))
2665  {
2666  PIXEL01_0
2667  }
2668  else
2669  {
2670  PIXEL01_100
2671  }
2672  PIXEL10_12
2673  if (DIFF_FUNC(w[6], w[8]))
2674  {
2675  PIXEL11_0
2676  }
2677  else
2678  {
2679  PIXEL11_100
2680  }
2681  break;
2682  }
2683  case 255:
2684  {
2685  if (DIFF_FUNC(w[4], w[2]))
2686  {
2687  PIXEL00_0
2688  }
2689  else
2690  {
2691  PIXEL00_100
2692  }
2693  if (DIFF_FUNC(w[2], w[6]))
2694  {
2695  PIXEL01_0
2696  }
2697  else
2698  {
2699  PIXEL01_100
2700  }
2701  if (DIFF_FUNC(w[8], w[4]))
2702  {
2703  PIXEL10_0
2704  }
2705  else
2706  {
2707  PIXEL10_100
2708  }
2709  if (DIFF_FUNC(w[6], w[8]))
2710  {
2711  PIXEL11_0
2712  }
2713  else
2714  {
2715  PIXEL11_100
2716  }
2717  break;
2718  }
2719  }
2720  sp++;
2721  dp += 2;
2722  }
2723 
2724  sRowP += srb;
2725  sp = (HQ2X_TYPE *) sRowP;
2726 
2727  dRowP += drb * 2;
2728  dp = (HQ2X_TYPE *) dRowP;
2729  }
2730 }
2731 
2732 HQX_API void HQX_CALLCONV HQ2X_FUNC( HQ2X_TYPE * sp, HQ2X_TYPE * dp, int Xres, int Yres )
2733 {
2734  uint32_t rowBytesL = Xres * HQ2X_BYTES;
2735  HQ2X_RB_FUNC(sp, rowBytesL, dp, rowBytesL * 2, Xres, Yres);
2736 }