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

« back to all changes in this revision

Viewing changes to daemon/libs/pjproject-2.0.1/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
 
}