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