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