~ubuntu-branches/ubuntu/precise/mupen64plus/precise

« back to all changes in this revision

Viewing changes to rice_video/TextureFilters_lq2x.h

  • Committer: Bazaar Package Importer
  • Author(s): Sven Eckelmann
  • Date: 2009-09-08 22:17:00 UTC
  • Revision ID: james.westby@ubuntu.com-20090908221700-yela0ckgc1xwiqtn
Tags: upstream-1.5+dfsg1
ImportĀ upstreamĀ versionĀ 1.5+dfsg1

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
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