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