d07c171f |
1 | /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * |
2 | * Mupen64plus - TextureFilters_lq2x.h * |
3 | * Mupen64Plus homepage: http://code.google.com/p/mupen64plus/ * |
4 | * Copyright (C) 2003 MaxSt ( maxst@hiend3d.com ) * |
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 2 : |
24 | case 4 : |
25 | case 6 : |
26 | case 8 : |
27 | case 12 : |
28 | case 16 : |
29 | case 20 : |
30 | case 24 : |
31 | case 28 : |
32 | case 32 : |
33 | case 34 : |
34 | case 36 : |
35 | case 38 : |
36 | case 40 : |
37 | case 44 : |
38 | case 48 : |
39 | case 52 : |
40 | case 56 : |
41 | case 60 : |
42 | case 64 : |
43 | case 66 : |
44 | case 68 : |
45 | case 70 : |
46 | case 96 : |
47 | case 98 : |
48 | case 100 : |
49 | case 102 : |
50 | case 128 : |
51 | case 130 : |
52 | case 132 : |
53 | case 134 : |
54 | case 136 : |
55 | case 140 : |
56 | case 144 : |
57 | case 148 : |
58 | case 152 : |
59 | case 156 : |
60 | case 160 : |
61 | case 162 : |
62 | case 164 : |
63 | case 166 : |
64 | case 168 : |
65 | case 172 : |
66 | case 176 : |
67 | case 180 : |
68 | case 184 : |
69 | case 188 : |
70 | case 192 : |
71 | case 194 : |
72 | case 196 : |
73 | case 198 : |
74 | case 224 : |
75 | case 226 : |
76 | case 228 : |
77 | case 230 : |
78 | { |
79 | P0 = IC(0); |
80 | P1 = IC(0); |
81 | P2 = IC(0); |
82 | P3 = IC(0); |
83 | } break; |
84 | case 1 : |
85 | case 5 : |
86 | case 9 : |
87 | case 13 : |
88 | case 17 : |
89 | case 21 : |
90 | case 25 : |
91 | case 29 : |
92 | case 33 : |
93 | case 37 : |
94 | case 41 : |
95 | case 45 : |
96 | case 49 : |
97 | case 53 : |
98 | case 57 : |
99 | case 61 : |
100 | case 65 : |
101 | case 69 : |
102 | case 97 : |
103 | case 101 : |
104 | case 129 : |
105 | case 133 : |
106 | case 137 : |
107 | case 141 : |
108 | case 145 : |
109 | case 149 : |
110 | case 153 : |
111 | case 157 : |
112 | case 161 : |
113 | case 165 : |
114 | case 169 : |
115 | case 173 : |
116 | case 177 : |
117 | case 181 : |
118 | case 185 : |
119 | case 189 : |
120 | case 193 : |
121 | case 197 : |
122 | case 225 : |
123 | case 229 : |
124 | { |
125 | P0 = IC(1); |
126 | P1 = IC(1); |
127 | P2 = IC(1); |
128 | P3 = IC(1); |
129 | } break; |
130 | case 3 : |
131 | case 35 : |
132 | case 67 : |
133 | case 99 : |
134 | case 131 : |
135 | case 163 : |
136 | case 195 : |
137 | case 227 : |
138 | { |
139 | P0 = IC(2); |
140 | P1 = IC(2); |
141 | P2 = IC(2); |
142 | P3 = IC(2); |
143 | } break; |
144 | case 7 : |
145 | case 39 : |
146 | case 71 : |
147 | case 103 : |
148 | case 135 : |
149 | case 167 : |
150 | case 199 : |
151 | case 231 : |
152 | { |
153 | P0 = IC(3); |
154 | P1 = IC(3); |
155 | P2 = IC(3); |
156 | P3 = IC(3); |
157 | } break; |
158 | case 10 : |
159 | case 138 : |
160 | { |
161 | P1 = IC(0); |
162 | P2 = IC(0); |
163 | P3 = IC(0); |
164 | if (HQ2X_MUL) { |
165 | P0 = IC(0); |
166 | } else { |
167 | P0 = I211(0, 1, 3); |
168 | } |
169 | } break; |
170 | case 11 : |
171 | case 27 : |
172 | case 75 : |
173 | case 139 : |
174 | case 155 : |
175 | case 203 : |
176 | { |
177 | P1 = IC(2); |
178 | P2 = IC(2); |
179 | P3 = IC(2); |
180 | if (HQ2X_MUL) { |
181 | P0 = IC(2); |
182 | } else { |
183 | P0 = I211(2, 1, 3); |
184 | } |
185 | } break; |
186 | case 14 : |
187 | case 142 : |
188 | { |
189 | P2 = IC(0); |
190 | P3 = IC(0); |
191 | if (HQ2X_MUL) { |
192 | P0 = IC(0); |
193 | P1 = IC(0); |
194 | } else { |
195 | P0 = I332(1, 3, 0); |
196 | P1 = I31(0, 1); |
197 | } |
198 | } break; |
199 | case 15 : |
200 | case 143 : |
201 | case 207 : |
202 | { |
203 | P2 = IC(4); |
204 | P3 = IC(4); |
205 | if (HQ2X_MUL) { |
206 | P0 = IC(4); |
207 | P1 = IC(4); |
208 | } else { |
209 | P0 = I332(1, 3, 4); |
210 | P1 = I31(4, 1); |
211 | } |
212 | } break; |
213 | case 18 : |
214 | case 22 : |
215 | case 30 : |
216 | case 50 : |
217 | case 54 : |
218 | case 62 : |
219 | case 86 : |
220 | case 118 : |
221 | { |
222 | P0 = IC(0); |
223 | P2 = IC(0); |
224 | P3 = IC(0); |
225 | if (HQ2X_MUR) { |
226 | P1 = IC(0); |
227 | } else { |
228 | P1 = I211(0, 1, 5); |
229 | } |
230 | } break; |
231 | case 19 : |
232 | case 51 : |
233 | { |
234 | P2 = IC(2); |
235 | P3 = IC(2); |
236 | if (HQ2X_MUR) { |
237 | P0 = IC(2); |
238 | P1 = IC(2); |
239 | } else { |
240 | P0 = I31(2, 1); |
241 | P1 = I332(1, 5, 2); |
242 | } |
243 | } break; |
244 | case 23 : |
245 | case 55 : |
246 | case 119 : |
247 | { |
248 | P2 = IC(3); |
249 | P3 = IC(3); |
250 | if (HQ2X_MUR) { |
251 | P0 = IC(3); |
252 | P1 = IC(3); |
253 | } else { |
254 | P0 = I31(3, 1); |
255 | P1 = I332(1, 5, 3); |
256 | } |
257 | } break; |
258 | case 26 : |
259 | { |
260 | P2 = IC(0); |
261 | P3 = IC(0); |
262 | if (HQ2X_MUL) { |
263 | P0 = IC(0); |
264 | } else { |
265 | P0 = I211(0, 1, 3); |
266 | } |
267 | if (HQ2X_MUR) { |
268 | P1 = IC(0); |
269 | } else { |
270 | P1 = I211(0, 1, 5); |
271 | } |
272 | } break; |
273 | case 31 : |
274 | case 95 : |
275 | { |
276 | P2 = IC(4); |
277 | P3 = IC(4); |
278 | if (HQ2X_MUL) { |
279 | P0 = IC(4); |
280 | } else { |
281 | P0 = I211(4, 1, 3); |
282 | } |
283 | if (HQ2X_MUR) { |
284 | P1 = IC(4); |
285 | } else { |
286 | P1 = I211(4, 1, 5); |
287 | } |
288 | } break; |
289 | case 42 : |
290 | case 170 : |
291 | { |
292 | P1 = IC(0); |
293 | P3 = IC(0); |
294 | if (HQ2X_MUL) { |
295 | P0 = IC(0); |
296 | P2 = IC(0); |
297 | } else { |
298 | P0 = I332(1, 3, 0); |
299 | P2 = I31(0, 3); |
300 | } |
301 | } break; |
302 | case 43 : |
303 | case 171 : |
304 | case 187 : |
305 | { |
306 | P1 = IC(2); |
307 | P3 = IC(2); |
308 | if (HQ2X_MUL) { |
309 | P0 = IC(2); |
310 | P2 = IC(2); |
311 | } else { |
312 | P0 = I332(1, 3, 2); |
313 | P2 = I31(2, 3); |
314 | } |
315 | } break; |
316 | case 46 : |
317 | case 174 : |
318 | { |
319 | P1 = IC(0); |
320 | P2 = IC(0); |
321 | P3 = IC(0); |
322 | if (HQ2X_MUL) { |
323 | P0 = IC(0); |
324 | } else { |
325 | P0 = I611(0, 1, 3); |
326 | } |
327 | } break; |
328 | case 47 : |
329 | case 175 : |
330 | { |
331 | P1 = IC(4); |
332 | P2 = IC(4); |
333 | P3 = IC(4); |
334 | if (HQ2X_MUL) { |
335 | P0 = IC(4); |
336 | } else { |
337 | P0 = I1411(4, 1, 3); |
338 | } |
339 | } break; |
340 | case 58 : |
341 | case 154 : |
342 | case 186 : |
343 | { |
344 | P2 = IC(0); |
345 | P3 = IC(0); |
346 | if (HQ2X_MUL) { |
347 | P0 = IC(0); |
348 | } else { |
349 | P0 = I611(0, 1, 3); |
350 | } |
351 | if (HQ2X_MUR) { |
352 | P1 = IC(0); |
353 | } else { |
354 | P1 = I611(0, 1, 5); |
355 | } |
356 | } break; |
357 | case 59 : |
358 | { |
359 | P2 = IC(2); |
360 | P3 = IC(2); |
361 | if (HQ2X_MUL) { |
362 | P0 = IC(2); |
363 | } else { |
364 | P0 = I211(2, 1, 3); |
365 | } |
366 | if (HQ2X_MUR) { |
367 | P1 = IC(2); |
368 | } else { |
369 | P1 = I611(2, 1, 5); |
370 | } |
371 | } break; |
372 | case 63 : |
373 | { |
374 | P2 = IC(4); |
375 | P3 = IC(4); |
376 | if (HQ2X_MUL) { |
377 | P0 = IC(4); |
378 | } else { |
379 | P0 = I1411(4, 1, 3); |
380 | } |
381 | if (HQ2X_MUR) { |
382 | P1 = IC(4); |
383 | } else { |
384 | P1 = I211(4, 1, 5); |
385 | } |
386 | } break; |
387 | case 72 : |
388 | case 76 : |
389 | case 104 : |
390 | case 106 : |
391 | case 108 : |
392 | case 110 : |
393 | case 120 : |
394 | case 124 : |
395 | { |
396 | P0 = IC(0); |
397 | P1 = IC(0); |
398 | P3 = IC(0); |
399 | if (HQ2X_MDL) { |
400 | P2 = IC(0); |
401 | } else { |
402 | P2 = I211(0, 3, 7); |
403 | } |
404 | } break; |
405 | case 73 : |
406 | case 77 : |
407 | case 105 : |
408 | case 109 : |
409 | case 125 : |
410 | { |
411 | P1 = IC(1); |
412 | P3 = IC(1); |
413 | if (HQ2X_MDL) { |
414 | P0 = IC(1); |
415 | P2 = IC(1); |
416 | } else { |
417 | P0 = I31(1, 3); |
418 | P2 = I332(3, 7, 1); |
419 | } |
420 | } break; |
421 | case 74 : |
422 | { |
423 | P1 = IC(0); |
424 | P3 = IC(0); |
425 | if (HQ2X_MDL) { |
426 | P2 = IC(0); |
427 | } else { |
428 | P2 = I211(0, 3, 7); |
429 | } |
430 | if (HQ2X_MUL) { |
431 | P0 = IC(0); |
432 | } else { |
433 | P0 = I211(0, 1, 3); |
434 | } |
435 | } break; |
436 | case 78 : |
437 | case 202 : |
438 | case 206 : |
439 | { |
440 | P1 = IC(0); |
441 | P3 = IC(0); |
442 | if (HQ2X_MDL) { |
443 | P2 = IC(0); |
444 | } else { |
445 | P2 = I611(0, 3, 7); |
446 | } |
447 | if (HQ2X_MUL) { |
448 | P0 = IC(0); |
449 | } else { |
450 | P0 = I611(0, 1, 3); |
451 | } |
452 | } break; |
453 | case 79 : |
454 | { |
455 | P1 = IC(4); |
456 | P3 = IC(4); |
457 | if (HQ2X_MDL) { |
458 | P2 = IC(4); |
459 | } else { |
460 | P2 = I611(4, 3, 7); |
461 | } |
462 | if (HQ2X_MUL) { |
463 | P0 = IC(4); |
464 | } else { |
465 | P0 = I211(4, 1, 3); |
466 | } |
467 | } break; |
468 | case 80 : |
469 | case 208 : |
470 | case 210 : |
471 | case 216 : |
472 | { |
473 | P0 = IC(0); |
474 | P1 = IC(0); |
475 | P2 = IC(0); |
476 | if (HQ2X_MDR) { |
477 | P3 = IC(0); |
478 | } else { |
479 | P3 = I211(0, 5, 7); |
480 | } |
481 | } break; |
482 | case 81 : |
483 | case 209 : |
484 | case 217 : |
485 | { |
486 | P0 = IC(1); |
487 | P1 = IC(1); |
488 | P2 = IC(1); |
489 | if (HQ2X_MDR) { |
490 | P3 = IC(1); |
491 | } else { |
492 | P3 = I211(1, 5, 7); |
493 | } |
494 | } break; |
495 | case 82 : |
496 | case 214 : |
497 | case 222 : |
498 | { |
499 | P0 = IC(0); |
500 | P2 = IC(0); |
501 | if (HQ2X_MDR) { |
502 | P3 = IC(0); |
503 | } else { |
504 | P3 = I211(0, 5, 7); |
505 | } |
506 | if (HQ2X_MUR) { |
507 | P1 = IC(0); |
508 | } else { |
509 | P1 = I211(0, 1, 5); |
510 | } |
511 | } break; |
512 | case 83 : |
513 | case 115 : |
514 | { |
515 | P0 = IC(2); |
516 | P2 = IC(2); |
517 | if (HQ2X_MDR) { |
518 | P3 = IC(2); |
519 | } else { |
520 | P3 = I611(2, 5, 7); |
521 | } |
522 | if (HQ2X_MUR) { |
523 | P1 = IC(2); |
524 | } else { |
525 | P1 = I611(2, 1, 5); |
526 | } |
527 | } break; |
528 | case 84 : |
529 | case 212 : |
530 | { |
531 | P0 = IC(0); |
532 | P2 = IC(0); |
533 | if (HQ2X_MDR) { |
534 | P1 = IC(0); |
535 | P3 = IC(0); |
536 | } else { |
537 | P1 = I31(0, 5); |
538 | P3 = I332(5, 7, 0); |
539 | } |
540 | } break; |
541 | case 85 : |
542 | case 213 : |
543 | case 221 : |
544 | { |
545 | P0 = IC(1); |
546 | P2 = IC(1); |
547 | if (HQ2X_MDR) { |
548 | P1 = IC(1); |
549 | P3 = IC(1); |
550 | } else { |
551 | P1 = I31(1, 5); |
552 | P3 = I332(5, 7, 1); |
553 | } |
554 | } break; |
555 | case 87 : |
556 | { |
557 | P0 = IC(3); |
558 | P2 = IC(3); |
559 | if (HQ2X_MDR) { |
560 | P3 = IC(3); |
561 | } else { |
562 | P3 = I611(3, 5, 7); |
563 | } |
564 | if (HQ2X_MUR) { |
565 | P1 = IC(3); |
566 | } else { |
567 | P1 = I211(3, 1, 5); |
568 | } |
569 | } break; |
570 | case 88 : |
571 | case 248 : |
572 | case 250 : |
573 | { |
574 | P0 = IC(0); |
575 | P1 = IC(0); |
576 | if (HQ2X_MDL) { |
577 | P2 = IC(0); |
578 | } else { |
579 | P2 = I211(0, 3, 7); |
580 | } |
581 | if (HQ2X_MDR) { |
582 | P3 = IC(0); |
583 | } else { |
584 | P3 = I211(0, 5, 7); |
585 | } |
586 | } break; |
587 | case 89 : |
588 | case 93 : |
589 | { |
590 | P0 = IC(1); |
591 | P1 = IC(1); |
592 | if (HQ2X_MDL) { |
593 | P2 = IC(1); |
594 | } else { |
595 | P2 = I611(1, 3, 7); |
596 | } |
597 | if (HQ2X_MDR) { |
598 | P3 = IC(1); |
599 | } else { |
600 | P3 = I611(1, 5, 7); |
601 | } |
602 | } break; |
603 | case 90 : |
604 | { |
605 | if (HQ2X_MDL) { |
606 | P2 = IC(0); |
607 | } else { |
608 | P2 = I611(0, 3, 7); |
609 | } |
610 | if (HQ2X_MDR) { |
611 | P3 = IC(0); |
612 | } else { |
613 | P3 = I611(0, 5, 7); |
614 | } |
615 | if (HQ2X_MUL) { |
616 | P0 = IC(0); |
617 | } else { |
618 | P0 = I611(0, 1, 3); |
619 | } |
620 | if (HQ2X_MUR) { |
621 | P1 = IC(0); |
622 | } else { |
623 | P1 = I611(0, 1, 5); |
624 | } |
625 | } break; |
626 | case 91 : |
627 | { |
628 | if (HQ2X_MDL) { |
629 | P2 = IC(2); |
630 | } else { |
631 | P2 = I611(2, 3, 7); |
632 | } |
633 | if (HQ2X_MDR) { |
634 | P3 = IC(2); |
635 | } else { |
636 | P3 = I611(2, 5, 7); |
637 | } |
638 | if (HQ2X_MUL) { |
639 | P0 = IC(2); |
640 | } else { |
641 | P0 = I211(2, 1, 3); |
642 | } |
643 | if (HQ2X_MUR) { |
644 | P1 = IC(2); |
645 | } else { |
646 | P1 = I611(2, 1, 5); |
647 | } |
648 | } break; |
649 | case 92 : |
650 | { |
651 | P0 = IC(0); |
652 | P1 = IC(0); |
653 | if (HQ2X_MDL) { |
654 | P2 = IC(0); |
655 | } else { |
656 | P2 = I611(0, 3, 7); |
657 | } |
658 | if (HQ2X_MDR) { |
659 | P3 = IC(0); |
660 | } else { |
661 | P3 = I611(0, 5, 7); |
662 | } |
663 | } break; |
664 | case 94 : |
665 | { |
666 | if (HQ2X_MDL) { |
667 | P2 = IC(0); |
668 | } else { |
669 | P2 = I611(0, 3, 7); |
670 | } |
671 | if (HQ2X_MDR) { |
672 | P3 = IC(0); |
673 | } else { |
674 | P3 = I611(0, 5, 7); |
675 | } |
676 | if (HQ2X_MUL) { |
677 | P0 = IC(0); |
678 | } else { |
679 | P0 = I611(0, 1, 3); |
680 | } |
681 | if (HQ2X_MUR) { |
682 | P1 = IC(0); |
683 | } else { |
684 | P1 = I211(0, 1, 5); |
685 | } |
686 | } break; |
687 | case 107 : |
688 | case 123 : |
689 | { |
690 | P1 = IC(2); |
691 | P3 = IC(2); |
692 | if (HQ2X_MDL) { |
693 | P2 = IC(2); |
694 | } else { |
695 | P2 = I211(2, 3, 7); |
696 | } |
697 | if (HQ2X_MUL) { |
698 | P0 = IC(2); |
699 | } else { |
700 | P0 = I211(2, 1, 3); |
701 | } |
702 | } break; |
703 | case 111 : |
704 | { |
705 | P1 = IC(4); |
706 | P3 = IC(4); |
707 | if (HQ2X_MDL) { |
708 | P2 = IC(4); |
709 | } else { |
710 | P2 = I211(4, 3, 7); |
711 | } |
712 | if (HQ2X_MUL) { |
713 | P0 = IC(4); |
714 | } else { |
715 | P0 = I1411(4, 1, 3); |
716 | } |
717 | } break; |
718 | case 112 : |
719 | case 240 : |
720 | { |
721 | P0 = IC(0); |
722 | P1 = IC(0); |
723 | if (HQ2X_MDR) { |
724 | P2 = IC(0); |
725 | P3 = IC(0); |
726 | } else { |
727 | P2 = I31(0, 7); |
728 | P3 = I332(5, 7, 0); |
729 | } |
730 | } break; |
731 | case 113 : |
732 | case 241 : |
733 | { |
734 | P0 = IC(1); |
735 | P1 = IC(1); |
736 | if (HQ2X_MDR) { |
737 | P2 = IC(1); |
738 | P3 = IC(1); |
739 | } else { |
740 | P2 = I31(1, 7); |
741 | P3 = I332(5, 7, 1); |
742 | } |
743 | } break; |
744 | case 114 : |
745 | { |
746 | P0 = IC(0); |
747 | P2 = IC(0); |
748 | if (HQ2X_MDR) { |
749 | P3 = IC(0); |
750 | } else { |
751 | P3 = I611(0, 5, 7); |
752 | } |
753 | if (HQ2X_MUR) { |
754 | P1 = IC(0); |
755 | } else { |
756 | P1 = I611(0, 1, 5); |
757 | } |
758 | } break; |
759 | case 116 : |
760 | { |
761 | P0 = IC(0); |
762 | P1 = IC(0); |
763 | P2 = IC(0); |
764 | if (HQ2X_MDR) { |
765 | P3 = IC(0); |
766 | } else { |
767 | P3 = I611(0, 5, 7); |
768 | } |
769 | } break; |
770 | case 117 : |
771 | { |
772 | P0 = IC(1); |
773 | P1 = IC(1); |
774 | P2 = IC(1); |
775 | if (HQ2X_MDR) { |
776 | P3 = IC(1); |
777 | } else { |
778 | P3 = I611(1, 5, 7); |
779 | } |
780 | } break; |
781 | case 121 : |
782 | { |
783 | P0 = IC(1); |
784 | P1 = IC(1); |
785 | if (HQ2X_MDL) { |
786 | P2 = IC(1); |
787 | } else { |
788 | P2 = I211(1, 3, 7); |
789 | } |
790 | if (HQ2X_MDR) { |
791 | P3 = IC(1); |
792 | } else { |
793 | P3 = I611(1, 5, 7); |
794 | } |
795 | } break; |
796 | case 122 : |
797 | { |
798 | if (HQ2X_MDL) { |
799 | P2 = IC(0); |
800 | } else { |
801 | P2 = I211(0, 3, 7); |
802 | } |
803 | if (HQ2X_MDR) { |
804 | P3 = IC(0); |
805 | } else { |
806 | P3 = I611(0, 5, 7); |
807 | } |
808 | if (HQ2X_MUL) { |
809 | P0 = IC(0); |
810 | } else { |
811 | P0 = I611(0, 1, 3); |
812 | } |
813 | if (HQ2X_MUR) { |
814 | P1 = IC(0); |
815 | } else { |
816 | P1 = I611(0, 1, 5); |
817 | } |
818 | } break; |
819 | case 126 : |
820 | { |
821 | P0 = IC(0); |
822 | P3 = IC(0); |
823 | if (HQ2X_MDL) { |
824 | P2 = IC(0); |
825 | } else { |
826 | P2 = I211(0, 3, 7); |
827 | } |
828 | if (HQ2X_MUR) { |
829 | P1 = IC(0); |
830 | } else { |
831 | P1 = I211(0, 1, 5); |
832 | } |
833 | } break; |
834 | case 127 : |
835 | { |
836 | P3 = IC(4); |
837 | if (HQ2X_MDL) { |
838 | P2 = IC(4); |
839 | } else { |
840 | P2 = I211(4, 3, 7); |
841 | } |
842 | if (HQ2X_MUL) { |
843 | P0 = IC(4); |
844 | } else { |
845 | P0 = I1411(4, 1, 3); |
846 | } |
847 | if (HQ2X_MUR) { |
848 | P1 = IC(4); |
849 | } else { |
850 | P1 = I211(4, 1, 5); |
851 | } |
852 | } break; |
853 | case 146 : |
854 | case 150 : |
855 | case 178 : |
856 | case 182 : |
857 | case 190 : |
858 | { |
859 | P0 = IC(0); |
860 | P2 = IC(0); |
861 | if (HQ2X_MUR) { |
862 | P1 = IC(0); |
863 | P3 = IC(0); |
864 | } else { |
865 | P1 = I332(1, 5, 0); |
866 | P3 = I31(0, 5); |
867 | } |
868 | } break; |
869 | case 147 : |
870 | case 179 : |
871 | { |
872 | P0 = IC(2); |
873 | P2 = IC(2); |
874 | P3 = IC(2); |
875 | if (HQ2X_MUR) { |
876 | P1 = IC(2); |
877 | } else { |
878 | P1 = I611(2, 1, 5); |
879 | } |
880 | } break; |
881 | case 151 : |
882 | case 183 : |
883 | { |
884 | P0 = IC(3); |
885 | P2 = IC(3); |
886 | P3 = IC(3); |
887 | if (HQ2X_MUR) { |
888 | P1 = IC(3); |
889 | } else { |
890 | P1 = I1411(3, 1, 5); |
891 | } |
892 | } break; |
893 | case 158 : |
894 | { |
895 | P2 = IC(0); |
896 | P3 = IC(0); |
897 | if (HQ2X_MUL) { |
898 | P0 = IC(0); |
899 | } else { |
900 | P0 = I611(0, 1, 3); |
901 | } |
902 | if (HQ2X_MUR) { |
903 | P1 = IC(0); |
904 | } else { |
905 | P1 = I211(0, 1, 5); |
906 | } |
907 | } break; |
908 | case 159 : |
909 | { |
910 | P2 = IC(4); |
911 | P3 = IC(4); |
912 | if (HQ2X_MUL) { |
913 | P0 = IC(4); |
914 | } else { |
915 | P0 = I211(4, 1, 3); |
916 | } |
917 | if (HQ2X_MUR) { |
918 | P1 = IC(4); |
919 | } else { |
920 | P1 = I1411(4, 1, 5); |
921 | } |
922 | } break; |
923 | case 191 : |
924 | { |
925 | P2 = IC(4); |
926 | P3 = IC(4); |
927 | if (HQ2X_MUL) { |
928 | P0 = IC(4); |
929 | } else { |
930 | P0 = I1411(4, 1, 3); |
931 | } |
932 | if (HQ2X_MUR) { |
933 | P1 = IC(4); |
934 | } else { |
935 | P1 = I1411(4, 1, 5); |
936 | } |
937 | } break; |
938 | case 200 : |
939 | case 204 : |
940 | case 232 : |
941 | case 236 : |
942 | case 238 : |
943 | { |
944 | P0 = IC(0); |
945 | P1 = IC(0); |
946 | if (HQ2X_MDL) { |
947 | P2 = IC(0); |
948 | P3 = IC(0); |
949 | } else { |
950 | P2 = I332(3, 7, 0); |
951 | P3 = I31(0, 7); |
952 | } |
953 | } break; |
954 | case 201 : |
955 | case 205 : |
956 | { |
957 | P0 = IC(1); |
958 | P1 = IC(1); |
959 | P3 = IC(1); |
960 | if (HQ2X_MDL) { |
961 | P2 = IC(1); |
962 | } else { |
963 | P2 = I611(1, 3, 7); |
964 | } |
965 | } break; |
966 | case 211 : |
967 | { |
968 | P0 = IC(2); |
969 | P1 = IC(2); |
970 | P2 = IC(2); |
971 | if (HQ2X_MDR) { |
972 | P3 = IC(2); |
973 | } else { |
974 | P3 = I211(2, 5, 7); |
975 | } |
976 | } break; |
977 | case 215 : |
978 | { |
979 | P0 = IC(3); |
980 | P2 = IC(3); |
981 | if (HQ2X_MDR) { |
982 | P3 = IC(3); |
983 | } else { |
984 | P3 = I211(3, 5, 7); |
985 | } |
986 | if (HQ2X_MUR) { |
987 | P1 = IC(3); |
988 | } else { |
989 | P1 = I1411(3, 1, 5); |
990 | } |
991 | } break; |
992 | case 218 : |
993 | { |
994 | if (HQ2X_MDL) { |
995 | P2 = IC(0); |
996 | } else { |
997 | P2 = I611(0, 3, 7); |
998 | } |
999 | if (HQ2X_MDR) { |
1000 | P3 = IC(0); |
1001 | } else { |
1002 | P3 = I211(0, 5, 7); |
1003 | } |
1004 | if (HQ2X_MUL) { |
1005 | P0 = IC(0); |
1006 | } else { |
1007 | P0 = I611(0, 1, 3); |
1008 | } |
1009 | if (HQ2X_MUR) { |
1010 | P1 = IC(0); |
1011 | } else { |
1012 | P1 = I611(0, 1, 5); |
1013 | } |
1014 | } break; |
1015 | case 219 : |
1016 | { |
1017 | P1 = IC(2); |
1018 | P2 = IC(2); |
1019 | if (HQ2X_MDR) { |
1020 | P3 = IC(2); |
1021 | } else { |
1022 | P3 = I211(2, 5, 7); |
1023 | } |
1024 | if (HQ2X_MUL) { |
1025 | P0 = IC(2); |
1026 | } else { |
1027 | P0 = I211(2, 1, 3); |
1028 | } |
1029 | } break; |
1030 | case 220 : |
1031 | { |
1032 | P0 = IC(0); |
1033 | P1 = IC(0); |
1034 | if (HQ2X_MDL) { |
1035 | P2 = IC(0); |
1036 | } else { |
1037 | P2 = I611(0, 3, 7); |
1038 | } |
1039 | if (HQ2X_MDR) { |
1040 | P3 = IC(0); |
1041 | } else { |
1042 | P3 = I211(0, 5, 7); |
1043 | } |
1044 | } break; |
1045 | case 223 : |
1046 | { |
1047 | P2 = IC(4); |
1048 | if (HQ2X_MDR) { |
1049 | P3 = IC(4); |
1050 | } else { |
1051 | P3 = I211(4, 5, 7); |
1052 | } |
1053 | if (HQ2X_MUL) { |
1054 | P0 = IC(4); |
1055 | } else { |
1056 | P0 = I211(4, 1, 3); |
1057 | } |
1058 | if (HQ2X_MUR) { |
1059 | P1 = IC(4); |
1060 | } else { |
1061 | P1 = I1411(4, 1, 5); |
1062 | } |
1063 | } break; |
1064 | case 233 : |
1065 | case 237 : |
1066 | { |
1067 | P0 = IC(1); |
1068 | P1 = IC(1); |
1069 | P3 = IC(1); |
1070 | if (HQ2X_MDL) { |
1071 | P2 = IC(1); |
1072 | } else { |
1073 | P2 = I1411(1, 3, 7); |
1074 | } |
1075 | } break; |
1076 | case 234 : |
1077 | { |
1078 | P1 = IC(0); |
1079 | P3 = IC(0); |
1080 | if (HQ2X_MDL) { |
1081 | P2 = IC(0); |
1082 | } else { |
1083 | P2 = I211(0, 3, 7); |
1084 | } |
1085 | if (HQ2X_MUL) { |
1086 | P0 = IC(0); |
1087 | } else { |
1088 | P0 = I611(0, 1, 3); |
1089 | } |
1090 | } break; |
1091 | case 235 : |
1092 | { |
1093 | P1 = IC(2); |
1094 | P3 = IC(2); |
1095 | if (HQ2X_MDL) { |
1096 | P2 = IC(2); |
1097 | } else { |
1098 | P2 = I1411(2, 3, 7); |
1099 | } |
1100 | if (HQ2X_MUL) { |
1101 | P0 = IC(2); |
1102 | } else { |
1103 | P0 = I211(2, 1, 3); |
1104 | } |
1105 | } break; |
1106 | case 239 : |
1107 | { |
1108 | P1 = IC(4); |
1109 | P3 = IC(4); |
1110 | if (HQ2X_MDL) { |
1111 | P2 = IC(4); |
1112 | } else { |
1113 | P2 = I1411(4, 3, 7); |
1114 | } |
1115 | if (HQ2X_MUL) { |
1116 | P0 = IC(4); |
1117 | } else { |
1118 | P0 = I1411(4, 1, 3); |
1119 | } |
1120 | } break; |
1121 | case 242 : |
1122 | { |
1123 | P0 = IC(0); |
1124 | P2 = IC(0); |
1125 | if (HQ2X_MDR) { |
1126 | P3 = IC(0); |
1127 | } else { |
1128 | P3 = I211(0, 5, 7); |
1129 | } |
1130 | if (HQ2X_MUR) { |
1131 | P1 = IC(0); |
1132 | } else { |
1133 | P1 = I611(0, 1, 5); |
1134 | } |
1135 | } break; |
1136 | case 243 : |
1137 | { |
1138 | P0 = IC(2); |
1139 | P1 = IC(2); |
1140 | if (HQ2X_MDR) { |
1141 | P2 = IC(2); |
1142 | P3 = IC(2); |
1143 | } else { |
1144 | P2 = I31(2, 7); |
1145 | P3 = I332(5, 7, 2); |
1146 | } |
1147 | } break; |
1148 | case 244 : |
1149 | { |
1150 | P0 = IC(0); |
1151 | P1 = IC(0); |
1152 | P2 = IC(0); |
1153 | if (HQ2X_MDR) { |
1154 | P3 = IC(0); |
1155 | } else { |
1156 | P3 = I1411(0, 5, 7); |
1157 | } |
1158 | } break; |
1159 | case 245 : |
1160 | { |
1161 | P0 = IC(1); |
1162 | P1 = IC(1); |
1163 | P2 = IC(1); |
1164 | if (HQ2X_MDR) { |
1165 | P3 = IC(1); |
1166 | } else { |
1167 | P3 = I1411(1, 5, 7); |
1168 | } |
1169 | } break; |
1170 | case 246 : |
1171 | { |
1172 | P0 = IC(0); |
1173 | P2 = IC(0); |
1174 | if (HQ2X_MDR) { |
1175 | P3 = IC(0); |
1176 | } else { |
1177 | P3 = I1411(0, 5, 7); |
1178 | } |
1179 | if (HQ2X_MUR) { |
1180 | P1 = IC(0); |
1181 | } else { |
1182 | P1 = I211(0, 1, 5); |
1183 | } |
1184 | } break; |
1185 | case 247 : |
1186 | { |
1187 | P0 = IC(3); |
1188 | P2 = IC(3); |
1189 | if (HQ2X_MDR) { |
1190 | P3 = IC(3); |
1191 | } else { |
1192 | P3 = I1411(3, 5, 7); |
1193 | } |
1194 | if (HQ2X_MUR) { |
1195 | P1 = IC(3); |
1196 | } else { |
1197 | P1 = I1411(3, 1, 5); |
1198 | } |
1199 | } break; |
1200 | case 249 : |
1201 | { |
1202 | P0 = IC(1); |
1203 | P1 = IC(1); |
1204 | if (HQ2X_MDL) { |
1205 | P2 = IC(1); |
1206 | } else { |
1207 | P2 = I1411(1, 3, 7); |
1208 | } |
1209 | if (HQ2X_MDR) { |
1210 | P3 = IC(1); |
1211 | } else { |
1212 | P3 = I211(1, 5, 7); |
1213 | } |
1214 | } break; |
1215 | case 251 : |
1216 | { |
1217 | P1 = IC(2); |
1218 | if (HQ2X_MDL) { |
1219 | P2 = IC(2); |
1220 | } else { |
1221 | P2 = I1411(2, 3, 7); |
1222 | } |
1223 | if (HQ2X_MDR) { |
1224 | P3 = IC(2); |
1225 | } else { |
1226 | P3 = I211(2, 5, 7); |
1227 | } |
1228 | if (HQ2X_MUL) { |
1229 | P0 = IC(2); |
1230 | } else { |
1231 | P0 = I211(2, 1, 3); |
1232 | } |
1233 | } break; |
1234 | case 252 : |
1235 | { |
1236 | P0 = IC(0); |
1237 | P1 = IC(0); |
1238 | if (HQ2X_MDL) { |
1239 | P2 = IC(0); |
1240 | } else { |
1241 | P2 = I211(0, 3, 7); |
1242 | } |
1243 | if (HQ2X_MDR) { |
1244 | P3 = IC(0); |
1245 | } else { |
1246 | P3 = I1411(0, 5, 7); |
1247 | } |
1248 | } break; |
1249 | case 253 : |
1250 | { |
1251 | P0 = IC(1); |
1252 | P1 = IC(1); |
1253 | if (HQ2X_MDL) { |
1254 | P2 = IC(1); |
1255 | } else { |
1256 | P2 = I1411(1, 3, 7); |
1257 | } |
1258 | if (HQ2X_MDR) { |
1259 | P3 = IC(1); |
1260 | } else { |
1261 | P3 = I1411(1, 5, 7); |
1262 | } |
1263 | } break; |
1264 | case 254 : |
1265 | { |
1266 | P0 = IC(0); |
1267 | if (HQ2X_MDL) { |
1268 | P2 = IC(0); |
1269 | } else { |
1270 | P2 = I211(0, 3, 7); |
1271 | } |
1272 | if (HQ2X_MDR) { |
1273 | P3 = IC(0); |
1274 | } else { |
1275 | P3 = I1411(0, 5, 7); |
1276 | } |
1277 | if (HQ2X_MUR) { |
1278 | P1 = IC(0); |
1279 | } else { |
1280 | P1 = I211(0, 1, 5); |
1281 | } |
1282 | } break; |
1283 | case 255 : |
1284 | { |
1285 | if (HQ2X_MDL) { |
1286 | P2 = IC(4); |
1287 | } else { |
1288 | P2 = I1411(4, 3, 7); |
1289 | } |
1290 | if (HQ2X_MDR) { |
1291 | P3 = IC(4); |
1292 | } else { |
1293 | P3 = I1411(4, 5, 7); |
1294 | } |
1295 | if (HQ2X_MUL) { |
1296 | P0 = IC(4); |
1297 | } else { |
1298 | P0 = I1411(4, 1, 3); |
1299 | } |
1300 | if (HQ2X_MUR) { |
1301 | P1 = IC(4); |
1302 | } else { |
1303 | P1 = I1411(4, 1, 5); |
1304 | } |
1305 | } break; |
1306 | |