1 package org.sipdroid.media.codecs; |
|
2 |
|
3 /** |
|
4 * G.711 codec. This class provides methods for u-law, A-law and linear PCM |
|
5 * conversions. |
|
6 */ |
|
7 public class G711 extends Codec { |
|
8 /* |
|
9 * Copyright 1992 by Jutta Degener and Carsten Bormann, Technische |
|
10 * Universitaet Berlin. See the accompanying file "COPYRIGHT" for |
|
11 * details. THERE IS ABSOLUTELY NO WARRANTY FOR THIS SOFTWARE. |
|
12 */ |
|
13 public static final CodecInfo mCodecInfo = new CodecInfo(); |
|
14 |
|
15 static { |
|
16 mCodecInfo.displayName = "aLaw"; |
|
17 mCodecInfo.rtpPayloadName = "PCMA"; |
|
18 mCodecInfo.description = "G711 aLaw codec"; |
|
19 mCodecInfo.rtpPayloadCode = 8; |
|
20 mCodecInfo.samplingRate = 8000; |
|
21 mCodecInfo.rtpSampleDivider = 1; |
|
22 mCodecInfo.minFrameTimeMsecs = 20; |
|
23 mCodecInfo.codecFrameSize = 160; |
|
24 CodecManager.registerAudioCodec(new G711()); |
|
25 } |
|
26 |
|
27 private static final int[] _a2s = { |
|
28 |
|
29 60032, 60288, 59520, 59776, 61056, 61312, 60544, 60800, |
|
30 57984, 58240, 57472, 57728, 59008, 59264, 58496, 58752, |
|
31 62784, 62912, 62528, 62656, 63296, 63424, 63040, 63168, |
|
32 61760, 61888, 61504, 61632, 62272, 62400, 62016, 62144, |
|
33 43520, 44544, 41472, 42496, 47616, 48640, 45568, 46592, |
|
34 35328, 36352, 33280, 34304, 39424, 40448, 37376, 38400, |
|
35 54528, 55040, 53504, 54016, 56576, 57088, 55552, 56064, |
|
36 50432, 50944, 49408, 49920, 52480, 52992, 51456, 51968, |
|
37 65192, 65208, 65160, 65176, 65256, 65272, 65224, 65240, |
|
38 65064, 65080, 65032, 65048, 65128, 65144, 65096, 65112, |
|
39 65448, 65464, 65416, 65432, 65512, 65528, 65480, 65496, |
|
40 65320, 65336, 65288, 65304, 65384, 65400, 65352, 65368, |
|
41 64160, 64224, 64032, 64096, 64416, 64480, 64288, 64352, |
|
42 63648, 63712, 63520, 63584, 63904, 63968, 63776, 63840, |
|
43 64848, 64880, 64784, 64816, 64976, 65008, 64912, 64944, |
|
44 64592, 64624, 64528, 64560, 64720, 64752, 64656, 64688, |
|
45 5504, 5248, 6016, 5760, 4480, 4224, 4992, 4736, |
|
46 7552, 7296, 8064, 7808, 6528, 6272, 7040, 6784, |
|
47 2752, 2624, 3008, 2880, 2240, 2112, 2496, 2368, |
|
48 3776, 3648, 4032, 3904, 3264, 3136, 3520, 3392, |
|
49 22016, 20992, 24064, 23040, 17920, 16896, 19968, 18944, |
|
50 30208, 29184, 32256, 31232, 26112, 25088, 28160, 27136, |
|
51 11008, 10496, 12032, 11520, 8960, 8448, 9984, 9472, |
|
52 15104, 14592, 16128, 15616, 13056, 12544, 14080, 13568, |
|
53 344, 328, 376, 360, 280, 264, 312, 296, |
|
54 472, 456, 504, 488, 408, 392, 440, 424, |
|
55 88, 72, 120, 104, 24, 8, 56, 40, |
|
56 216, 200, 248, 232, 152, 136, 184, 168, |
|
57 1376, 1312, 1504, 1440, 1120, 1056, 1248, 1184, |
|
58 1888, 1824, 2016, 1952, 1632, 1568, 1760, 1696, |
|
59 688, 656, 752, 720, 560, 528, 624, 592, |
|
60 944, 912, 1008, 976, 816, 784, 880, 848 |
|
61 |
|
62 }; |
|
63 |
|
64 private static final int[] _s2a = { |
|
65 |
|
66 213,212,215,214,209,208,211,210,221,220,223,222,217,216,219,218, |
|
67 197,196,199,198,193,192,195,194,205,204,207,206,201,200,203,202, |
|
68 245,245,244,244,247,247,246,246,241,241,240,240,243,243,242,242, |
|
69 253,253,252,252,255,255,254,254,249,249,248,248,251,251,250,250, |
|
70 229,229,229,229,228,228,228,228,231,231,231,231,230,230,230,230, |
|
71 225,225,225,225,224,224,224,224,227,227,227,227,226,226,226,226, |
|
72 237,237,237,237,236,236,236,236,239,239,239,239,238,238,238,238, |
|
73 233,233,233,233,232,232,232,232,235,235,235,235,234,234,234,234, |
|
74 149,149,149,149,149,149,149,149,148,148,148,148,148,148,148,148, |
|
75 151,151,151,151,151,151,151,151,150,150,150,150,150,150,150,150, |
|
76 145,145,145,145,145,145,145,145,144,144,144,144,144,144,144,144, |
|
77 147,147,147,147,147,147,147,147,146,146,146,146,146,146,146,146, |
|
78 157,157,157,157,157,157,157,157,156,156,156,156,156,156,156,156, |
|
79 159,159,159,159,159,159,159,159,158,158,158,158,158,158,158,158, |
|
80 153,153,153,153,153,153,153,153,152,152,152,152,152,152,152,152, |
|
81 155,155,155,155,155,155,155,155,154,154,154,154,154,154,154,154, |
|
82 133,133,133,133,133,133,133,133,133,133,133,133,133,133,133,133, |
|
83 132,132,132,132,132,132,132,132,132,132,132,132,132,132,132,132, |
|
84 135,135,135,135,135,135,135,135,135,135,135,135,135,135,135,135, |
|
85 134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134, |
|
86 129,129,129,129,129,129,129,129,129,129,129,129,129,129,129,129, |
|
87 128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128, |
|
88 131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131, |
|
89 130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130, |
|
90 141,141,141,141,141,141,141,141,141,141,141,141,141,141,141,141, |
|
91 140,140,140,140,140,140,140,140,140,140,140,140,140,140,140,140, |
|
92 143,143,143,143,143,143,143,143,143,143,143,143,143,143,143,143, |
|
93 142,142,142,142,142,142,142,142,142,142,142,142,142,142,142,142, |
|
94 137,137,137,137,137,137,137,137,137,137,137,137,137,137,137,137, |
|
95 136,136,136,136,136,136,136,136,136,136,136,136,136,136,136,136, |
|
96 139,139,139,139,139,139,139,139,139,139,139,139,139,139,139,139, |
|
97 138,138,138,138,138,138,138,138,138,138,138,138,138,138,138,138, |
|
98 181,181,181,181,181,181,181,181,181,181,181,181,181,181,181,181, |
|
99 181,181,181,181,181,181,181,181,181,181,181,181,181,181,181,181, |
|
100 180,180,180,180,180,180,180,180,180,180,180,180,180,180,180,180, |
|
101 180,180,180,180,180,180,180,180,180,180,180,180,180,180,180,180, |
|
102 183,183,183,183,183,183,183,183,183,183,183,183,183,183,183,183, |
|
103 183,183,183,183,183,183,183,183,183,183,183,183,183,183,183,183, |
|
104 182,182,182,182,182,182,182,182,182,182,182,182,182,182,182,182, |
|
105 182,182,182,182,182,182,182,182,182,182,182,182,182,182,182,182, |
|
106 177,177,177,177,177,177,177,177,177,177,177,177,177,177,177,177, |
|
107 177,177,177,177,177,177,177,177,177,177,177,177,177,177,177,177, |
|
108 176,176,176,176,176,176,176,176,176,176,176,176,176,176,176,176, |
|
109 176,176,176,176,176,176,176,176,176,176,176,176,176,176,176,176, |
|
110 179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179, |
|
111 179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179, |
|
112 178,178,178,178,178,178,178,178,178,178,178,178,178,178,178,178, |
|
113 178,178,178,178,178,178,178,178,178,178,178,178,178,178,178,178, |
|
114 189,189,189,189,189,189,189,189,189,189,189,189,189,189,189,189, |
|
115 189,189,189,189,189,189,189,189,189,189,189,189,189,189,189,189, |
|
116 188,188,188,188,188,188,188,188,188,188,188,188,188,188,188,188, |
|
117 188,188,188,188,188,188,188,188,188,188,188,188,188,188,188,188, |
|
118 191,191,191,191,191,191,191,191,191,191,191,191,191,191,191,191, |
|
119 191,191,191,191,191,191,191,191,191,191,191,191,191,191,191,191, |
|
120 190,190,190,190,190,190,190,190,190,190,190,190,190,190,190,190, |
|
121 190,190,190,190,190,190,190,190,190,190,190,190,190,190,190,190, |
|
122 185,185,185,185,185,185,185,185,185,185,185,185,185,185,185,185, |
|
123 185,185,185,185,185,185,185,185,185,185,185,185,185,185,185,185, |
|
124 184,184,184,184,184,184,184,184,184,184,184,184,184,184,184,184, |
|
125 184,184,184,184,184,184,184,184,184,184,184,184,184,184,184,184, |
|
126 187,187,187,187,187,187,187,187,187,187,187,187,187,187,187,187, |
|
127 187,187,187,187,187,187,187,187,187,187,187,187,187,187,187,187, |
|
128 186,186,186,186,186,186,186,186,186,186,186,186,186,186,186,186, |
|
129 186,186,186,186,186,186,186,186,186,186,186,186,186,186,186,186, |
|
130 165,165,165,165,165,165,165,165,165,165,165,165,165,165,165,165, |
|
131 165,165,165,165,165,165,165,165,165,165,165,165,165,165,165,165, |
|
132 165,165,165,165,165,165,165,165,165,165,165,165,165,165,165,165, |
|
133 165,165,165,165,165,165,165,165,165,165,165,165,165,165,165,165, |
|
134 164,164,164,164,164,164,164,164,164,164,164,164,164,164,164,164, |
|
135 164,164,164,164,164,164,164,164,164,164,164,164,164,164,164,164, |
|
136 164,164,164,164,164,164,164,164,164,164,164,164,164,164,164,164, |
|
137 164,164,164,164,164,164,164,164,164,164,164,164,164,164,164,164, |
|
138 167,167,167,167,167,167,167,167,167,167,167,167,167,167,167,167, |
|
139 167,167,167,167,167,167,167,167,167,167,167,167,167,167,167,167, |
|
140 167,167,167,167,167,167,167,167,167,167,167,167,167,167,167,167, |
|
141 167,167,167,167,167,167,167,167,167,167,167,167,167,167,167,167, |
|
142 166,166,166,166,166,166,166,166,166,166,166,166,166,166,166,166, |
|
143 166,166,166,166,166,166,166,166,166,166,166,166,166,166,166,166, |
|
144 166,166,166,166,166,166,166,166,166,166,166,166,166,166,166,166, |
|
145 166,166,166,166,166,166,166,166,166,166,166,166,166,166,166,166, |
|
146 161,161,161,161,161,161,161,161,161,161,161,161,161,161,161,161, |
|
147 161,161,161,161,161,161,161,161,161,161,161,161,161,161,161,161, |
|
148 161,161,161,161,161,161,161,161,161,161,161,161,161,161,161,161, |
|
149 161,161,161,161,161,161,161,161,161,161,161,161,161,161,161,161, |
|
150 160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160, |
|
151 160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160, |
|
152 160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160, |
|
153 160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160, |
|
154 163,163,163,163,163,163,163,163,163,163,163,163,163,163,163,163, |
|
155 163,163,163,163,163,163,163,163,163,163,163,163,163,163,163,163, |
|
156 163,163,163,163,163,163,163,163,163,163,163,163,163,163,163,163, |
|
157 163,163,163,163,163,163,163,163,163,163,163,163,163,163,163,163, |
|
158 162,162,162,162,162,162,162,162,162,162,162,162,162,162,162,162, |
|
159 162,162,162,162,162,162,162,162,162,162,162,162,162,162,162,162, |
|
160 162,162,162,162,162,162,162,162,162,162,162,162,162,162,162,162, |
|
161 162,162,162,162,162,162,162,162,162,162,162,162,162,162,162,162, |
|
162 173,173,173,173,173,173,173,173,173,173,173,173,173,173,173,173, |
|
163 173,173,173,173,173,173,173,173,173,173,173,173,173,173,173,173, |
|
164 173,173,173,173,173,173,173,173,173,173,173,173,173,173,173,173, |
|
165 173,173,173,173,173,173,173,173,173,173,173,173,173,173,173,173, |
|
166 172,172,172,172,172,172,172,172,172,172,172,172,172,172,172,172, |
|
167 172,172,172,172,172,172,172,172,172,172,172,172,172,172,172,172, |
|
168 172,172,172,172,172,172,172,172,172,172,172,172,172,172,172,172, |
|
169 172,172,172,172,172,172,172,172,172,172,172,172,172,172,172,172, |
|
170 175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175, |
|
171 175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175, |
|
172 175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175, |
|
173 175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175, |
|
174 174,174,174,174,174,174,174,174,174,174,174,174,174,174,174,174, |
|
175 174,174,174,174,174,174,174,174,174,174,174,174,174,174,174,174, |
|
176 174,174,174,174,174,174,174,174,174,174,174,174,174,174,174,174, |
|
177 174,174,174,174,174,174,174,174,174,174,174,174,174,174,174,174, |
|
178 169,169,169,169,169,169,169,169,169,169,169,169,169,169,169,169, |
|
179 169,169,169,169,169,169,169,169,169,169,169,169,169,169,169,169, |
|
180 169,169,169,169,169,169,169,169,169,169,169,169,169,169,169,169, |
|
181 169,169,169,169,169,169,169,169,169,169,169,169,169,169,169,169, |
|
182 168,168,168,168,168,168,168,168,168,168,168,168,168,168,168,168, |
|
183 168,168,168,168,168,168,168,168,168,168,168,168,168,168,168,168, |
|
184 168,168,168,168,168,168,168,168,168,168,168,168,168,168,168,168, |
|
185 168,168,168,168,168,168,168,168,168,168,168,168,168,168,168,168, |
|
186 171,171,171,171,171,171,171,171,171,171,171,171,171,171,171,171, |
|
187 171,171,171,171,171,171,171,171,171,171,171,171,171,171,171,171, |
|
188 171,171,171,171,171,171,171,171,171,171,171,171,171,171,171,171, |
|
189 171,171,171,171,171,171,171,171,171,171,171,171,171,171,171,171, |
|
190 170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170, |
|
191 170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170, |
|
192 170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170, |
|
193 170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170, |
|
194 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, |
|
195 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, |
|
196 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, |
|
197 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, |
|
198 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, |
|
199 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, |
|
200 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, |
|
201 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, |
|
202 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, |
|
203 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, |
|
204 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, |
|
205 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, |
|
206 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, |
|
207 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, |
|
208 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, |
|
209 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, |
|
210 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, |
|
211 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, |
|
212 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, |
|
213 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, |
|
214 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, |
|
215 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, |
|
216 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, |
|
217 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, |
|
218 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, |
|
219 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, |
|
220 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, |
|
221 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, |
|
222 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, |
|
223 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, |
|
224 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, |
|
225 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, |
|
226 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, |
|
227 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, |
|
228 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, |
|
229 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, |
|
230 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, |
|
231 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, |
|
232 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, |
|
233 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, |
|
234 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, |
|
235 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, |
|
236 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, |
|
237 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, |
|
238 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, |
|
239 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, |
|
240 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, |
|
241 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, |
|
242 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, |
|
243 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, |
|
244 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, |
|
245 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, |
|
246 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, |
|
247 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, |
|
248 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, |
|
249 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, |
|
250 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, |
|
251 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, |
|
252 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, |
|
253 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, |
|
254 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, |
|
255 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, |
|
256 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, |
|
257 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, |
|
258 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, |
|
259 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, |
|
260 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, |
|
261 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, |
|
262 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, |
|
263 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, |
|
264 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, |
|
265 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, |
|
266 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, |
|
267 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, |
|
268 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, |
|
269 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, |
|
270 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, |
|
271 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, |
|
272 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, |
|
273 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, |
|
274 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, |
|
275 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, |
|
276 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, |
|
277 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, |
|
278 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, |
|
279 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, |
|
280 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, |
|
281 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, |
|
282 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, |
|
283 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, |
|
284 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, |
|
285 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, |
|
286 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, |
|
287 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, |
|
288 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, |
|
289 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, |
|
290 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, |
|
291 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, |
|
292 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, |
|
293 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, |
|
294 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, |
|
295 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, |
|
296 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, |
|
297 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, |
|
298 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, |
|
299 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, |
|
300 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, |
|
301 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, |
|
302 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, |
|
303 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, |
|
304 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, |
|
305 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, |
|
306 26, 26, 26, 26, 26, 26, 26, 26, 27, 27, 27, 27, 27, 27, 27, 27, |
|
307 24, 24, 24, 24, 24, 24, 24, 24, 25, 25, 25, 25, 25, 25, 25, 25, |
|
308 30, 30, 30, 30, 30, 30, 30, 30, 31, 31, 31, 31, 31, 31, 31, 31, |
|
309 28, 28, 28, 28, 28, 28, 28, 28, 29, 29, 29, 29, 29, 29, 29, 29, |
|
310 18, 18, 18, 18, 18, 18, 18, 18, 19, 19, 19, 19, 19, 19, 19, 19, |
|
311 16, 16, 16, 16, 16, 16, 16, 16, 17, 17, 17, 17, 17, 17, 17, 17, |
|
312 22, 22, 22, 22, 22, 22, 22, 22, 23, 23, 23, 23, 23, 23, 23, 23, |
|
313 20, 20, 20, 20, 20, 20, 20, 20, 21, 21, 21, 21, 21, 21, 21, 21, |
|
314 106,106,106,106,107,107,107,107,104,104,104,104,105,105,105,105, |
|
315 110,110,110,110,111,111,111,111,108,108,108,108,109,109,109,109, |
|
316 98, 98, 98, 98, 99, 99, 99, 99, 96, 96, 96, 96, 97, 97, 97, 97, |
|
317 102,102,102,102,103,103,103,103,100,100,100,100,101,101,101,101, |
|
318 122,122,123,123,120,120,121,121,126,126,127,127,124,124,125,125, |
|
319 114,114,115,115,112,112,113,113,118,118,119,119,116,116,117,117, |
|
320 74, 75, 72, 73, 78, 79, 76, 77, 66, 67, 64, 65, 70, 71, 68, 69, |
|
321 90, 91, 88, 89, 94, 95, 92, 93, 82, 83, 80, 81, 86, 87, 84, 85 |
|
322 }; |
|
323 |
|
324 |
|
325 public class G711Context extends Context { |
|
326 public final short[] a2s = new short[256]; |
|
327 public final byte[] s2a = new byte[65536]; |
|
328 } |
|
329 |
|
330 public void init(G711Context ctx) { |
|
331 int i; |
|
332 for (i = 0; i < 256; i++) |
|
333 ctx.a2s[i] = (short)_a2s[i]; |
|
334 for (i = 0; i < 65536; i++) |
|
335 ctx.s2a[i] = (byte)_s2a[i >> 4]; |
|
336 } |
|
337 |
|
338 private void alaw2linear(G711Context ctx, byte alaw[], int inoffset, int size, short lin[], int outoffset) { |
|
339 int i; |
|
340 for (i = 0; i < size; i++) |
|
341 lin[i + outoffset] = ctx.a2s[alaw[i + inoffset] & 0xff]; |
|
342 } |
|
343 |
|
344 private void linear2alaw(G711Context ctx, short lin[], int inoffset, byte alaw[], int outoffset, int size) { |
|
345 int i; |
|
346 for (i = 0; i < size; i++) |
|
347 alaw[i + outoffset] = ctx.s2a[lin[i + inoffset] & 0xffff]; |
|
348 } |
|
349 |
|
350 @Override |
|
351 public Context initDecoder() { |
|
352 G711Context ctx = new G711Context(); |
|
353 init(ctx); |
|
354 return ctx; |
|
355 } |
|
356 |
|
357 @Override |
|
358 public Context initEncoder() { |
|
359 G711Context ctx = new G711Context(); |
|
360 init(ctx); |
|
361 return ctx; |
|
362 } |
|
363 |
|
364 @Override |
|
365 public void cleanDecoder(Context ctx) { |
|
366 } |
|
367 |
|
368 @Override |
|
369 public void cleanEncoder(Context ctx) { |
|
370 } |
|
371 |
|
372 @Override |
|
373 public int decode(Context ctx, byte[] indata, int inoffset, int size, |
|
374 short[] outsample, int outoffset) { |
|
375 alaw2linear((G711Context) ctx, indata, inoffset, size, outsample, outoffset); |
|
376 return size; |
|
377 } |
|
378 |
|
379 @Override |
|
380 public int encode(Context ctx, short[] insample, int inoffset, int size, |
|
381 byte[] outdata, int outoffset) { |
|
382 linear2alaw((G711Context) ctx, insample, inoffset, outdata, outoffset, size); |
|
383 return 0; |
|
384 } |
|
385 |
|
386 @Override |
|
387 public CodecInfo getInfo() { |
|
388 return mCodecInfo; |
|
389 } |
|
390 |
|
391 static public void load(){ |
|
392 } |
|
393 } |
|