11 #define readGSM_33(c1) { \
12 gsm_byte *__c = (c1); \
13 LARc[0] = (*__c++ & 0xF) << 2; \
14 LARc[0] |= (*__c >> 6) & 0x3; \
15 LARc[1] = *__c++ & 0x3F; \
16 LARc[2] = (*__c >> 3) & 0x1F; \
17 LARc[3] = (*__c++ & 0x7) << 2; \
18 LARc[3] |= (*__c >> 6) & 0x3; \
19 LARc[4] = (*__c >> 2) & 0xF; \
20 LARc[5] = (*__c++ & 0x3) << 2; \
21 LARc[5] |= (*__c >> 6) & 0x3; \
22 LARc[6] = (*__c >> 3) & 0x7; \
23 LARc[7] = *__c++ & 0x7; \
24 Nc[0] = (*__c >> 1) & 0x7F; \
25 bc[0] = (*__c++ & 0x1) << 1; \
26 bc[0] |= (*__c >> 7) & 0x1; \
27 Mc[0] = (*__c >> 5) & 0x3; \
28 xmaxc[0] = (*__c++ & 0x1F) << 1; \
29 xmaxc[0] |= (*__c >> 7) & 0x1; \
30 xmc[0] = (*__c >> 4) & 0x7; \
31 xmc[1] = (*__c >> 1) & 0x7; \
32 xmc[2] = (*__c++ & 0x1) << 2; \
33 xmc[2] |= (*__c >> 6) & 0x3; \
34 xmc[3] = (*__c >> 3) & 0x7; \
35 xmc[4] = *__c++ & 0x7; \
36 xmc[5] = (*__c >> 5) & 0x7; \
37 xmc[6] = (*__c >> 2) & 0x7; \
38 xmc[7] = (*__c++ & 0x3) << 1; \
39 xmc[7] |= (*__c >> 7) & 0x1; \
40 xmc[8] = (*__c >> 4) & 0x7; \
41 xmc[9] = (*__c >> 1) & 0x7; \
42 xmc[10] = (*__c++ & 0x1) << 2; \
43 xmc[10] |= (*__c >> 6) & 0x3; \
44 xmc[11] = (*__c >> 3) & 0x7; \
45 xmc[12] = *__c++ & 0x7; \
46 Nc[1] = (*__c >> 1) & 0x7F; \
47 bc[1] = (*__c++ & 0x1) << 1; \
48 bc[1] |= (*__c >> 7) & 0x1; \
49 Mc[1] = (*__c >> 5) & 0x3; \
50 xmaxc[1] = (*__c++ & 0x1F) << 1; \
51 xmaxc[1] |= (*__c >> 7) & 0x1; \
52 xmc[13] = (*__c >> 4) & 0x7; \
53 xmc[14] = (*__c >> 1) & 0x7; \
54 xmc[15] = (*__c++ & 0x1) << 2; \
55 xmc[15] |= (*__c >> 6) & 0x3; \
56 xmc[16] = (*__c >> 3) & 0x7; \
57 xmc[17] = *__c++ & 0x7; \
58 xmc[18] = (*__c >> 5) & 0x7; \
59 xmc[19] = (*__c >> 2) & 0x7; \
60 xmc[20] = (*__c++ & 0x3) << 1; \
61 xmc[20] |= (*__c >> 7) & 0x1; \
62 xmc[21] = (*__c >> 4) & 0x7; \
63 xmc[22] = (*__c >> 1) & 0x7; \
64 xmc[23] = (*__c++ & 0x1) << 2; \
65 xmc[23] |= (*__c >> 6) & 0x3; \
66 xmc[24] = (*__c >> 3) & 0x7; \
67 xmc[25] = *__c++ & 0x7; \
68 Nc[2] = (*__c >> 1) & 0x7F; \
69 bc[2] = (*__c++ & 0x1) << 1; \
70 bc[2] |= (*__c >> 7) & 0x1; \
71 Mc[2] = (*__c >> 5) & 0x3; \
72 xmaxc[2] = (*__c++ & 0x1F) << 1; \
73 xmaxc[2] |= (*__c >> 7) & 0x1; \
74 xmc[26] = (*__c >> 4) & 0x7; \
75 xmc[27] = (*__c >> 1) & 0x7; \
76 xmc[28] = (*__c++ & 0x1) << 2; \
77 xmc[28] |= (*__c >> 6) & 0x3; \
78 xmc[29] = (*__c >> 3) & 0x7; \
79 xmc[30] = *__c++ & 0x7; \
80 xmc[31] = (*__c >> 5) & 0x7; \
81 xmc[32] = (*__c >> 2) & 0x7; \
82 xmc[33] = (*__c++ & 0x3) << 1; \
83 xmc[33] |= (*__c >> 7) & 0x1; \
84 xmc[34] = (*__c >> 4) & 0x7; \
85 xmc[35] = (*__c >> 1) & 0x7; \
86 xmc[36] = (*__c++ & 0x1) << 2; \
87 xmc[36] |= (*__c >> 6) & 0x3; \
88 xmc[37] = (*__c >> 3) & 0x7; \
89 xmc[38] = *__c++ & 0x7; \
90 Nc[3] = (*__c >> 1) & 0x7F; \
91 bc[3] = (*__c++ & 0x1) << 1; \
92 bc[3] |= (*__c >> 7) & 0x1; \
93 Mc[3] = (*__c >> 5) & 0x3; \
94 xmaxc[3] = (*__c++ & 0x1F) << 1; \
95 xmaxc[3] |= (*__c >> 7) & 0x1; \
96 xmc[39] = (*__c >> 4) & 0x7; \
97 xmc[40] = (*__c >> 1) & 0x7; \
98 xmc[41] = (*__c++ & 0x1) << 2; \
99 xmc[41] |= (*__c >> 6) & 0x3; \
100 xmc[42] = (*__c >> 3) & 0x7; \
101 xmc[43] = *__c++ & 0x7; \
102 xmc[44] = (*__c >> 5) & 0x7; \
103 xmc[45] = (*__c >> 2) & 0x7; \
104 xmc[46] = (*__c++ & 0x3) << 1; \
105 xmc[46] |= (*__c >> 7) & 0x1; \
106 xmc[47] = (*__c >> 4) & 0x7; \
107 xmc[48] = (*__c >> 1) & 0x7; \
108 xmc[49] = (*__c++ & 0x1) << 2; \
109 xmc[49] |= (*__c >> 6) & 0x3; \
110 xmc[50] = (*__c >> 3) & 0x7; \
111 xmc[51] = *__c & 0x7; \
117 unsigned int LARc[8], Nc[4], Mc[4], bc[4], xmaxc[4], xmc[13*4];
121 sr = (sr >> 6) | (LARc[0] << 10);
122 sr = (sr >> 6) | (LARc[1] << 10);
124 sr = (sr >> 5) | (LARc[2] << 11);
126 sr = (sr >> 5) | (LARc[3] << 11);
127 sr = (sr >> 4) | (LARc[4] << 12);
129 sr = (sr >> 4) | (LARc[5] << 12);
130 sr = (sr >> 3) | (LARc[6] << 13);
132 sr = (sr >> 3) | (LARc[7] << 13);
133 sr = (sr >> 7) | (Nc[0] << 9);
135 sr = (sr >> 2) | (bc[0] << 14);
136 sr = (sr >> 2) | (Mc[0] << 14);
137 sr = (sr >> 6) | (xmaxc[0] << 10);
139 sr = (sr >> 3 )|( xmc[0] << 13);
141 sr = (sr >> 3 )|( xmc[1] << 13);
142 sr = (sr >> 3 )|( xmc[2] << 13);
143 sr = (sr >> 3 )|( xmc[3] << 13);
145 sr = (sr >> 3 )|( xmc[4] << 13);
146 sr = (sr >> 3 )|( xmc[5] << 13);
147 sr = (sr >> 3 )|( xmc[6] << 13);
149 sr = (sr >> 3 )|( xmc[7] << 13);
150 sr = (sr >> 3 )|( xmc[8] << 13);
152 sr = (sr >> 3 )|( xmc[9] << 13);
153 sr = (sr >> 3 )|( xmc[10] << 13);
154 sr = (sr >> 3 )|( xmc[11] << 13);
156 sr = (sr >> 3 )|( xmc[12] << 13);
157 sr = (sr >> 7 )|( Nc[1] << 9);
159 sr = (sr >> 2 )|( bc[1] << 14);
160 sr = (sr >> 2 )|( Mc[1] << 14);
161 sr = (sr >> 6 )|( xmaxc[1] << 10);
163 sr = (sr >> 3 )|( xmc[13] << 13);
165 sr = (sr >> 3 )|( xmc[14] << 13);
166 sr = (sr >> 3 )|( xmc[15] << 13);
167 sr = (sr >> 3 )|( xmc[16] << 13);
169 sr = (sr >> 3 )|( xmc[17] << 13);
170 sr = (sr >> 3 )|( xmc[18] << 13);
171 sr = (sr >> 3 )|( xmc[19] << 13);
173 sr = (sr >> 3 )|( xmc[20] << 13);
174 sr = (sr >> 3 )|( xmc[21] << 13);
176 sr = (sr >> 3 )|( xmc[22] << 13);
177 sr = (sr >> 3 )|( xmc[23] << 13);
178 sr = (sr >> 3 )|( xmc[24] << 13);
180 sr = (sr >> 3 )|( xmc[25] << 13);
181 sr = (sr >> 7 )|( Nc[2] << 9);
183 sr = (sr >> 2 )|( bc[2] << 14);
184 sr = (sr >> 2 )|( Mc[2] << 14);
185 sr = (sr >> 6 )|( xmaxc[2] << 10);
187 sr = (sr >> 3 )|( xmc[26] << 13);
189 sr = (sr >> 3 )|( xmc[27] << 13);
190 sr = (sr >> 3 )|( xmc[28] << 13);
191 sr = (sr >> 3 )|( xmc[29] << 13);
193 sr = (sr >> 3 )|( xmc[30] << 13);
194 sr = (sr >> 3 )|( xmc[31] << 13);
195 sr = (sr >> 3 )|( xmc[32] << 13);
197 sr = (sr >> 3 )|( xmc[33] << 13);
198 sr = (sr >> 3 )|( xmc[34] << 13);
200 sr = (sr >> 3 )|( xmc[35] << 13);
201 sr = (sr >> 3 )|( xmc[36] << 13);
202 sr = (sr >> 3 )|( xmc[37] << 13);
204 sr = (sr >> 3 )|( xmc[38] << 13);
205 sr = (sr >> 7 )|( Nc[3] << 9);
207 sr = (sr >> 2 )|( bc[3] << 14);
208 sr = (sr >> 2 )|( Mc[3] << 14);
209 sr = (sr >> 6 )|( xmaxc[3] << 10);
211 sr = (sr >> 3 )|( xmc[39] << 13);
213 sr = (sr >> 3 )|( xmc[40] << 13);
214 sr = (sr >> 3 )|( xmc[41] << 13);
215 sr = (sr >> 3 )|( xmc[42] << 13);
217 sr = (sr >> 3 )|( xmc[43] << 13);
218 sr = (sr >> 3 )|( xmc[44] << 13);
219 sr = (sr >> 3 )|( xmc[45] << 13);
221 sr = (sr >> 3 )|( xmc[46] << 13);
222 sr = (sr >> 3 )|( xmc[47] << 13);
224 sr = (sr >> 3 )|( xmc[48] << 13);
225 sr = (sr >> 3 )|( xmc[49] << 13);
226 sr = (sr >> 3 )|( xmc[50] << 13);
228 sr = (sr >> 3 )|( xmc[51] << 13);
237 sr = (sr >> 4 )|( frame_chain << 12);
239 sr = (sr >> 6 )|( LARc[0] << 10);
241 sr = (sr >> 6 )|( LARc[1] << 10);
243 sr = (sr >> 5 )|( LARc[2] << 11);
244 sr = (sr >> 5 )|( LARc[3] << 11);
246 sr = (sr >> 4 )|( LARc[4] << 12);
247 sr = (sr >> 4 )|( LARc[5] << 12);
249 sr = (sr >> 3 )|( LARc[6] << 13);
250 sr = (sr >> 3 )|( LARc[7] << 13);
252 sr = (sr >> 7 )|( Nc[0] << 9);
253 sr = (sr >> 2 )|( bc[0] << 14);
255 sr = (sr >> 2 )|( Mc[0] << 14);
256 sr = (sr >> 6 )|( xmaxc[0] << 10);
258 sr = (sr >> 3 )|( xmc[0] << 13);
259 sr = (sr >> 3 )|( xmc[1] << 13);
260 sr = (sr >> 3 )|( xmc[2] << 13);
262 sr = (sr >> 3 )|( xmc[3] << 13);
263 sr = (sr >> 3 )|( xmc[4] << 13);
265 sr = (sr >> 3 )|( xmc[5] << 13);
266 sr = (sr >> 3 )|( xmc[6] << 13);
267 sr = (sr >> 3 )|( xmc[7] << 13);
269 sr = (sr >> 3 )|( xmc[8] << 13);
270 sr = (sr >> 3 )|( xmc[9] << 13);
271 sr = (sr >> 3 )|( xmc[10] << 13);
273 sr = (sr >> 3 )|( xmc[11] << 13);
274 sr = (sr >> 3 )|( xmc[12] << 13);
276 sr = (sr >> 7 )|( Nc[1] << 9);
277 sr = (sr >> 2 )|( bc[1] << 14);
279 sr = (sr >> 2 )|( Mc[1] << 14);
280 sr = (sr >> 6 )|( xmaxc[1] << 10);
282 sr = (sr >> 3 )|( xmc[13] << 13);
283 sr = (sr >> 3 )|( xmc[14] << 13);
284 sr = (sr >> 3 )|( xmc[15] << 13);
286 sr = (sr >> 3 )|( xmc[16] << 13);
287 sr = (sr >> 3 )|( xmc[17] << 13);
289 sr = (sr >> 3 )|( xmc[18] << 13);
290 sr = (sr >> 3 )|( xmc[19] << 13);
291 sr = (sr >> 3 )|( xmc[20] << 13);
293 sr = (sr >> 3 )|( xmc[21] << 13);
294 sr = (sr >> 3 )|( xmc[22] << 13);
295 sr = (sr >> 3 )|( xmc[23] << 13);
297 sr = (sr >> 3 )|( xmc[24] << 13);
298 sr = (sr >> 3 )|( xmc[25] << 13);
300 sr = (sr >> 7 )|( Nc[2] << 9);
301 sr = (sr >> 2 )|( bc[2] << 14);
303 sr = (sr >> 2 )|( Mc[2] << 14);
304 sr = (sr >> 6 )|( xmaxc[2] << 10);
306 sr = (sr >> 3 )|( xmc[26] << 13);
307 sr = (sr >> 3 )|( xmc[27] << 13);
308 sr = (sr >> 3 )|( xmc[28] << 13);
310 sr = (sr >> 3 )|( xmc[29] << 13);
311 sr = (sr >> 3 )|( xmc[30] << 13);
313 sr = (sr >> 3 )|( xmc[31] << 13);
314 sr = (sr >> 3 )|( xmc[32] << 13);
315 sr = (sr >> 3 )|( xmc[33] << 13);
317 sr = (sr >> 3 )|( xmc[34] << 13);
318 sr = (sr >> 3 )|( xmc[35] << 13);
319 sr = (sr >> 3 )|( xmc[36] << 13);
321 sr = (sr >> 3 )|( xmc[37] << 13);
322 sr = (sr >> 3 )|( xmc[38] << 13);
324 sr = (sr >> 7 )|( Nc[3] << 9);
325 sr = (sr >> 2 )|( bc[3] << 14);
327 sr = (sr >> 2 )|( Mc[3] << 14);
328 sr = (sr >> 6 )|( xmaxc[3] << 10);
330 sr = (sr >> 3 )|( xmc[39] << 13);
331 sr = (sr >> 3 )|( xmc[40] << 13);
332 sr = (sr >> 3 )|( xmc[41] << 13);
334 sr = (sr >> 3 )|( xmc[42] << 13);
335 sr = (sr >> 3 )|( xmc[43] << 13);
337 sr = (sr >> 3 )|( xmc[44] << 13);
338 sr = (sr >> 3 )|( xmc[45] << 13);
339 sr = (sr >> 3 )|( xmc[46] << 13);
341 sr = (sr >> 3 )|( xmc[47] << 13);
342 sr = (sr >> 3 )|( xmc[48] << 13);
343 sr = (sr >> 3 )|( xmc[49] << 13);
345 sr = (sr >> 3 )|( xmc[50] << 13);
346 sr = (sr >> 3 )|( xmc[51] << 13);
351 #define writeGSM_33(c1) { \
352 gsm_byte *__c = (c1); \
353 *__c++ = ((GSM_MAGIC & 0xF) << 4) \
354 | ((LARc[0] >> 2) & 0xF); \
355 *__c++ = ((LARc[0] & 0x3) << 6) \
356 | (LARc[1] & 0x3F); \
357 *__c++ = ((LARc[2] & 0x1F) << 3) \
358 | ((LARc[3] >> 2) & 0x7); \
359 *__c++ = ((LARc[3] & 0x3) << 6) \
360 | ((LARc[4] & 0xF) << 2) \
361 | ((LARc[5] >> 2) & 0x3); \
362 *__c++ = ((LARc[5] & 0x3) << 6) \
363 | ((LARc[6] & 0x7) << 3) \
365 *__c++ = ((Nc[0] & 0x7F) << 1) \
366 | ((bc[0] >> 1) & 0x1); \
367 *__c++ = ((bc[0] & 0x1) << 7) \
368 | ((Mc[0] & 0x3) << 5) \
369 | ((xmaxc[0] >> 1) & 0x1F); \
370 *__c++ = ((xmaxc[0] & 0x1) << 7) \
371 | ((xmc[0] & 0x7) << 4) \
372 | ((xmc[1] & 0x7) << 1) \
373 | ((xmc[2] >> 2) & 0x1); \
374 *__c++ = ((xmc[2] & 0x3) << 6) \
375 | ((xmc[3] & 0x7) << 3) \
377 *__c++ = ((xmc[5] & 0x7) << 5) \
378 | ((xmc[6] & 0x7) << 2) \
379 | ((xmc[7] >> 1) & 0x3); \
380 *__c++ = ((xmc[7] & 0x1) << 7) \
381 | ((xmc[8] & 0x7) << 4) \
382 | ((xmc[9] & 0x7) << 1) \
383 | ((xmc[10] >> 2) & 0x1); \
384 *__c++ = ((xmc[10] & 0x3) << 6) \
385 | ((xmc[11] & 0x7) << 3) \
387 *__c++ = ((Nc[1] & 0x7F) << 1) \
388 | ((bc[1] >> 1) & 0x1); \
389 *__c++ = ((bc[1] & 0x1) << 7) \
390 | ((Mc[1] & 0x3) << 5) \
391 | ((xmaxc[1] >> 1) & 0x1F); \
392 *__c++ = ((xmaxc[1] & 0x1) << 7) \
393 | ((xmc[13] & 0x7) << 4) \
394 | ((xmc[14] & 0x7) << 1) \
395 | ((xmc[15] >> 2) & 0x1); \
396 *__c++ = ((xmc[15] & 0x3) << 6) \
397 | ((xmc[16] & 0x7) << 3) \
399 *__c++ = ((xmc[18] & 0x7) << 5) \
400 | ((xmc[19] & 0x7) << 2) \
401 | ((xmc[20] >> 1) & 0x3); \
402 *__c++ = ((xmc[20] & 0x1) << 7) \
403 | ((xmc[21] & 0x7) << 4) \
404 | ((xmc[22] & 0x7) << 1) \
405 | ((xmc[23] >> 2) & 0x1); \
406 *__c++ = ((xmc[23] & 0x3) << 6) \
407 | ((xmc[24] & 0x7) << 3) \
409 *__c++ = ((Nc[2] & 0x7F) << 1) \
410 | ((bc[2] >> 1) & 0x1); \
411 *__c++ = ((bc[2] & 0x1) << 7) \
412 | ((Mc[2] & 0x3) << 5) \
413 | ((xmaxc[2] >> 1) & 0x1F); \
414 *__c++ = ((xmaxc[2] & 0x1) << 7) \
415 | ((xmc[26] & 0x7) << 4) \
416 | ((xmc[27] & 0x7) << 1) \
417 | ((xmc[28] >> 2) & 0x1); \
418 *__c++ = ((xmc[28] & 0x3) << 6) \
419 | ((xmc[29] & 0x7) << 3) \
421 *__c++ = ((xmc[31] & 0x7) << 5) \
422 | ((xmc[32] & 0x7) << 2) \
423 | ((xmc[33] >> 1) & 0x3); \
424 *__c++ = ((xmc[33] & 0x1) << 7) \
425 | ((xmc[34] & 0x7) << 4) \
426 | ((xmc[35] & 0x7) << 1) \
427 | ((xmc[36] >> 2) & 0x1); \
428 *__c++ = ((xmc[36] & 0x3) << 6) \
429 | ((xmc[37] & 0x7) << 3) \
431 *__c++ = ((Nc[3] & 0x7F) << 1) \
432 | ((bc[3] >> 1) & 0x1); \
433 *__c++ = ((bc[3] & 0x1) << 7) \
434 | ((Mc[3] & 0x3) << 5) \
435 | ((xmaxc[3] >> 1) & 0x1F); \
436 *__c++ = ((xmaxc[3] & 0x1) << 7) \
437 | ((xmc[39] & 0x7) << 4) \
438 | ((xmc[40] & 0x7) << 1) \
439 | ((xmc[41] >> 2) & 0x1); \
440 *__c++ = ((xmc[41] & 0x3) << 6) \
441 | ((xmc[42] & 0x7) << 3) \
443 *__c++ = ((xmc[44] & 0x7) << 5) \
444 | ((xmc[45] & 0x7) << 2) \
445 | ((xmc[46] >> 1) & 0x3); \
446 *__c++ = ((xmc[46] & 0x1) << 7) \
447 | ((xmc[47] & 0x7) << 4) \
448 | ((xmc[48] & 0x7) << 1) \
449 | ((xmc[49] >> 2) & 0x1); \
450 *__c++ = ((xmc[49] & 0x3) << 6) \
451 | ((xmc[50] & 0x7) << 3) \
458 unsigned int frame_chain;
459 unsigned int LARc[8], Nc[4], Mc[4], bc[4], xmaxc[4];
461 unsigned int xmc[13*4] = { 0, };
464 LARc[0] = sr & 0x3f; sr >>= 6;
465 sr |= (
uword)*c++ << 2;
466 LARc[1] = sr & 0x3f; sr >>= 6;
467 sr |= (
uword)*c++ << 4;
468 LARc[2] = sr & 0x1f; sr >>= 5;
469 LARc[3] = sr & 0x1f; sr >>= 5;
470 sr |= (
uword)*c++ << 2;
471 LARc[4] = sr & 0xf; sr >>= 4;
472 LARc[5] = sr & 0xf; sr >>= 4;
473 sr |= (
uword)*c++ << 2;
474 LARc[6] = sr & 0x7; sr >>= 3;
475 LARc[7] = sr & 0x7; sr >>= 3;
476 sr |= (
uword)*c++ << 4;
477 Nc[0] = sr & 0x7f; sr >>= 7;
478 bc[0] = sr & 0x3; sr >>= 2;
479 Mc[0] = sr & 0x3; sr >>= 2;
480 sr |= (
uword)*c++ << 1;
481 xmaxc[0] = sr & 0x3f; sr >>= 6;
482 xmc[0] = sr & 0x7; sr >>= 3;
484 xmc[1] = sr & 0x7; sr >>= 3;
485 xmc[2] = sr & 0x7; sr >>= 3;
486 sr |= (
uword)*c++ << 2;
487 xmc[3] = sr & 0x7; sr >>= 3;
488 xmc[4] = sr & 0x7; sr >>= 3;
489 xmc[5] = sr & 0x7; sr >>= 3;
490 sr |= (
uword)*c++ << 1;
491 xmc[6] = sr & 0x7; sr >>= 3;
492 xmc[7] = sr & 0x7; sr >>= 3;
493 xmc[8] = sr & 0x7; sr >>= 3;
495 xmc[9] = sr & 0x7; sr >>= 3;
496 xmc[10] = sr & 0x7; sr >>= 3;
497 sr |= (
uword)*c++ << 2;
498 xmc[11] = sr & 0x7; sr >>= 3;
499 xmc[12] = sr & 0x7; sr >>= 3;
500 sr |= (
uword)*c++ << 4;
501 Nc[1] = sr & 0x7f; sr >>= 7;
502 bc[1] = sr & 0x3; sr >>= 2;
503 Mc[1] = sr & 0x3; sr >>= 2;
504 sr |= (
uword)*c++ << 1;
505 xmaxc[1] = sr & 0x3f; sr >>= 6;
506 xmc[13] = sr & 0x7; sr >>= 3;
508 xmc[14] = sr & 0x7; sr >>= 3;
509 xmc[15] = sr & 0x7; sr >>= 3;
510 sr |= (
uword)*c++ << 2;
511 xmc[16] = sr & 0x7; sr >>= 3;
512 xmc[17] = sr & 0x7; sr >>= 3;
513 xmc[18] = sr & 0x7; sr >>= 3;
514 sr |= (
uword)*c++ << 1;
515 xmc[19] = sr & 0x7; sr >>= 3;
516 xmc[20] = sr & 0x7; sr >>= 3;
517 xmc[21] = sr & 0x7; sr >>= 3;
519 xmc[22] = sr & 0x7; sr >>= 3;
520 xmc[23] = sr & 0x7; sr >>= 3;
521 sr |= (
uword)*c++ << 2;
522 xmc[24] = sr & 0x7; sr >>= 3;
523 xmc[25] = sr & 0x7; sr >>= 3;
524 sr |= (
uword)*c++ << 4;
525 Nc[2] = sr & 0x7f; sr >>= 7;
526 bc[2] = sr & 0x3; sr >>= 2;
527 Mc[2] = sr & 0x3; sr >>= 2;
528 sr |= (
uword)*c++ << 1;
529 xmaxc[2] = sr & 0x3f; sr >>= 6;
530 xmc[26] = sr & 0x7; sr >>= 3;
532 xmc[27] = sr & 0x7; sr >>= 3;
533 xmc[28] = sr & 0x7; sr >>= 3;
534 sr |= (
uword)*c++ << 2;
535 xmc[29] = sr & 0x7; sr >>= 3;
536 xmc[30] = sr & 0x7; sr >>= 3;
537 xmc[31] = sr & 0x7; sr >>= 3;
538 sr |= (
uword)*c++ << 1;
539 xmc[32] = sr & 0x7; sr >>= 3;
540 xmc[33] = sr & 0x7; sr >>= 3;
541 xmc[34] = sr & 0x7; sr >>= 3;
543 xmc[35] = sr & 0x7; sr >>= 3;
544 xmc[36] = sr & 0x7; sr >>= 3;
545 sr |= (
uword)*c++ << 2;
546 xmc[37] = sr & 0x7; sr >>= 3;
547 xmc[38] = sr & 0x7; sr >>= 3;
548 sr |= (
uword)*c++ << 4;
549 Nc[3] = sr & 0x7f; sr >>= 7;
550 bc[3] = sr & 0x3; sr >>= 2;
551 Mc[3] = sr & 0x3; sr >>= 2;
552 sr |= (
uword)*c++ << 1;
553 xmaxc[3] = sr & 0x3f; sr >>= 6;
554 xmc[39] = sr & 0x7; sr >>= 3;
556 xmc[40] = sr & 0x7; sr >>= 3;
557 xmc[41] = sr & 0x7; sr >>= 3;
558 sr |= (
uword)*c++ << 2;
559 xmc[42] = sr & 0x7; sr >>= 3;
560 xmc[43] = sr & 0x7; sr >>= 3;
561 xmc[44] = sr & 0x7; sr >>= 3;
562 sr |= (
uword)*c++ << 1;
563 xmc[45] = sr & 0x7; sr >>= 3;
564 xmc[46] = sr & 0x7; sr >>= 3;
565 xmc[47] = sr & 0x7; sr >>= 3;
567 xmc[49] = sr & 0x7; sr >>= 3;
568 sr |= (
uword)*c++ << 2;
569 xmc[50] = sr & 0x7; sr >>= 3;
570 xmc[51] = sr & 0x7; sr >>= 3;
572 frame_chain = sr & 0xf;
579 sr |= (
uword)*c++ << 4;
580 LARc[0] = sr & 0x3f; sr >>= 6;
581 LARc[1] = sr & 0x3f; sr >>= 6;
583 LARc[2] = sr & 0x1f; sr >>= 5;
584 sr |= (
uword)*c++ << 3;
585 LARc[3] = sr & 0x1f; sr >>= 5;
586 LARc[4] = sr & 0xf; sr >>= 4;
587 sr |= (
uword)*c++ << 2;
588 LARc[5] = sr & 0xf; sr >>= 4;
589 LARc[6] = sr & 0x7; sr >>= 3;
590 LARc[7] = sr & 0x7; sr >>= 3;
592 Nc[0] = sr & 0x7f; sr >>= 7;
593 sr |= (
uword)*c++ << 1;
594 bc[0] = sr & 0x3; sr >>= 2;
595 Mc[0] = sr & 0x3; sr >>= 2;
596 sr |= (
uword)*c++ << 5;
597 xmaxc[0] = sr & 0x3f; sr >>= 6;
598 xmc[0] = sr & 0x7; sr >>= 3;
599 xmc[1] = sr & 0x7; sr >>= 3;
600 sr |= (
uword)*c++ << 1;
601 xmc[2] = sr & 0x7; sr >>= 3;
602 xmc[3] = sr & 0x7; sr >>= 3;
603 xmc[4] = sr & 0x7; sr >>= 3;
605 xmc[5] = sr & 0x7; sr >>= 3;
606 xmc[6] = sr & 0x7; sr >>= 3;
607 sr |= (
uword)*c++ << 2;
608 xmc[7] = sr & 0x7; sr >>= 3;
609 xmc[8] = sr & 0x7; sr >>= 3;
610 xmc[9] = sr & 0x7; sr >>= 3;
611 sr |= (
uword)*c++ << 1;
612 xmc[10] = sr & 0x7; sr >>= 3;
613 xmc[11] = sr & 0x7; sr >>= 3;
614 xmc[12] = sr & 0x7; sr >>= 3;
616 Nc[1] = sr & 0x7f; sr >>= 7;
617 sr |= (
uword)*c++ << 1;
618 bc[1] = sr & 0x3; sr >>= 2;
619 Mc[1] = sr & 0x3; sr >>= 2;
620 sr |= (
uword)*c++ << 5;
621 xmaxc[1] = sr & 0x3f; sr >>= 6;
622 xmc[13] = sr & 0x7; sr >>= 3;
623 xmc[14] = sr & 0x7; sr >>= 3;
624 sr |= (
uword)*c++ << 1;
625 xmc[15] = sr & 0x7; sr >>= 3;
626 xmc[16] = sr & 0x7; sr >>= 3;
627 xmc[17] = sr & 0x7; sr >>= 3;
629 xmc[18] = sr & 0x7; sr >>= 3;
630 xmc[19] = sr & 0x7; sr >>= 3;
631 sr |= (
uword)*c++ << 2;
632 xmc[20] = sr & 0x7; sr >>= 3;
633 xmc[21] = sr & 0x7; sr >>= 3;
634 xmc[22] = sr & 0x7; sr >>= 3;
635 sr |= (
uword)*c++ << 1;
636 xmc[23] = sr & 0x7; sr >>= 3;
637 xmc[24] = sr & 0x7; sr >>= 3;
638 xmc[25] = sr & 0x7; sr >>= 3;
640 Nc[2] = sr & 0x7f; sr >>= 7;
641 sr |= (
uword)*c++ << 1;
642 bc[2] = sr & 0x3; sr >>= 2;
643 Mc[2] = sr & 0x3; sr >>= 2;
644 sr |= (
uword)*c++ << 5;
645 xmaxc[2] = sr & 0x3f; sr >>= 6;
646 xmc[26] = sr & 0x7; sr >>= 3;
647 xmc[27] = sr & 0x7; sr >>= 3;
648 sr |= (
uword)*c++ << 1;
649 xmc[28] = sr & 0x7; sr >>= 3;
650 xmc[29] = sr & 0x7; sr >>= 3;
651 xmc[30] = sr & 0x7; sr >>= 3;
653 xmc[31] = sr & 0x7; sr >>= 3;
654 xmc[32] = sr & 0x7; sr >>= 3;
655 sr |= (
uword)*c++ << 2;
656 xmc[33] = sr & 0x7; sr >>= 3;
657 xmc[34] = sr & 0x7; sr >>= 3;
658 xmc[35] = sr & 0x7; sr >>= 3;
659 sr |= (
uword)*c++ << 1;
660 xmc[36] = sr & 0x7; sr >>= 3;
661 xmc[37] = sr & 0x7; sr >>= 3;
662 xmc[38] = sr & 0x7; sr >>= 3;
664 Nc[3] = sr & 0x7f; sr >>= 7;
665 sr |= (
uword)*c++ << 1;
666 bc[3] = sr & 0x3; sr >>= 2;
667 Mc[3] = sr & 0x3; sr >>= 2;
668 sr |= (
uword)*c++ << 5;
669 xmaxc[3] = sr & 0x3f; sr >>= 6;
670 xmc[39] = sr & 0x7; sr >>= 3;
671 xmc[40] = sr & 0x7; sr >>= 3;
672 sr |= (
uword)*c++ << 1;
673 xmc[41] = sr & 0x7; sr >>= 3;
674 xmc[42] = sr & 0x7; sr >>= 3;
675 xmc[43] = sr & 0x7; sr >>= 3;
677 xmc[44] = sr & 0x7; sr >>= 3;
678 xmc[45] = sr & 0x7; sr >>= 3;
679 sr |= (
uword)*c++ << 2;
680 xmc[46] = sr & 0x7; sr >>= 3;
681 xmc[47] = sr & 0x7; sr >>= 3;
682 xmc[48] = sr & 0x7; sr >>= 3;
683 sr |= (
uword)*c++ << 1;
684 xmc[49] = sr & 0x7; sr >>= 3;
685 xmc[50] = sr & 0x7; sr >>= 3;
686 xmc[51] = sr & 0x7; sr >>= 3;
static void conv65(wav_byte *c, gsm_byte *d)
static void conv66(gsm_byte *d, wav_byte *c)