~ubuntu-branches/ubuntu/wily/sflphone/wily

« back to all changes in this revision

Viewing changes to daemon/libs/pjproject-2.1.0/third_party/gsm/src/gsm_encode.c

  • Committer: Package Import Robot
  • Author(s): Mark Purcell
  • Date: 2014-01-28 18:23:36 UTC
  • mfrom: (1.1.11)
  • mto: This revision was merged to the branch mainline in revision 24.
  • Revision ID: package-import@ubuntu.com-20140128182336-3xenud1kbnwmf3mz
* New upstream release 
  - Fixes "New Upstream Release" (Closes: #735846)
  - Fixes "Ringtone does not stop" (Closes: #727164)
  - Fixes "[sflphone-kde] crash on startup" (Closes: #718178)
  - Fixes "sflphone GUI crashes when call is hung up" (Closes: #736583)
* Build-Depends: ensure GnuTLS 2.6
  - libucommon-dev (>= 6.0.7-1.1), libccrtp-dev (>= 2.0.6-3)
  - Fixes "FTBFS Build-Depends libgnutls{26,28}-dev" (Closes: #722040)
* Fix "boost 1.49 is going away" unversioned Build-Depends: (Closes: #736746)
* Add Build-Depends: libsndfile-dev, nepomuk-core-dev

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/*
 
2
 * Copyright 1992 by Jutta Degener and Carsten Bormann, Technische
 
3
 * Universitaet Berlin.  See the accompanying file "COPYRIGHT" for
 
4
 * details.  THERE IS ABSOLUTELY NO WARRANTY FOR THIS SOFTWARE.
 
5
 */
 
6
 
 
7
/* $Header: /tmp_amd/presto/export/kbs/jutta/src/gsm/RCS/gsm_encode.c,v 1.2 1996/07/02 09:59:05 jutta Exp $ */
 
8
 
 
9
#include "private.h"
 
10
#include "gsm.h"
 
11
#include "proto.h"
 
12
 
 
13
void gsm_encode P3((s, source, c), gsm s, gsm_signal * source, gsm_byte * c)
 
14
{
 
15
        word            LARc[8], Nc[4], Mc[4], bc[4], xmaxc[4], xmc[13*4];
 
16
 
 
17
        Gsm_Coder(s, source, LARc, Nc, bc, Mc, xmaxc, xmc);
 
18
 
 
19
 
 
20
        /*      variable        size
 
21
 
 
22
                GSM_MAGIC       4
 
23
 
 
24
                LARc[0]         6
 
25
                LARc[1]         6
 
26
                LARc[2]         5
 
27
                LARc[3]         5
 
28
                LARc[4]         4
 
29
                LARc[5]         4
 
30
                LARc[6]         3
 
31
                LARc[7]         3
 
32
 
 
33
                Nc[0]           7
 
34
                bc[0]           2
 
35
                Mc[0]           2
 
36
                xmaxc[0]        6
 
37
                xmc[0]          3
 
38
                xmc[1]          3
 
39
                xmc[2]          3
 
40
                xmc[3]          3
 
41
                xmc[4]          3
 
42
                xmc[5]          3
 
43
                xmc[6]          3
 
44
                xmc[7]          3
 
45
                xmc[8]          3
 
46
                xmc[9]          3
 
47
                xmc[10]         3
 
48
                xmc[11]         3
 
49
                xmc[12]         3
 
50
 
 
51
                Nc[1]           7
 
52
                bc[1]           2
 
53
                Mc[1]           2
 
54
                xmaxc[1]        6
 
55
                xmc[13]         3
 
56
                xmc[14]         3
 
57
                xmc[15]         3
 
58
                xmc[16]         3
 
59
                xmc[17]         3
 
60
                xmc[18]         3
 
61
                xmc[19]         3
 
62
                xmc[20]         3
 
63
                xmc[21]         3
 
64
                xmc[22]         3
 
65
                xmc[23]         3
 
66
                xmc[24]         3
 
67
                xmc[25]         3
 
68
 
 
69
                Nc[2]           7
 
70
                bc[2]           2
 
71
                Mc[2]           2
 
72
                xmaxc[2]        6
 
73
                xmc[26]         3
 
74
                xmc[27]         3
 
75
                xmc[28]         3
 
76
                xmc[29]         3
 
77
                xmc[30]         3
 
78
                xmc[31]         3
 
79
                xmc[32]         3
 
80
                xmc[33]         3
 
81
                xmc[34]         3
 
82
                xmc[35]         3
 
83
                xmc[36]         3
 
84
                xmc[37]         3
 
85
                xmc[38]         3
 
86
 
 
87
                Nc[3]           7
 
88
                bc[3]           2
 
89
                Mc[3]           2
 
90
                xmaxc[3]        6
 
91
                xmc[39]         3
 
92
                xmc[40]         3
 
93
                xmc[41]         3
 
94
                xmc[42]         3
 
95
                xmc[43]         3
 
96
                xmc[44]         3
 
97
                xmc[45]         3
 
98
                xmc[46]         3
 
99
                xmc[47]         3
 
100
                xmc[48]         3
 
101
                xmc[49]         3
 
102
                xmc[50]         3
 
103
                xmc[51]         3
 
104
        */
 
105
 
 
106
#ifdef WAV49
 
107
 
 
108
        if (s->wav_fmt) {
 
109
                s->frame_index = !s->frame_index;
 
110
                if (s->frame_index) {
 
111
 
 
112
                        uword sr;
 
113
 
 
114
                        sr = 0;
 
115
                        sr = sr >> 6 | LARc[0] << 10;
 
116
                        sr = sr >> 6 | LARc[1] << 10;
 
117
                        *c++ = sr >> 4;
 
118
                        sr = sr >> 5 | LARc[2] << 11;
 
119
                        *c++ = sr >> 7;
 
120
                        sr = sr >> 5 | LARc[3] << 11;
 
121
                        sr = sr >> 4 | LARc[4] << 12;
 
122
                        *c++ = sr >> 6;
 
123
                        sr = sr >> 4 | LARc[5] << 12;
 
124
                        sr = sr >> 3 | LARc[6] << 13;
 
125
                        *c++ = sr >> 7;
 
126
                        sr = sr >> 3 | LARc[7] << 13;
 
127
                        sr = sr >> 7 | Nc[0] << 9;
 
128
                        *c++ = sr >> 5;
 
129
                        sr = sr >> 2 | bc[0] << 14;
 
130
                        sr = sr >> 2 | Mc[0] << 14;
 
131
                        sr = sr >> 6 | xmaxc[0] << 10;
 
132
                        *c++ = sr >> 3;
 
133
                        sr = sr >> 3 | xmc[0] << 13;
 
134
                        *c++ = sr >> 8;
 
135
                        sr = sr >> 3 | xmc[1] << 13;
 
136
                        sr = sr >> 3 | xmc[2] << 13;
 
137
                        sr = sr >> 3 | xmc[3] << 13;
 
138
                        *c++ = sr >> 7;
 
139
                        sr = sr >> 3 | xmc[4] << 13;
 
140
                        sr = sr >> 3 | xmc[5] << 13;
 
141
                        sr = sr >> 3 | xmc[6] << 13;
 
142
                        *c++ = sr >> 6;
 
143
                        sr = sr >> 3 | xmc[7] << 13;
 
144
                        sr = sr >> 3 | xmc[8] << 13;
 
145
                        *c++ = sr >> 8;
 
146
                        sr = sr >> 3 | xmc[9] << 13;
 
147
                        sr = sr >> 3 | xmc[10] << 13;
 
148
                        sr = sr >> 3 | xmc[11] << 13;
 
149
                        *c++ = sr >> 7;
 
150
                        sr = sr >> 3 | xmc[12] << 13;
 
151
                        sr = sr >> 7 | Nc[1] << 9;
 
152
                        *c++ = sr >> 5;
 
153
                        sr = sr >> 2 | bc[1] << 14;
 
154
                        sr = sr >> 2 | Mc[1] << 14;
 
155
                        sr = sr >> 6 | xmaxc[1] << 10;
 
156
                        *c++ = sr >> 3;
 
157
                        sr = sr >> 3 | xmc[13] << 13;
 
158
                        *c++ = sr >> 8;
 
159
                        sr = sr >> 3 | xmc[14] << 13;
 
160
                        sr = sr >> 3 | xmc[15] << 13;
 
161
                        sr = sr >> 3 | xmc[16] << 13;
 
162
                        *c++ = sr >> 7;
 
163
                        sr = sr >> 3 | xmc[17] << 13;
 
164
                        sr = sr >> 3 | xmc[18] << 13;
 
165
                        sr = sr >> 3 | xmc[19] << 13;
 
166
                        *c++ = sr >> 6;
 
167
                        sr = sr >> 3 | xmc[20] << 13;
 
168
                        sr = sr >> 3 | xmc[21] << 13;
 
169
                        *c++ = sr >> 8;
 
170
                        sr = sr >> 3 | xmc[22] << 13;
 
171
                        sr = sr >> 3 | xmc[23] << 13;
 
172
                        sr = sr >> 3 | xmc[24] << 13;
 
173
                        *c++ = sr >> 7;
 
174
                        sr = sr >> 3 | xmc[25] << 13;
 
175
                        sr = sr >> 7 | Nc[2] << 9;
 
176
                        *c++ = sr >> 5;
 
177
                        sr = sr >> 2 | bc[2] << 14;
 
178
                        sr = sr >> 2 | Mc[2] << 14;
 
179
                        sr = sr >> 6 | xmaxc[2] << 10;
 
180
                        *c++ = sr >> 3;
 
181
                        sr = sr >> 3 | xmc[26] << 13;
 
182
                        *c++ = sr >> 8;
 
183
                        sr = sr >> 3 | xmc[27] << 13;
 
184
                        sr = sr >> 3 | xmc[28] << 13;
 
185
                        sr = sr >> 3 | xmc[29] << 13;
 
186
                        *c++ = sr >> 7;
 
187
                        sr = sr >> 3 | xmc[30] << 13;
 
188
                        sr = sr >> 3 | xmc[31] << 13;
 
189
                        sr = sr >> 3 | xmc[32] << 13;
 
190
                        *c++ = sr >> 6;
 
191
                        sr = sr >> 3 | xmc[33] << 13;
 
192
                        sr = sr >> 3 | xmc[34] << 13;
 
193
                        *c++ = sr >> 8;
 
194
                        sr = sr >> 3 | xmc[35] << 13;
 
195
                        sr = sr >> 3 | xmc[36] << 13;
 
196
                        sr = sr >> 3 | xmc[37] << 13;
 
197
                        *c++ = sr >> 7;
 
198
                        sr = sr >> 3 | xmc[38] << 13;
 
199
                        sr = sr >> 7 | Nc[3] << 9;
 
200
                        *c++ = sr >> 5;
 
201
                        sr = sr >> 2 | bc[3] << 14;
 
202
                        sr = sr >> 2 | Mc[3] << 14;
 
203
                        sr = sr >> 6 | xmaxc[3] << 10;
 
204
                        *c++ = sr >> 3;
 
205
                        sr = sr >> 3 | xmc[39] << 13;
 
206
                        *c++ = sr >> 8;
 
207
                        sr = sr >> 3 | xmc[40] << 13;
 
208
                        sr = sr >> 3 | xmc[41] << 13;
 
209
                        sr = sr >> 3 | xmc[42] << 13;
 
210
                        *c++ = sr >> 7;
 
211
                        sr = sr >> 3 | xmc[43] << 13;
 
212
                        sr = sr >> 3 | xmc[44] << 13;
 
213
                        sr = sr >> 3 | xmc[45] << 13;
 
214
                        *c++ = sr >> 6;
 
215
                        sr = sr >> 3 | xmc[46] << 13;
 
216
                        sr = sr >> 3 | xmc[47] << 13;
 
217
                        *c++ = sr >> 8;
 
218
                        sr = sr >> 3 | xmc[48] << 13;
 
219
                        sr = sr >> 3 | xmc[49] << 13;
 
220
                        sr = sr >> 3 | xmc[50] << 13;
 
221
                        *c++ = sr >> 7;
 
222
                        sr = sr >> 3 | xmc[51] << 13;
 
223
                        sr = sr >> 4;
 
224
                        *c = sr >> 8;
 
225
                        s->frame_chain = *c;
 
226
                }
 
227
                else {
 
228
                        uword sr;
 
229
 
 
230
                        sr = 0;
 
231
                        sr = sr >> 4 | s->frame_chain << 12;
 
232
                        sr = sr >> 6 | LARc[0] << 10;
 
233
                        *c++ = sr >> 6;
 
234
                        sr = sr >> 6 | LARc[1] << 10;
 
235
                        *c++ = sr >> 8;
 
236
                        sr = sr >> 5 | LARc[2] << 11;
 
237
                        sr = sr >> 5 | LARc[3] << 11;
 
238
                        *c++ = sr >> 6;
 
239
                        sr = sr >> 4 | LARc[4] << 12;
 
240
                        sr = sr >> 4 | LARc[5] << 12;
 
241
                        *c++ = sr >> 6;
 
242
                        sr = sr >> 3 | LARc[6] << 13;
 
243
                        sr = sr >> 3 | LARc[7] << 13;
 
244
                        *c++ = sr >> 8;
 
245
                        sr = sr >> 7 | Nc[0] << 9;
 
246
                        sr = sr >> 2 | bc[0] << 14;
 
247
                        *c++ = sr >> 7;
 
248
                        sr = sr >> 2 | Mc[0] << 14;
 
249
                        sr = sr >> 6 | xmaxc[0] << 10;
 
250
                        *c++ = sr >> 7;
 
251
                        sr = sr >> 3 | xmc[0] << 13;
 
252
                        sr = sr >> 3 | xmc[1] << 13;
 
253
                        sr = sr >> 3 | xmc[2] << 13;
 
254
                        *c++ = sr >> 6;
 
255
                        sr = sr >> 3 | xmc[3] << 13;
 
256
                        sr = sr >> 3 | xmc[4] << 13;
 
257
                        *c++ = sr >> 8;
 
258
                        sr = sr >> 3 | xmc[5] << 13;
 
259
                        sr = sr >> 3 | xmc[6] << 13;
 
260
                        sr = sr >> 3 | xmc[7] << 13;
 
261
                        *c++ = sr >> 7;
 
262
                        sr = sr >> 3 | xmc[8] << 13;
 
263
                        sr = sr >> 3 | xmc[9] << 13;
 
264
                        sr = sr >> 3 | xmc[10] << 13;
 
265
                        *c++ = sr >> 6;
 
266
                        sr = sr >> 3 | xmc[11] << 13;
 
267
                        sr = sr >> 3 | xmc[12] << 13;
 
268
                        *c++ = sr >> 8;
 
269
                        sr = sr >> 7 | Nc[1] << 9;
 
270
                        sr = sr >> 2 | bc[1] << 14;
 
271
                        *c++ = sr >> 7;
 
272
                        sr = sr >> 2 | Mc[1] << 14;
 
273
                        sr = sr >> 6 | xmaxc[1] << 10;
 
274
                        *c++ = sr >> 7;
 
275
                        sr = sr >> 3 | xmc[13] << 13;
 
276
                        sr = sr >> 3 | xmc[14] << 13;
 
277
                        sr = sr >> 3 | xmc[15] << 13;
 
278
                        *c++ = sr >> 6;
 
279
                        sr = sr >> 3 | xmc[16] << 13;
 
280
                        sr = sr >> 3 | xmc[17] << 13;
 
281
                        *c++ = sr >> 8;
 
282
                        sr = sr >> 3 | xmc[18] << 13;
 
283
                        sr = sr >> 3 | xmc[19] << 13;
 
284
                        sr = sr >> 3 | xmc[20] << 13;
 
285
                        *c++ = sr >> 7;
 
286
                        sr = sr >> 3 | xmc[21] << 13;
 
287
                        sr = sr >> 3 | xmc[22] << 13;
 
288
                        sr = sr >> 3 | xmc[23] << 13;
 
289
                        *c++ = sr >> 6;
 
290
                        sr = sr >> 3 | xmc[24] << 13;
 
291
                        sr = sr >> 3 | xmc[25] << 13;
 
292
                        *c++ = sr >> 8;
 
293
                        sr = sr >> 7 | Nc[2] << 9;
 
294
                        sr = sr >> 2 | bc[2] << 14;
 
295
                        *c++ = sr >> 7;
 
296
                        sr = sr >> 2 | Mc[2] << 14;
 
297
                        sr = sr >> 6 | xmaxc[2] << 10;
 
298
                        *c++ = sr >> 7;
 
299
                        sr = sr >> 3 | xmc[26] << 13;
 
300
                        sr = sr >> 3 | xmc[27] << 13;
 
301
                        sr = sr >> 3 | xmc[28] << 13;
 
302
                        *c++ = sr >> 6;
 
303
                        sr = sr >> 3 | xmc[29] << 13;
 
304
                        sr = sr >> 3 | xmc[30] << 13;
 
305
                        *c++ = sr >> 8;
 
306
                        sr = sr >> 3 | xmc[31] << 13;
 
307
                        sr = sr >> 3 | xmc[32] << 13;
 
308
                        sr = sr >> 3 | xmc[33] << 13;
 
309
                        *c++ = sr >> 7;
 
310
                        sr = sr >> 3 | xmc[34] << 13;
 
311
                        sr = sr >> 3 | xmc[35] << 13;
 
312
                        sr = sr >> 3 | xmc[36] << 13;
 
313
                        *c++ = sr >> 6;
 
314
                        sr = sr >> 3 | xmc[37] << 13;
 
315
                        sr = sr >> 3 | xmc[38] << 13;
 
316
                        *c++ = sr >> 8;
 
317
                        sr = sr >> 7 | Nc[3] << 9;
 
318
                        sr = sr >> 2 | bc[3] << 14;
 
319
                        *c++ = sr >> 7;
 
320
                        sr = sr >> 2 | Mc[3] << 14;
 
321
                        sr = sr >> 6 | xmaxc[3] << 10;
 
322
                        *c++ = sr >> 7;
 
323
                        sr = sr >> 3 | xmc[39] << 13;
 
324
                        sr = sr >> 3 | xmc[40] << 13;
 
325
                        sr = sr >> 3 | xmc[41] << 13;
 
326
                        *c++ = sr >> 6;
 
327
                        sr = sr >> 3 | xmc[42] << 13;
 
328
                        sr = sr >> 3 | xmc[43] << 13;
 
329
                        *c++ = sr >> 8;
 
330
                        sr = sr >> 3 | xmc[44] << 13;
 
331
                        sr = sr >> 3 | xmc[45] << 13;
 
332
                        sr = sr >> 3 | xmc[46] << 13;
 
333
                        *c++ = sr >> 7;
 
334
                        sr = sr >> 3 | xmc[47] << 13;
 
335
                        sr = sr >> 3 | xmc[48] << 13;
 
336
                        sr = sr >> 3 | xmc[49] << 13;
 
337
                        *c++ = sr >> 6;
 
338
                        sr = sr >> 3 | xmc[50] << 13;
 
339
                        sr = sr >> 3 | xmc[51] << 13;
 
340
                        *c++ = sr >> 8;
 
341
                }
 
342
        }
 
343
 
 
344
        else
 
345
 
 
346
#endif  /* WAV49 */
 
347
        {
 
348
 
 
349
                *c++ =   ((GSM_MAGIC & 0xF) << 4)               /* 1 */
 
350
                       | ((LARc[0] >> 2) & 0xF);
 
351
                *c++ =   ((LARc[0] & 0x3) << 6)
 
352
                       | (LARc[1] & 0x3F);
 
353
                *c++ =   ((LARc[2] & 0x1F) << 3)
 
354
                       | ((LARc[3] >> 2) & 0x7);
 
355
                *c++ =   ((LARc[3] & 0x3) << 6)
 
356
                       | ((LARc[4] & 0xF) << 2)
 
357
                       | ((LARc[5] >> 2) & 0x3);
 
358
                *c++ =   ((LARc[5] & 0x3) << 6)
 
359
                       | ((LARc[6] & 0x7) << 3)
 
360
                       | (LARc[7] & 0x7);
 
361
                *c++ =   ((Nc[0] & 0x7F) << 1)
 
362
                       | ((bc[0] >> 1) & 0x1);
 
363
                *c++ =   ((bc[0] & 0x1) << 7)
 
364
                       | ((Mc[0] & 0x3) << 5)
 
365
                       | ((xmaxc[0] >> 1) & 0x1F);
 
366
                *c++ =   ((xmaxc[0] & 0x1) << 7)
 
367
                       | ((xmc[0] & 0x7) << 4)
 
368
                       | ((xmc[1] & 0x7) << 1)
 
369
                       | ((xmc[2] >> 2) & 0x1);
 
370
                *c++ =   ((xmc[2] & 0x3) << 6)
 
371
                       | ((xmc[3] & 0x7) << 3)
 
372
                       | (xmc[4] & 0x7);
 
373
                *c++ =   ((xmc[5] & 0x7) << 5)                  /* 10 */
 
374
                       | ((xmc[6] & 0x7) << 2)
 
375
                       | ((xmc[7] >> 1) & 0x3);
 
376
                *c++ =   ((xmc[7] & 0x1) << 7)
 
377
                       | ((xmc[8] & 0x7) << 4)
 
378
                       | ((xmc[9] & 0x7) << 1)
 
379
                       | ((xmc[10] >> 2) & 0x1);
 
380
                *c++ =   ((xmc[10] & 0x3) << 6)
 
381
                       | ((xmc[11] & 0x7) << 3)
 
382
                       | (xmc[12] & 0x7);
 
383
                *c++ =   ((Nc[1] & 0x7F) << 1)
 
384
                       | ((bc[1] >> 1) & 0x1);
 
385
                *c++ =   ((bc[1] & 0x1) << 7)
 
386
                       | ((Mc[1] & 0x3) << 5)
 
387
                       | ((xmaxc[1] >> 1) & 0x1F);
 
388
                *c++ =   ((xmaxc[1] & 0x1) << 7)
 
389
                       | ((xmc[13] & 0x7) << 4)
 
390
                       | ((xmc[14] & 0x7) << 1)
 
391
                       | ((xmc[15] >> 2) & 0x1);
 
392
                *c++ =   ((xmc[15] & 0x3) << 6)
 
393
                       | ((xmc[16] & 0x7) << 3)
 
394
                       | (xmc[17] & 0x7);
 
395
                *c++ =   ((xmc[18] & 0x7) << 5)
 
396
                       | ((xmc[19] & 0x7) << 2)
 
397
                       | ((xmc[20] >> 1) & 0x3);
 
398
                *c++ =   ((xmc[20] & 0x1) << 7)
 
399
                       | ((xmc[21] & 0x7) << 4)
 
400
                       | ((xmc[22] & 0x7) << 1)
 
401
                       | ((xmc[23] >> 2) & 0x1);
 
402
                *c++ =   ((xmc[23] & 0x3) << 6)
 
403
                       | ((xmc[24] & 0x7) << 3)
 
404
                       | (xmc[25] & 0x7);
 
405
                *c++ =   ((Nc[2] & 0x7F) << 1)                  /* 20 */
 
406
                       | ((bc[2] >> 1) & 0x1);
 
407
                *c++ =   ((bc[2] & 0x1) << 7)
 
408
                       | ((Mc[2] & 0x3) << 5)
 
409
                       | ((xmaxc[2] >> 1) & 0x1F);
 
410
                *c++ =   ((xmaxc[2] & 0x1) << 7)
 
411
                       | ((xmc[26] & 0x7) << 4)
 
412
                       | ((xmc[27] & 0x7) << 1)
 
413
                       | ((xmc[28] >> 2) & 0x1);
 
414
                *c++ =   ((xmc[28] & 0x3) << 6)
 
415
                       | ((xmc[29] & 0x7) << 3)
 
416
                       | (xmc[30] & 0x7);
 
417
                *c++ =   ((xmc[31] & 0x7) << 5)
 
418
                       | ((xmc[32] & 0x7) << 2)
 
419
                       | ((xmc[33] >> 1) & 0x3);
 
420
                *c++ =   ((xmc[33] & 0x1) << 7)
 
421
                       | ((xmc[34] & 0x7) << 4)
 
422
                       | ((xmc[35] & 0x7) << 1)
 
423
                       | ((xmc[36] >> 2) & 0x1);
 
424
                *c++ =   ((xmc[36] & 0x3) << 6)
 
425
                       | ((xmc[37] & 0x7) << 3)
 
426
                       | (xmc[38] & 0x7);
 
427
                *c++ =   ((Nc[3] & 0x7F) << 1)
 
428
                       | ((bc[3] >> 1) & 0x1);
 
429
                *c++ =   ((bc[3] & 0x1) << 7)
 
430
                       | ((Mc[3] & 0x3) << 5)
 
431
                       | ((xmaxc[3] >> 1) & 0x1F);
 
432
                *c++ =   ((xmaxc[3] & 0x1) << 7)
 
433
                       | ((xmc[39] & 0x7) << 4)
 
434
                       | ((xmc[40] & 0x7) << 1)
 
435
                       | ((xmc[41] >> 2) & 0x1);
 
436
                *c++ =   ((xmc[41] & 0x3) << 6)                 /* 30 */
 
437
                       | ((xmc[42] & 0x7) << 3)
 
438
                       | (xmc[43] & 0x7);
 
439
                *c++ =   ((xmc[44] & 0x7) << 5)
 
440
                       | ((xmc[45] & 0x7) << 2)
 
441
                       | ((xmc[46] >> 1) & 0x3);
 
442
                *c++ =   ((xmc[46] & 0x1) << 7)
 
443
                       | ((xmc[47] & 0x7) << 4)
 
444
                       | ((xmc[48] & 0x7) << 1)
 
445
                       | ((xmc[49] >> 2) & 0x1);
 
446
                *c++ =   ((xmc[49] & 0x3) << 6)
 
447
                       | ((xmc[50] & 0x7) << 3)
 
448
                       | (xmc[51] & 0x7);
 
449
 
 
450
        }
 
451
}