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 };