FreeCalypso > hg > gsm-codec-lib
comparison amrconv/amr_bits.c @ 214:934cf92a1c45
amrconv: new program amr-ietf-parse
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Thu, 20 Apr 2023 22:48:22 +0000 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
213:46a6e6b6841a | 214:934cf92a1c45 |
---|---|
1 /* | |
2 * This C module is a complement to amr122bits.c, for programs that | |
3 * need to work with all AMR modes and not just MR122. | |
4 */ | |
5 | |
6 #include <stdint.h> | |
7 | |
8 const uint8_t amr_475_bit_order[95] = { | |
9 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, | |
10 10, 11, 12, 13, 14, 15, 23, 24, 25, 26, | |
11 27, 28, 48, 49, 61, 62, 82, 83, 47, 46, | |
12 45, 44, 81, 80, 79, 78, 17, 18, 20, 22, | |
13 77, 76, 75, 74, 29, 30, 43, 42, 41, 40, | |
14 38, 39, 16, 19, 21, 50, 51, 59, 60, 63, | |
15 64, 72, 73, 84, 85, 93, 94, 32, 33, 35, | |
16 36, 53, 54, 56, 57, 66, 67, 69, 70, 87, | |
17 88, 90, 91, 34, 55, 68, 89, 37, 58, 71, | |
18 92, 31, 52, 65, 86 | |
19 }; | |
20 | |
21 const uint8_t amr_515_bit_order[103] = { | |
22 7, 6, 5, 4, 3, 2, 1, 0, 15, 14, | |
23 13, 12, 11, 10, 9, 8, 23, 24, 25, 26, | |
24 27, 46, 65, 84, 45, 44, 43, 64, 63, 62, | |
25 83, 82, 81, 102, 101, 100, 42, 61, 80, 99, | |
26 28, 47, 66, 85, 18, 41, 60, 79, 98, 29, | |
27 48, 67, 17, 20, 22, 40, 59, 78, 97, 21, | |
28 30, 49, 68, 86, 19, 16, 87, 39, 38, 58, | |
29 57, 77, 35, 54, 73, 92, 76, 96, 95, 36, | |
30 55, 74, 93, 32, 51, 33, 52, 70, 71, 89, | |
31 90, 31, 50, 69, 88, 37, 56, 75, 94, 34, | |
32 53, 72, 91 | |
33 }; | |
34 | |
35 const uint8_t amr_59_bit_order[118] = { | |
36 0, 1, 4, 5, 3, 6, 7, 2, 13, 15, | |
37 8, 9, 11, 12, 14, 10, 16, 28, 74, 29, | |
38 75, 27, 73, 26, 72, 30, 76, 51, 97, 50, | |
39 71, 96, 117, 31, 77, 52, 98, 49, 70, 95, | |
40 116, 53, 99, 32, 78, 33, 79, 48, 69, 94, | |
41 115, 47, 68, 93, 114, 46, 67, 92, 113, 19, | |
42 21, 23, 22, 18, 17, 20, 24, 111, 43, 89, | |
43 110, 64, 65, 44, 90, 25, 45, 66, 91, 112, | |
44 54, 100, 40, 61, 86, 107, 39, 60, 85, 106, | |
45 36, 57, 82, 103, 35, 56, 81, 102, 34, 55, | |
46 80, 101, 42, 63, 88, 109, 41, 62, 87, 108, | |
47 38, 59, 84, 105, 37, 58, 83, 104 | |
48 }; | |
49 | |
50 const uint8_t amr_67_bit_order[134] = { | |
51 0, 1, 4, 3, 5, 6, 13, 7, 2, 8, | |
52 9, 11, 15, 12, 14, 10, 28, 82, 29, 83, | |
53 27, 81, 26, 80, 30, 84, 16, 55, 109, 56, | |
54 110, 31, 85, 57, 111, 48, 73, 102, 127, 32, | |
55 86, 51, 76, 105, 130, 52, 77, 106, 131, 58, | |
56 112, 33, 87, 19, 23, 53, 78, 107, 132, 21, | |
57 22, 18, 17, 20, 24, 25, 50, 75, 104, 129, | |
58 47, 72, 101, 126, 54, 79, 108, 133, 46, 71, | |
59 100, 125, 128, 103, 74, 49, 45, 70, 99, 124, | |
60 42, 67, 96, 121, 39, 64, 93, 118, 38, 63, | |
61 92, 117, 35, 60, 89, 114, 34, 59, 88, 113, | |
62 44, 69, 98, 123, 43, 68, 97, 122, 41, 66, | |
63 95, 120, 40, 65, 94, 119, 37, 62, 91, 116, | |
64 36, 61, 90, 115 | |
65 }; | |
66 | |
67 const uint8_t amr_74_bit_order[148] = { | |
68 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, | |
69 10, 11, 12, 13, 14, 15, 16, 26, 87, 27, | |
70 88, 28, 89, 29, 90, 30, 91, 51, 80, 112, | |
71 141, 52, 81, 113, 142, 54, 83, 115, 144, 55, | |
72 84, 116, 145, 58, 119, 59, 120, 21, 22, 23, | |
73 17, 18, 19, 31, 60, 92, 121, 56, 85, 117, | |
74 146, 20, 24, 25, 50, 79, 111, 140, 57, 86, | |
75 118, 147, 49, 78, 110, 139, 48, 77, 53, 82, | |
76 114, 143, 109, 138, 47, 76, 108, 137, 32, 33, | |
77 61, 62, 93, 94, 122, 123, 41, 42, 43, 44, | |
78 45, 46, 70, 71, 72, 73, 74, 75, 102, 103, | |
79 104, 105, 106, 107, 131, 132, 133, 134, 135, 136, | |
80 34, 63, 95, 124, 35, 64, 96, 125, 36, 65, | |
81 97, 126, 37, 66, 98, 127, 38, 67, 99, 128, | |
82 39, 68, 100, 129, 40, 69, 101, 130 | |
83 }; | |
84 | |
85 const uint8_t amr_795_bit_order[159] = { | |
86 8, 7, 6, 5, 4, 3, 2, 14, 16, 9, | |
87 10, 12, 13, 15, 11, 17, 20, 22, 24, 23, | |
88 19, 18, 21, 56, 88, 122, 154, 57, 89, 123, | |
89 155, 58, 90, 124, 156, 52, 84, 118, 150, 53, | |
90 85, 119, 151, 27, 93, 28, 94, 29, 95, 30, | |
91 96, 31, 97, 61, 127, 62, 128, 63, 129, 59, | |
92 91, 125, 157, 32, 98, 64, 130, 1, 0, 25, | |
93 26, 33, 99, 34, 100, 65, 131, 66, 132, 54, | |
94 86, 120, 152, 60, 92, 126, 158, 55, 87, 121, | |
95 153, 117, 116, 115, 46, 78, 112, 144, 43, 75, | |
96 109, 141, 40, 72, 106, 138, 36, 68, 102, 134, | |
97 114, 149, 148, 147, 146, 83, 82, 81, 80, 51, | |
98 50, 49, 48, 47, 45, 44, 42, 39, 35, 79, | |
99 77, 76, 74, 71, 67, 113, 111, 110, 108, 105, | |
100 101, 145, 143, 142, 140, 137, 133, 41, 73, 107, | |
101 139, 37, 69, 103, 135, 38, 70, 104, 136 | |
102 }; | |
103 | |
104 const uint8_t amr_102_bit_order[204] = { | |
105 7, 6, 5, 4, 3, 2, 1, 0, 16, 15, | |
106 14, 13, 12, 11, 10, 9, 8, 26, 27, 28, | |
107 29, 30, 31, 115, 116, 117, 118, 119, 120, 72, | |
108 73, 161, 162, 65, 68, 69, 108, 111, 112, 154, | |
109 157, 158, 197, 200, 201, 32, 33, 121, 122, 74, | |
110 75, 163, 164, 66, 109, 155, 198, 19, 23, 21, | |
111 22, 18, 17, 20, 24, 25, 37, 36, 35, 34, | |
112 80, 79, 78, 77, 126, 125, 124, 123, 169, 168, | |
113 167, 166, 70, 67, 71, 113, 110, 114, 159, 156, | |
114 160, 202, 199, 203, 76, 165, 81, 82, 92, 91, | |
115 93, 83, 95, 85, 84, 94, 101, 102, 96, 104, | |
116 86, 103, 87, 97, 127, 128, 138, 137, 139, 129, | |
117 141, 131, 130, 140, 147, 148, 142, 150, 132, 149, | |
118 133, 143, 170, 171, 181, 180, 182, 172, 184, 174, | |
119 173, 183, 190, 191, 185, 193, 175, 192, 176, 186, | |
120 38, 39, 49, 48, 50, 40, 52, 42, 41, 51, | |
121 58, 59, 53, 61, 43, 60, 44, 54, 194, 179, | |
122 189, 196, 177, 195, 178, 187, 188, 151, 136, 146, | |
123 153, 134, 152, 135, 144, 145, 105, 90, 100, 107, | |
124 88, 106, 89, 98, 99, 62, 47, 57, 64, 45, | |
125 63, 46, 55, 56 | |
126 }; |