gles: tweak Makefile, credits
[pcsx_rearmed.git] / plugins / dfxvideo / hq2x.h
CommitLineData
ef79bbde
P
1#define P0 dst0[0]
2#define P1 dst0[1]
3#define P2 dst1[0]
4#define P3 dst1[1]
5#define MUR interp_32_diff(c[1], c[5])
6#define MDR interp_32_diff(c[5], c[7])
7#define MDL interp_32_diff(c[7], c[3])
8#define MUL interp_32_diff(c[3], c[1])
9#define IC(p0) c[p0]
10#define I11(p0,p1) interp_32_11(c[p0], c[p1])
11#define I211(p0,p1,p2) interp_32_211(c[p0], c[p1], c[p2])
12#define I31(p0,p1) interp_32_31(c[p0], c[p1])
13#define I332(p0,p1,p2) interp_32_332(c[p0], c[p1], c[p2])
14#define I431(p0,p1,p2) interp_32_431(c[p0], c[p1], c[p2])
15#define I521(p0,p1,p2) interp_32_521(c[p0], c[p1], c[p2])
16#define I53(p0,p1) interp_32_53(c[p0], c[p1])
17#define I611(p0,p1,p2) interp_32_611(c[p0], c[p1], c[p2])
18#define I71(p0,p1) interp_32_71(c[p0], c[p1])
19#define I772(p0,p1,p2) interp_32_772(c[p0], c[p1], c[p2])
20#define I97(p0,p1) interp_32_97(c[p0], c[p1])
21#define I1411(p0,p1,p2) interp_32_1411(c[p0], c[p1], c[p2])
22#define I151(p0,p1) interp_32_151(c[p0], c[p1])
23
24case 0 :
25case 1 :
26case 4 :
27case 5 :
28case 32 :
29case 33 :
30case 36 :
31case 37 :
32case 128 :
33case 129 :
34case 132 :
35case 133 :
36case 160 :
37case 161 :
38case 164 :
39case 165 :
40{
41 P0 = I211(4, 1, 3);
42 P1 = I211(4, 1, 5);
43 P2 = I211(4, 3, 7);
44 P3 = I211(4, 5, 7);
45} break;
46case 2 :
47case 34 :
48case 130 :
49case 162 :
50{
51 P0 = I31(4, 0);
52 P1 = I31(4, 2);
53 P2 = I211(4, 3, 7);
54 P3 = I211(4, 5, 7);
55} break;
56case 3 :
57case 35 :
58case 131 :
59case 163 :
60{
61 P0 = I31(4, 3);
62 P1 = I31(4, 2);
63 P2 = I211(4, 3, 7);
64 P3 = I211(4, 5, 7);
65} break;
66case 6 :
67case 38 :
68case 134 :
69case 166 :
70{
71 P0 = I31(4, 0);
72 P1 = I31(4, 5);
73 P2 = I211(4, 3, 7);
74 P3 = I211(4, 5, 7);
75} break;
76case 7 :
77case 39 :
78case 135 :
79case 167 :
80{
81 P0 = I31(4, 3);
82 P1 = I31(4, 5);
83 P2 = I211(4, 3, 7);
84 P3 = I211(4, 5, 7);
85} break;
86case 8 :
87case 12 :
88case 136 :
89case 140 :
90{
91 P0 = I31(4, 0);
92 P1 = I211(4, 1, 5);
93 P2 = I31(4, 6);
94 P3 = I211(4, 5, 7);
95} break;
96case 9 :
97case 13 :
98case 137 :
99case 141 :
100{
101 P0 = I31(4, 1);
102 P1 = I211(4, 1, 5);
103 P2 = I31(4, 6);
104 P3 = I211(4, 5, 7);
105} break;
106case 10 :
107case 138 :
108{
109 P1 = I31(4, 2);
110 P2 = I31(4, 6);
111 P3 = I211(4, 5, 7);
112 if (MUL) {
113 P0 = I31(4, 0);
114 } else {
115 P0 = I211(4, 1, 3);
116 }
117} break;
118case 11 :
119case 139 :
120{
121 P1 = I31(4, 2);
122 P2 = I31(4, 6);
123 P3 = I211(4, 5, 7);
124 if (MUL) {
125 P0 = IC(4);
126 } else {
127 P0 = I211(4, 1, 3);
128 }
129} break;
130case 14 :
131case 142 :
132{
133 P2 = I31(4, 6);
134 P3 = I211(4, 5, 7);
135 if (MUL) {
136 P0 = I31(4, 0);
137 P1 = I31(4, 5);
138 } else {
139 P0 = I332(1, 3, 4);
140 P1 = I521(4, 1, 5);
141 }
142} break;
143case 15 :
144case 143 :
145{
146 P2 = I31(4, 6);
147 P3 = I211(4, 5, 7);
148 if (MUL) {
149 P0 = IC(4);
150 P1 = I31(4, 5);
151 } else {
152 P0 = I332(1, 3, 4);
153 P1 = I521(4, 1, 5);
154 }
155} break;
156case 16 :
157case 17 :
158case 48 :
159case 49 :
160{
161 P0 = I211(4, 1, 3);
162 P1 = I31(4, 2);
163 P2 = I211(4, 3, 7);
164 P3 = I31(4, 8);
165} break;
166case 18 :
167case 50 :
168{
169 P0 = I31(4, 0);
170 P2 = I211(4, 3, 7);
171 P3 = I31(4, 8);
172 if (MUR) {
173 P1 = I31(4, 2);
174 } else {
175 P1 = I211(4, 1, 5);
176 }
177} break;
178case 19 :
179case 51 :
180{
181 P2 = I211(4, 3, 7);
182 P3 = I31(4, 8);
183 if (MUR) {
184 P0 = I31(4, 3);
185 P1 = I31(4, 2);
186 } else {
187 P0 = I521(4, 1, 3);
188 P1 = I332(1, 5, 4);
189 }
190} break;
191case 20 :
192case 21 :
193case 52 :
194case 53 :
195{
196 P0 = I211(4, 1, 3);
197 P1 = I31(4, 1);
198 P2 = I211(4, 3, 7);
199 P3 = I31(4, 8);
200} break;
201case 22 :
202case 54 :
203{
204 P0 = I31(4, 0);
205 P2 = I211(4, 3, 7);
206 P3 = I31(4, 8);
207 if (MUR) {
208 P1 = IC(4);
209 } else {
210 P1 = I211(4, 1, 5);
211 }
212} break;
213case 23 :
214case 55 :
215{
216 P2 = I211(4, 3, 7);
217 P3 = I31(4, 8);
218 if (MUR) {
219 P0 = I31(4, 3);
220 P1 = IC(4);
221 } else {
222 P0 = I521(4, 1, 3);
223 P1 = I332(1, 5, 4);
224 }
225} break;
226case 24 :
227case 66 :
228{
229 P0 = I31(4, 0);
230 P1 = I31(4, 2);
231 P2 = I31(4, 6);
232 P3 = I31(4, 8);
233} break;
234case 25 :
235{
236 P0 = I31(4, 1);
237 P1 = I31(4, 2);
238 P2 = I31(4, 6);
239 P3 = I31(4, 8);
240} break;
241case 26 :
242case 31 :
243case 95 :
244{
245 P2 = I31(4, 6);
246 P3 = I31(4, 8);
247 if (MUL) {
248 P0 = IC(4);
249 } else {
250 P0 = I211(4, 1, 3);
251 }
252 if (MUR) {
253 P1 = IC(4);
254 } else {
255 P1 = I211(4, 1, 5);
256 }
257} break;
258case 27 :
259case 75 :
260{
261 P1 = I31(4, 2);
262 P2 = I31(4, 6);
263 P3 = I31(4, 8);
264 if (MUL) {
265 P0 = IC(4);
266 } else {
267 P0 = I211(4, 1, 3);
268 }
269} break;
270case 28 :
271{
272 P0 = I31(4, 0);
273 P1 = I31(4, 1);
274 P2 = I31(4, 6);
275 P3 = I31(4, 8);
276} break;
277case 29 :
278{
279 P0 = I31(4, 1);
280 P1 = I31(4, 1);
281 P2 = I31(4, 6);
282 P3 = I31(4, 8);
283} break;
284case 30 :
285case 86 :
286{
287 P0 = I31(4, 0);
288 P2 = I31(4, 6);
289 P3 = I31(4, 8);
290 if (MUR) {
291 P1 = IC(4);
292 } else {
293 P1 = I211(4, 1, 5);
294 }
295} break;
296case 40 :
297case 44 :
298case 168 :
299case 172 :
300{
301 P0 = I31(4, 0);
302 P1 = I211(4, 1, 5);
303 P2 = I31(4, 7);
304 P3 = I211(4, 5, 7);
305} break;
306case 41 :
307case 45 :
308case 169 :
309case 173 :
310{
311 P0 = I31(4, 1);
312 P1 = I211(4, 1, 5);
313 P2 = I31(4, 7);
314 P3 = I211(4, 5, 7);
315} break;
316case 42 :
317case 170 :
318{
319 P1 = I31(4, 2);
320 P3 = I211(4, 5, 7);
321 if (MUL) {
322 P0 = I31(4, 0);
323 P2 = I31(4, 7);
324 } else {
325 P0 = I332(1, 3, 4);
326 P2 = I521(4, 3, 7);
327 }
328} break;
329case 43 :
330case 171 :
331{
332 P1 = I31(4, 2);
333 P3 = I211(4, 5, 7);
334 if (MUL) {
335 P0 = IC(4);
336 P2 = I31(4, 7);
337 } else {
338 P0 = I332(1, 3, 4);
339 P2 = I521(4, 3, 7);
340 }
341} break;
342case 46 :
343case 174 :
344{
345 P1 = I31(4, 5);
346 P2 = I31(4, 7);
347 P3 = I211(4, 5, 7);
348 if (MUL) {
349 P0 = I31(4, 0);
350 } else {
351 P0 = I611(4, 1, 3);
352 }
353} break;
354case 47 :
355case 175 :
356{
357 P1 = I31(4, 5);
358 P2 = I31(4, 7);
359 P3 = I211(4, 5, 7);
360 if (MUL) {
361 P0 = IC(4);
362 } else {
363 P0 = I1411(4, 1, 3);
364 }
365} break;
366case 56 :
367{
368 P0 = I31(4, 0);
369 P1 = I31(4, 2);
370 P2 = I31(4, 7);
371 P3 = I31(4, 8);
372} break;
373case 57 :
374{
375 P0 = I31(4, 1);
376 P1 = I31(4, 2);
377 P2 = I31(4, 7);
378 P3 = I31(4, 8);
379} break;
380case 58 :
381{
382 P2 = I31(4, 7);
383 P3 = I31(4, 8);
384 if (MUL) {
385 P0 = I31(4, 0);
386 } else {
387 P0 = I611(4, 1, 3);
388 }
389 if (MUR) {
390 P1 = I31(4, 2);
391 } else {
392 P1 = I611(4, 1, 5);
393 }
394} break;
395case 59 :
396{
397 P2 = I31(4, 7);
398 P3 = I31(4, 8);
399 if (MUL) {
400 P0 = IC(4);
401 } else {
402 P0 = I211(4, 1, 3);
403 }
404 if (MUR) {
405 P1 = I31(4, 2);
406 } else {
407 P1 = I611(4, 1, 5);
408 }
409} break;
410case 60 :
411{
412 P0 = I31(4, 0);
413 P1 = I31(4, 1);
414 P2 = I31(4, 7);
415 P3 = I31(4, 8);
416} break;
417case 61 :
418{
419 P0 = I31(4, 1);
420 P1 = I31(4, 1);
421 P2 = I31(4, 7);
422 P3 = I31(4, 8);
423} break;
424case 62 :
425{
426 P0 = I31(4, 0);
427 P2 = I31(4, 7);
428 P3 = I31(4, 8);
429 if (MUR) {
430 P1 = IC(4);
431 } else {
432 P1 = I211(4, 1, 5);
433 }
434} break;
435case 63 :
436{
437 P2 = I31(4, 7);
438 P3 = I31(4, 8);
439 if (MUL) {
440 P0 = IC(4);
441 } else {
442 P0 = I1411(4, 1, 3);
443 }
444 if (MUR) {
445 P1 = IC(4);
446 } else {
447 P1 = I211(4, 1, 5);
448 }
449} break;
450case 64 :
451case 65 :
452case 68 :
453case 69 :
454{
455 P0 = I211(4, 1, 3);
456 P1 = I211(4, 1, 5);
457 P2 = I31(4, 6);
458 P3 = I31(4, 8);
459} break;
460case 67 :
461{
462 P0 = I31(4, 3);
463 P1 = I31(4, 2);
464 P2 = I31(4, 6);
465 P3 = I31(4, 8);
466} break;
467case 70 :
468{
469 P0 = I31(4, 0);
470 P1 = I31(4, 5);
471 P2 = I31(4, 6);
472 P3 = I31(4, 8);
473} break;
474case 71 :
475{
476 P0 = I31(4, 3);
477 P1 = I31(4, 5);
478 P2 = I31(4, 6);
479 P3 = I31(4, 8);
480} break;
481case 72 :
482case 76 :
483{
484 P0 = I31(4, 0);
485 P1 = I211(4, 1, 5);
486 P3 = I31(4, 8);
487 if (MDL) {
488 P2 = I31(4, 6);
489 } else {
490 P2 = I211(4, 3, 7);
491 }
492} break;
493case 73 :
494case 77 :
495{
496 P1 = I211(4, 1, 5);
497 P3 = I31(4, 8);
498 if (MDL) {
499 P0 = I31(4, 1);
500 P2 = I31(4, 6);
501 } else {
502 P0 = I521(4, 3, 1);
503 P2 = I332(3, 7, 4);
504 }
505} break;
506case 74 :
507case 107 :
508case 123 :
509{
510 P1 = I31(4, 2);
511 P3 = I31(4, 8);
512 if (MDL) {
513 P2 = IC(4);
514 } else {
515 P2 = I211(4, 3, 7);
516 }
517 if (MUL) {
518 P0 = IC(4);
519 } else {
520 P0 = I211(4, 1, 3);
521 }
522} break;
523case 78 :
524{
525 P1 = I31(4, 5);
526 P3 = I31(4, 8);
527 if (MDL) {
528 P2 = I31(4, 6);
529 } else {
530 P2 = I611(4, 3, 7);
531 }
532 if (MUL) {
533 P0 = I31(4, 0);
534 } else {
535 P0 = I611(4, 1, 3);
536 }
537} break;
538case 79 :
539{
540 P1 = I31(4, 5);
541 P3 = I31(4, 8);
542 if (MDL) {
543 P2 = I31(4, 6);
544 } else {
545 P2 = I611(4, 3, 7);
546 }
547 if (MUL) {
548 P0 = IC(4);
549 } else {
550 P0 = I211(4, 1, 3);
551 }
552} break;
553case 80 :
554case 81 :
555{
556 P0 = I211(4, 1, 3);
557 P1 = I31(4, 2);
558 P2 = I31(4, 6);
559 if (MDR) {
560 P3 = I31(4, 8);
561 } else {
562 P3 = I211(4, 5, 7);
563 }
564} break;
565case 82 :
566case 214 :
567case 222 :
568{
569 P0 = I31(4, 0);
570 P2 = I31(4, 6);
571 if (MDR) {
572 P3 = IC(4);
573 } else {
574 P3 = I211(4, 5, 7);
575 }
576 if (MUR) {
577 P1 = IC(4);
578 } else {
579 P1 = I211(4, 1, 5);
580 }
581} break;
582case 83 :
583{
584 P0 = I31(4, 3);
585 P2 = I31(4, 6);
586 if (MDR) {
587 P3 = I31(4, 8);
588 } else {
589 P3 = I611(4, 5, 7);
590 }
591 if (MUR) {
592 P1 = I31(4, 2);
593 } else {
594 P1 = I611(4, 1, 5);
595 }
596} break;
597case 84 :
598case 85 :
599{
600 P0 = I211(4, 1, 3);
601 P2 = I31(4, 6);
602 if (MDR) {
603 P1 = I31(4, 1);
604 P3 = I31(4, 8);
605 } else {
606 P1 = I521(4, 5, 1);
607 P3 = I332(5, 7, 4);
608 }
609} break;
610case 87 :
611{
612 P0 = I31(4, 3);
613 P2 = I31(4, 6);
614 if (MDR) {
615 P3 = I31(4, 8);
616 } else {
617 P3 = I611(4, 5, 7);
618 }
619 if (MUR) {
620 P1 = IC(4);
621 } else {
622 P1 = I211(4, 1, 5);
623 }
624} break;
625case 88 :
626case 248 :
627case 250 :
628{
629 P0 = I31(4, 0);
630 P1 = I31(4, 2);
631 if (MDL) {
632 P2 = IC(4);
633 } else {
634 P2 = I211(4, 3, 7);
635 }
636 if (MDR) {
637 P3 = IC(4);
638 } else {
639 P3 = I211(4, 5, 7);
640 }
641} break;
642case 89 :
643{
644 P0 = I31(4, 1);
645 P1 = I31(4, 2);
646 if (MDL) {
647 P2 = I31(4, 6);
648 } else {
649 P2 = I611(4, 3, 7);
650 }
651 if (MDR) {
652 P3 = I31(4, 8);
653 } else {
654 P3 = I611(4, 5, 7);
655 }
656} break;
657case 90 :
658{
659 if (MDL) {
660 P2 = I31(4, 6);
661 } else {
662 P2 = I611(4, 3, 7);
663 }
664 if (MDR) {
665 P3 = I31(4, 8);
666 } else {
667 P3 = I611(4, 5, 7);
668 }
669 if (MUL) {
670 P0 = I31(4, 0);
671 } else {
672 P0 = I611(4, 1, 3);
673 }
674 if (MUR) {
675 P1 = I31(4, 2);
676 } else {
677 P1 = I611(4, 1, 5);
678 }
679} break;
680case 91 :
681{
682 if (MDL) {
683 P2 = I31(4, 6);
684 } else {
685 P2 = I611(4, 3, 7);
686 }
687 if (MDR) {
688 P3 = I31(4, 8);
689 } else {
690 P3 = I611(4, 5, 7);
691 }
692 if (MUL) {
693 P0 = IC(4);
694 } else {
695 P0 = I211(4, 1, 3);
696 }
697 if (MUR) {
698 P1 = I31(4, 2);
699 } else {
700 P1 = I611(4, 1, 5);
701 }
702} break;
703case 92 :
704{
705 P0 = I31(4, 0);
706 P1 = I31(4, 1);
707 if (MDL) {
708 P2 = I31(4, 6);
709 } else {
710 P2 = I611(4, 3, 7);
711 }
712 if (MDR) {
713 P3 = I31(4, 8);
714 } else {
715 P3 = I611(4, 5, 7);
716 }
717} break;
718case 93 :
719{
720 P0 = I31(4, 1);
721 P1 = I31(4, 1);
722 if (MDL) {
723 P2 = I31(4, 6);
724 } else {
725 P2 = I611(4, 3, 7);
726 }
727 if (MDR) {
728 P3 = I31(4, 8);
729 } else {
730 P3 = I611(4, 5, 7);
731 }
732} break;
733case 94 :
734{
735 if (MDL) {
736 P2 = I31(4, 6);
737 } else {
738 P2 = I611(4, 3, 7);
739 }
740 if (MDR) {
741 P3 = I31(4, 8);
742 } else {
743 P3 = I611(4, 5, 7);
744 }
745 if (MUL) {
746 P0 = I31(4, 0);
747 } else {
748 P0 = I611(4, 1, 3);
749 }
750 if (MUR) {
751 P1 = IC(4);
752 } else {
753 P1 = I211(4, 1, 5);
754 }
755} break;
756case 96 :
757case 97 :
758case 100 :
759case 101 :
760{
761 P0 = I211(4, 1, 3);
762 P1 = I211(4, 1, 5);
763 P2 = I31(4, 3);
764 P3 = I31(4, 8);
765} break;
766case 98 :
767{
768 P0 = I31(4, 0);
769 P1 = I31(4, 2);
770 P2 = I31(4, 3);
771 P3 = I31(4, 8);
772} break;
773case 99 :
774{
775 P0 = I31(4, 3);
776 P1 = I31(4, 2);
777 P2 = I31(4, 3);
778 P3 = I31(4, 8);
779} break;
780case 102 :
781{
782 P0 = I31(4, 0);
783 P1 = I31(4, 5);
784 P2 = I31(4, 3);
785 P3 = I31(4, 8);
786} break;
787case 103 :
788{
789 P0 = I31(4, 3);
790 P1 = I31(4, 5);
791 P2 = I31(4, 3);
792 P3 = I31(4, 8);
793} break;
794case 104 :
795case 108 :
796{
797 P0 = I31(4, 0);
798 P1 = I211(4, 1, 5);
799 P3 = I31(4, 8);
800 if (MDL) {
801 P2 = IC(4);
802 } else {
803 P2 = I211(4, 3, 7);
804 }
805} break;
806case 105 :
807case 109 :
808{
809 P1 = I211(4, 1, 5);
810 P3 = I31(4, 8);
811 if (MDL) {
812 P0 = I31(4, 1);
813 P2 = IC(4);
814 } else {
815 P0 = I521(4, 3, 1);
816 P2 = I332(3, 7, 4);
817 }
818} break;
819case 106 :
820case 120 :
821{
822 P0 = I31(4, 0);
823 P1 = I31(4, 2);
824 P3 = I31(4, 8);
825 if (MDL) {
826 P2 = IC(4);
827 } else {
828 P2 = I211(4, 3, 7);
829 }
830} break;
831case 110 :
832{
833 P0 = I31(4, 0);
834 P1 = I31(4, 5);
835 P3 = I31(4, 8);
836 if (MDL) {
837 P2 = IC(4);
838 } else {
839 P2 = I211(4, 3, 7);
840 }
841} break;
842case 111 :
843{
844 P1 = I31(4, 5);
845 P3 = I31(4, 8);
846 if (MDL) {
847 P2 = IC(4);
848 } else {
849 P2 = I211(4, 3, 7);
850 }
851 if (MUL) {
852 P0 = IC(4);
853 } else {
854 P0 = I1411(4, 1, 3);
855 }
856} break;
857case 112 :
858case 113 :
859{
860 P0 = I211(4, 1, 3);
861 P1 = I31(4, 2);
862 if (MDR) {
863 P2 = I31(4, 3);
864 P3 = I31(4, 8);
865 } else {
866 P2 = I521(4, 7, 3);
867 P3 = I332(5, 7, 4);
868 }
869} break;
870case 114 :
871{
872 P0 = I31(4, 0);
873 P2 = I31(4, 3);
874 if (MDR) {
875 P3 = I31(4, 8);
876 } else {
877 P3 = I611(4, 5, 7);
878 }
879 if (MUR) {
880 P1 = I31(4, 2);
881 } else {
882 P1 = I611(4, 1, 5);
883 }
884} break;
885case 115 :
886{
887 P0 = I31(4, 3);
888 P2 = I31(4, 3);
889 if (MDR) {
890 P3 = I31(4, 8);
891 } else {
892 P3 = I611(4, 5, 7);
893 }
894 if (MUR) {
895 P1 = I31(4, 2);
896 } else {
897 P1 = I611(4, 1, 5);
898 }
899} break;
900case 116 :
901case 117 :
902{
903 P0 = I211(4, 1, 3);
904 P1 = I31(4, 1);
905 P2 = I31(4, 3);
906 if (MDR) {
907 P3 = I31(4, 8);
908 } else {
909 P3 = I611(4, 5, 7);
910 }
911} break;
912case 118 :
913{
914 P0 = I31(4, 0);
915 P2 = I31(4, 3);
916 P3 = I31(4, 8);
917 if (MUR) {
918 P1 = IC(4);
919 } else {
920 P1 = I211(4, 1, 5);
921 }
922} break;
923case 119 :
924{
925 P2 = I31(4, 3);
926 P3 = I31(4, 8);
927 if (MUR) {
928 P0 = I31(4, 3);
929 P1 = IC(4);
930 } else {
931 P0 = I521(4, 1, 3);
932 P1 = I332(1, 5, 4);
933 }
934} break;
935case 121 :
936{
937 P0 = I31(4, 1);
938 P1 = I31(4, 2);
939 if (MDL) {
940 P2 = IC(4);
941 } else {
942 P2 = I211(4, 3, 7);
943 }
944 if (MDR) {
945 P3 = I31(4, 8);
946 } else {
947 P3 = I611(4, 5, 7);
948 }
949} break;
950case 122 :
951{
952 if (MDL) {
953 P2 = IC(4);
954 } else {
955 P2 = I211(4, 3, 7);
956 }
957 if (MDR) {
958 P3 = I31(4, 8);
959 } else {
960 P3 = I611(4, 5, 7);
961 }
962 if (MUL) {
963 P0 = I31(4, 0);
964 } else {
965 P0 = I611(4, 1, 3);
966 }
967 if (MUR) {
968 P1 = I31(4, 2);
969 } else {
970 P1 = I611(4, 1, 5);
971 }
972} break;
973case 124 :
974{
975 P0 = I31(4, 0);
976 P1 = I31(4, 1);
977 P3 = I31(4, 8);
978 if (MDL) {
979 P2 = IC(4);
980 } else {
981 P2 = I211(4, 3, 7);
982 }
983} break;
984case 125 :
985{
986 P1 = I31(4, 1);
987 P3 = I31(4, 8);
988 if (MDL) {
989 P0 = I31(4, 1);
990 P2 = IC(4);
991 } else {
992 P0 = I521(4, 3, 1);
993 P2 = I332(3, 7, 4);
994 }
995} break;
996case 126 :
997{
998 P0 = I31(4, 0);
999 P3 = I31(4, 8);
1000 if (MDL) {
1001 P2 = IC(4);
1002 } else {
1003 P2 = I211(4, 3, 7);
1004 }
1005 if (MUR) {
1006 P1 = IC(4);
1007 } else {
1008 P1 = I211(4, 1, 5);
1009 }
1010} break;
1011case 127 :
1012{
1013 P3 = I31(4, 8);
1014 if (MDL) {
1015 P2 = IC(4);
1016 } else {
1017 P2 = I211(4, 3, 7);
1018 }
1019 if (MUL) {
1020 P0 = IC(4);
1021 } else {
1022 P0 = I1411(4, 1, 3);
1023 }
1024 if (MUR) {
1025 P1 = IC(4);
1026 } else {
1027 P1 = I211(4, 1, 5);
1028 }
1029} break;
1030case 144 :
1031case 145 :
1032case 176 :
1033case 177 :
1034{
1035 P0 = I211(4, 1, 3);
1036 P1 = I31(4, 2);
1037 P2 = I211(4, 3, 7);
1038 P3 = I31(4, 7);
1039} break;
1040case 146 :
1041case 178 :
1042{
1043 P0 = I31(4, 0);
1044 P2 = I211(4, 3, 7);
1045 if (MUR) {
1046 P1 = I31(4, 2);
1047 P3 = I31(4, 7);
1048 } else {
1049 P1 = I332(1, 5, 4);
1050 P3 = I521(4, 5, 7);
1051 }
1052} break;
1053case 147 :
1054case 179 :
1055{
1056 P0 = I31(4, 3);
1057 P2 = I211(4, 3, 7);
1058 P3 = I31(4, 7);
1059 if (MUR) {
1060 P1 = I31(4, 2);
1061 } else {
1062 P1 = I611(4, 1, 5);
1063 }
1064} break;
1065case 148 :
1066case 149 :
1067case 180 :
1068case 181 :
1069{
1070 P0 = I211(4, 1, 3);
1071 P1 = I31(4, 1);
1072 P2 = I211(4, 3, 7);
1073 P3 = I31(4, 7);
1074} break;
1075case 150 :
1076case 182 :
1077{
1078 P0 = I31(4, 0);
1079 P2 = I211(4, 3, 7);
1080 if (MUR) {
1081 P1 = IC(4);
1082 P3 = I31(4, 7);
1083 } else {
1084 P1 = I332(1, 5, 4);
1085 P3 = I521(4, 5, 7);
1086 }
1087} break;
1088case 151 :
1089case 183 :
1090{
1091 P0 = I31(4, 3);
1092 P2 = I211(4, 3, 7);
1093 P3 = I31(4, 7);
1094 if (MUR) {
1095 P1 = IC(4);
1096 } else {
1097 P1 = I1411(4, 1, 5);
1098 }
1099} break;
1100case 152 :
1101{
1102 P0 = I31(4, 0);
1103 P1 = I31(4, 2);
1104 P2 = I31(4, 6);
1105 P3 = I31(4, 7);
1106} break;
1107case 153 :
1108{
1109 P0 = I31(4, 1);
1110 P1 = I31(4, 2);
1111 P2 = I31(4, 6);
1112 P3 = I31(4, 7);
1113} break;
1114case 154 :
1115{
1116 P2 = I31(4, 6);
1117 P3 = I31(4, 7);
1118 if (MUL) {
1119 P0 = I31(4, 0);
1120 } else {
1121 P0 = I611(4, 1, 3);
1122 }
1123 if (MUR) {
1124 P1 = I31(4, 2);
1125 } else {
1126 P1 = I611(4, 1, 5);
1127 }
1128} break;
1129case 155 :
1130{
1131 P1 = I31(4, 2);
1132 P2 = I31(4, 6);
1133 P3 = I31(4, 7);
1134 if (MUL) {
1135 P0 = IC(4);
1136 } else {
1137 P0 = I211(4, 1, 3);
1138 }
1139} break;
1140case 156 :
1141{
1142 P0 = I31(4, 0);
1143 P1 = I31(4, 1);
1144 P2 = I31(4, 6);
1145 P3 = I31(4, 7);
1146} break;
1147case 157 :
1148{
1149 P0 = I31(4, 1);
1150 P1 = I31(4, 1);
1151 P2 = I31(4, 6);
1152 P3 = I31(4, 7);
1153} break;
1154case 158 :
1155{
1156 P2 = I31(4, 6);
1157 P3 = I31(4, 7);
1158 if (MUL) {
1159 P0 = I31(4, 0);
1160 } else {
1161 P0 = I611(4, 1, 3);
1162 }
1163 if (MUR) {
1164 P1 = IC(4);
1165 } else {
1166 P1 = I211(4, 1, 5);
1167 }
1168} break;
1169case 159 :
1170{
1171 P2 = I31(4, 6);
1172 P3 = I31(4, 7);
1173 if (MUL) {
1174 P0 = IC(4);
1175 } else {
1176 P0 = I211(4, 1, 3);
1177 }
1178 if (MUR) {
1179 P1 = IC(4);
1180 } else {
1181 P1 = I1411(4, 1, 5);
1182 }
1183} break;
1184case 184 :
1185{
1186 P0 = I31(4, 0);
1187 P1 = I31(4, 2);
1188 P2 = I31(4, 7);
1189 P3 = I31(4, 7);
1190} break;
1191case 185 :
1192{
1193 P0 = I31(4, 1);
1194 P1 = I31(4, 2);
1195 P2 = I31(4, 7);
1196 P3 = I31(4, 7);
1197} break;
1198case 186 :
1199{
1200 P2 = I31(4, 7);
1201 P3 = I31(4, 7);
1202 if (MUL) {
1203 P0 = I31(4, 0);
1204 } else {
1205 P0 = I611(4, 1, 3);
1206 }
1207 if (MUR) {
1208 P1 = I31(4, 2);
1209 } else {
1210 P1 = I611(4, 1, 5);
1211 }
1212} break;
1213case 187 :
1214{
1215 P1 = I31(4, 2);
1216 P3 = I31(4, 7);
1217 if (MUL) {
1218 P0 = IC(4);
1219 P2 = I31(4, 7);
1220 } else {
1221 P0 = I332(1, 3, 4);
1222 P2 = I521(4, 3, 7);
1223 }
1224} break;
1225case 188 :
1226{
1227 P0 = I31(4, 0);
1228 P1 = I31(4, 1);
1229 P2 = I31(4, 7);
1230 P3 = I31(4, 7);
1231} break;
1232case 189 :
1233{
1234 P0 = I31(4, 1);
1235 P1 = I31(4, 1);
1236 P2 = I31(4, 7);
1237 P3 = I31(4, 7);
1238} break;
1239case 190 :
1240{
1241 P0 = I31(4, 0);
1242 P2 = I31(4, 7);
1243 if (MUR) {
1244 P1 = IC(4);
1245 P3 = I31(4, 7);
1246 } else {
1247 P1 = I332(1, 5, 4);
1248 P3 = I521(4, 5, 7);
1249 }
1250} break;
1251case 191 :
1252{
1253 P2 = I31(4, 7);
1254 P3 = I31(4, 7);
1255 if (MUL) {
1256 P0 = IC(4);
1257 } else {
1258 P0 = I1411(4, 1, 3);
1259 }
1260 if (MUR) {
1261 P1 = IC(4);
1262 } else {
1263 P1 = I1411(4, 1, 5);
1264 }
1265} break;
1266case 192 :
1267case 193 :
1268case 196 :
1269case 197 :
1270{
1271 P0 = I211(4, 1, 3);
1272 P1 = I211(4, 1, 5);
1273 P2 = I31(4, 6);
1274 P3 = I31(4, 5);
1275} break;
1276case 194 :
1277{
1278 P0 = I31(4, 0);
1279 P1 = I31(4, 2);
1280 P2 = I31(4, 6);
1281 P3 = I31(4, 5);
1282} break;
1283case 195 :
1284{
1285 P0 = I31(4, 3);
1286 P1 = I31(4, 2);
1287 P2 = I31(4, 6);
1288 P3 = I31(4, 5);
1289} break;
1290case 198 :
1291{
1292 P0 = I31(4, 0);
1293 P1 = I31(4, 5);
1294 P2 = I31(4, 6);
1295 P3 = I31(4, 5);
1296} break;
1297case 199 :
1298{
1299 P0 = I31(4, 3);
1300 P1 = I31(4, 5);
1301 P2 = I31(4, 6);
1302 P3 = I31(4, 5);
1303} break;
1304case 200 :
1305case 204 :
1306{
1307 P0 = I31(4, 0);
1308 P1 = I211(4, 1, 5);
1309 if (MDL) {
1310 P2 = I31(4, 6);
1311 P3 = I31(4, 5);
1312 } else {
1313 P2 = I332(3, 7, 4);
1314 P3 = I521(4, 7, 5);
1315 }
1316} break;
1317case 201 :
1318case 205 :
1319{
1320 P0 = I31(4, 1);
1321 P1 = I211(4, 1, 5);
1322 P3 = I31(4, 5);
1323 if (MDL) {
1324 P2 = I31(4, 6);
1325 } else {
1326 P2 = I611(4, 3, 7);
1327 }
1328} break;
1329case 202 :
1330{
1331 P1 = I31(4, 2);
1332 P3 = I31(4, 5);
1333 if (MDL) {
1334 P2 = I31(4, 6);
1335 } else {
1336 P2 = I611(4, 3, 7);
1337 }
1338 if (MUL) {
1339 P0 = I31(4, 0);
1340 } else {
1341 P0 = I611(4, 1, 3);
1342 }
1343} break;
1344case 203 :
1345{
1346 P1 = I31(4, 2);
1347 P2 = I31(4, 6);
1348 P3 = I31(4, 5);
1349 if (MUL) {
1350 P0 = IC(4);
1351 } else {
1352 P0 = I211(4, 1, 3);
1353 }
1354} break;
1355case 206 :
1356{
1357 P1 = I31(4, 5);
1358 P3 = I31(4, 5);
1359 if (MDL) {
1360 P2 = I31(4, 6);
1361 } else {
1362 P2 = I611(4, 3, 7);
1363 }
1364 if (MUL) {
1365 P0 = I31(4, 0);
1366 } else {
1367 P0 = I611(4, 1, 3);
1368 }
1369} break;
1370case 207 :
1371{
1372 P2 = I31(4, 6);
1373 P3 = I31(4, 5);
1374 if (MUL) {
1375 P0 = IC(4);
1376 P1 = I31(4, 5);
1377 } else {
1378 P0 = I332(1, 3, 4);
1379 P1 = I521(4, 1, 5);
1380 }
1381} break;
1382case 208 :
1383case 209 :
1384{
1385 P0 = I211(4, 1, 3);
1386 P1 = I31(4, 2);
1387 P2 = I31(4, 6);
1388 if (MDR) {
1389 P3 = IC(4);
1390 } else {
1391 P3 = I211(4, 5, 7);
1392 }
1393} break;
1394case 210 :
1395case 216 :
1396{
1397 P0 = I31(4, 0);
1398 P1 = I31(4, 2);
1399 P2 = I31(4, 6);
1400 if (MDR) {
1401 P3 = IC(4);
1402 } else {
1403 P3 = I211(4, 5, 7);
1404 }
1405} break;
1406case 211 :
1407{
1408 P0 = I31(4, 3);
1409 P1 = I31(4, 2);
1410 P2 = I31(4, 6);
1411 if (MDR) {
1412 P3 = IC(4);
1413 } else {
1414 P3 = I211(4, 5, 7);
1415 }
1416} break;
1417case 212 :
1418case 213 :
1419{
1420 P0 = I211(4, 1, 3);
1421 P2 = I31(4, 6);
1422 if (MDR) {
1423 P1 = I31(4, 1);
1424 P3 = IC(4);
1425 } else {
1426 P1 = I521(4, 5, 1);
1427 P3 = I332(5, 7, 4);
1428 }
1429} break;
1430case 215 :
1431{
1432 P0 = I31(4, 3);
1433 P2 = I31(4, 6);
1434 if (MDR) {
1435 P3 = IC(4);
1436 } else {
1437 P3 = I211(4, 5, 7);
1438 }
1439 if (MUR) {
1440 P1 = IC(4);
1441 } else {
1442 P1 = I1411(4, 1, 5);
1443 }
1444} break;
1445case 217 :
1446{
1447 P0 = I31(4, 1);
1448 P1 = I31(4, 2);
1449 P2 = I31(4, 6);
1450 if (MDR) {
1451 P3 = IC(4);
1452 } else {
1453 P3 = I211(4, 5, 7);
1454 }
1455} break;
1456case 218 :
1457{
1458 if (MDL) {
1459 P2 = I31(4, 6);
1460 } else {
1461 P2 = I611(4, 3, 7);
1462 }
1463 if (MDR) {
1464 P3 = IC(4);
1465 } else {
1466 P3 = I211(4, 5, 7);
1467 }
1468 if (MUL) {
1469 P0 = I31(4, 0);
1470 } else {
1471 P0 = I611(4, 1, 3);
1472 }
1473 if (MUR) {
1474 P1 = I31(4, 2);
1475 } else {
1476 P1 = I611(4, 1, 5);
1477 }
1478} break;
1479case 219 :
1480{
1481 P1 = I31(4, 2);
1482 P2 = I31(4, 6);
1483 if (MDR) {
1484 P3 = IC(4);
1485 } else {
1486 P3 = I211(4, 5, 7);
1487 }
1488 if (MUL) {
1489 P0 = IC(4);
1490 } else {
1491 P0 = I211(4, 1, 3);
1492 }
1493} break;
1494case 220 :
1495{
1496 P0 = I31(4, 0);
1497 P1 = I31(4, 1);
1498 if (MDL) {
1499 P2 = I31(4, 6);
1500 } else {
1501 P2 = I611(4, 3, 7);
1502 }
1503 if (MDR) {
1504 P3 = IC(4);
1505 } else {
1506 P3 = I211(4, 5, 7);
1507 }
1508} break;
1509case 221 :
1510{
1511 P0 = I31(4, 1);
1512 P2 = I31(4, 6);
1513 if (MDR) {
1514 P1 = I31(4, 1);
1515 P3 = IC(4);
1516 } else {
1517 P1 = I521(4, 5, 1);
1518 P3 = I332(5, 7, 4);
1519 }
1520} break;
1521case 223 :
1522{
1523 P2 = I31(4, 6);
1524 if (MDR) {
1525 P3 = IC(4);
1526 } else {
1527 P3 = I211(4, 5, 7);
1528 }
1529 if (MUL) {
1530 P0 = IC(4);
1531 } else {
1532 P0 = I211(4, 1, 3);
1533 }
1534 if (MUR) {
1535 P1 = IC(4);
1536 } else {
1537 P1 = I1411(4, 1, 5);
1538 }
1539} break;
1540case 224 :
1541case 225 :
1542case 228 :
1543case 229 :
1544{
1545 P0 = I211(4, 1, 3);
1546 P1 = I211(4, 1, 5);
1547 P2 = I31(4, 3);
1548 P3 = I31(4, 5);
1549} break;
1550case 226 :
1551{
1552 P0 = I31(4, 0);
1553 P1 = I31(4, 2);
1554 P2 = I31(4, 3);
1555 P3 = I31(4, 5);
1556} break;
1557case 227 :
1558{
1559 P0 = I31(4, 3);
1560 P1 = I31(4, 2);
1561 P2 = I31(4, 3);
1562 P3 = I31(4, 5);
1563} break;
1564case 230 :
1565{
1566 P0 = I31(4, 0);
1567 P1 = I31(4, 5);
1568 P2 = I31(4, 3);
1569 P3 = I31(4, 5);
1570} break;
1571case 231 :
1572{
1573 P0 = I31(4, 3);
1574 P1 = I31(4, 5);
1575 P2 = I31(4, 3);
1576 P3 = I31(4, 5);
1577} break;
1578case 232 :
1579case 236 :
1580{
1581 P0 = I31(4, 0);
1582 P1 = I211(4, 1, 5);
1583 if (MDL) {
1584 P2 = IC(4);
1585 P3 = I31(4, 5);
1586 } else {
1587 P2 = I332(3, 7, 4);
1588 P3 = I521(4, 7, 5);
1589 }
1590} break;
1591case 233 :
1592case 237 :
1593{
1594 P0 = I31(4, 1);
1595 P1 = I211(4, 1, 5);
1596 P3 = I31(4, 5);
1597 if (MDL) {
1598 P2 = IC(4);
1599 } else {
1600 P2 = I1411(4, 3, 7);
1601 }
1602} break;
1603case 234 :
1604{
1605 P1 = I31(4, 2);
1606 P3 = I31(4, 5);
1607 if (MDL) {
1608 P2 = IC(4);
1609 } else {
1610 P2 = I211(4, 3, 7);
1611 }
1612 if (MUL) {
1613 P0 = I31(4, 0);
1614 } else {
1615 P0 = I611(4, 1, 3);
1616 }
1617} break;
1618case 235 :
1619{
1620 P1 = I31(4, 2);
1621 P3 = I31(4, 5);
1622 if (MDL) {
1623 P2 = IC(4);
1624 } else {
1625 P2 = I1411(4, 3, 7);
1626 }
1627 if (MUL) {
1628 P0 = IC(4);
1629 } else {
1630 P0 = I211(4, 1, 3);
1631 }
1632} break;
1633case 238 :
1634{
1635 P0 = I31(4, 0);
1636 P1 = I31(4, 5);
1637 if (MDL) {
1638 P2 = IC(4);
1639 P3 = I31(4, 5);
1640 } else {
1641 P2 = I332(3, 7, 4);
1642 P3 = I521(4, 7, 5);
1643 }
1644} break;
1645case 239 :
1646{
1647 P1 = I31(4, 5);
1648 P3 = I31(4, 5);
1649 if (MDL) {
1650 P2 = IC(4);
1651 } else {
1652 P2 = I1411(4, 3, 7);
1653 }
1654 if (MUL) {
1655 P0 = IC(4);
1656 } else {
1657 P0 = I1411(4, 1, 3);
1658 }
1659} break;
1660case 240 :
1661case 241 :
1662{
1663 P0 = I211(4, 1, 3);
1664 P1 = I31(4, 2);
1665 if (MDR) {
1666 P2 = I31(4, 3);
1667 P3 = IC(4);
1668 } else {
1669 P2 = I521(4, 7, 3);
1670 P3 = I332(5, 7, 4);
1671 }
1672} break;
1673case 242 :
1674{
1675 P0 = I31(4, 0);
1676 P2 = I31(4, 3);
1677 if (MDR) {
1678 P3 = IC(4);
1679 } else {
1680 P3 = I211(4, 5, 7);
1681 }
1682 if (MUR) {
1683 P1 = I31(4, 2);
1684 } else {
1685 P1 = I611(4, 1, 5);
1686 }
1687} break;
1688case 243 :
1689{
1690 P0 = I31(4, 3);
1691 P1 = I31(4, 2);
1692 if (MDR) {
1693 P2 = I31(4, 3);
1694 P3 = IC(4);
1695 } else {
1696 P2 = I521(4, 7, 3);
1697 P3 = I332(5, 7, 4);
1698 }
1699} break;
1700case 244 :
1701case 245 :
1702{
1703 P0 = I211(4, 1, 3);
1704 P1 = I31(4, 1);
1705 P2 = I31(4, 3);
1706 if (MDR) {
1707 P3 = IC(4);
1708 } else {
1709 P3 = I1411(4, 5, 7);
1710 }
1711} break;
1712case 246 :
1713{
1714 P0 = I31(4, 0);
1715 P2 = I31(4, 3);
1716 if (MDR) {
1717 P3 = IC(4);
1718 } else {
1719 P3 = I1411(4, 5, 7);
1720 }
1721 if (MUR) {
1722 P1 = IC(4);
1723 } else {
1724 P1 = I211(4, 1, 5);
1725 }
1726} break;
1727case 247 :
1728{
1729 P0 = I31(4, 3);
1730 P2 = I31(4, 3);
1731 if (MDR) {
1732 P3 = IC(4);
1733 } else {
1734 P3 = I1411(4, 5, 7);
1735 }
1736 if (MUR) {
1737 P1 = IC(4);
1738 } else {
1739 P1 = I1411(4, 1, 5);
1740 }
1741} break;
1742case 249 :
1743{
1744 P0 = I31(4, 1);
1745 P1 = I31(4, 2);
1746 if (MDL) {
1747 P2 = IC(4);
1748 } else {
1749 P2 = I1411(4, 3, 7);
1750 }
1751 if (MDR) {
1752 P3 = IC(4);
1753 } else {
1754 P3 = I211(4, 5, 7);
1755 }
1756} break;
1757case 251 :
1758{
1759 P1 = I31(4, 2);
1760 if (MDL) {
1761 P2 = IC(4);
1762 } else {
1763 P2 = I1411(4, 3, 7);
1764 }
1765 if (MDR) {
1766 P3 = IC(4);
1767 } else {
1768 P3 = I211(4, 5, 7);
1769 }
1770 if (MUL) {
1771 P0 = IC(4);
1772 } else {
1773 P0 = I211(4, 1, 3);
1774 }
1775} break;
1776case 252 :
1777{
1778 P0 = I31(4, 0);
1779 P1 = I31(4, 1);
1780 if (MDL) {
1781 P2 = IC(4);
1782 } else {
1783 P2 = I211(4, 3, 7);
1784 }
1785 if (MDR) {
1786 P3 = IC(4);
1787 } else {
1788 P3 = I1411(4, 5, 7);
1789 }
1790} break;
1791case 253 :
1792{
1793 P0 = I31(4, 1);
1794 P1 = I31(4, 1);
1795 if (MDL) {
1796 P2 = IC(4);
1797 } else {
1798 P2 = I1411(4, 3, 7);
1799 }
1800 if (MDR) {
1801 P3 = IC(4);
1802 } else {
1803 P3 = I1411(4, 5, 7);
1804 }
1805} break;
1806case 254 :
1807{
1808 P0 = I31(4, 0);
1809 if (MDL) {
1810 P2 = IC(4);
1811 } else {
1812 P2 = I211(4, 3, 7);
1813 }
1814 if (MDR) {
1815 P3 = IC(4);
1816 } else {
1817 P3 = I1411(4, 5, 7);
1818 }
1819 if (MUR) {
1820 P1 = IC(4);
1821 } else {
1822 P1 = I211(4, 1, 5);
1823 }
1824} break;
1825case 255 :
1826{
1827 if (MDL) {
1828 P2 = IC(4);
1829 } else {
1830 P2 = I1411(4, 3, 7);
1831 }
1832 if (MDR) {
1833 P3 = IC(4);
1834 } else {
1835 P3 = I1411(4, 5, 7);
1836 }
1837 if (MUL) {
1838 P0 = IC(4);
1839 } else {
1840 P0 = I1411(4, 1, 3);
1841 }
1842 if (MUR) {
1843 P1 = IC(4);
1844 } else {
1845 P1 = I1411(4, 1, 5);
1846 }
1847} break;
1848
1849#undef P0
1850#undef P1
1851#undef P2
1852#undef P3
1853#undef MUR
1854#undef MDR
1855#undef MDL
1856#undef MUL
1857#undef IC
1858#undef I11
1859#undef I211
1860#undef I31
1861#undef I332
1862#undef I431
1863#undef I521
1864#undef I53
1865#undef I611
1866#undef I71
1867#undef I772
1868#undef I97
1869#undef I1411
1870#undef I151