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