This source file includes following definitions.
- change_sign8
- change_sign16_le
- change_sign16_be
- swap_bytes
- swap_bytes_change_sign16_le
- swap_bytes_change_sign16_be
- change_sign16_swap_bytes_le
- change_sign16_swap_bytes_be
- linear8_to_linear16_le
- linear8_to_linear16_be
- linear16_to_linear8_le
- linear16_to_linear8_be
- ulinear8_to_linear16_le
- ulinear8_to_linear16_be
- linear16_to_ulinear8_le
- linear16_to_ulinear8_be
- noswap_bytes_mts
- swap_bytes_mts
- linear8_to_linear16_le_mts
- linear8_to_linear16_be_mts
- ulinear8_to_linear16_le_mts
- ulinear8_to_linear16_be_mts
- change_sign16_le_mts
- change_sign16_be_mts
- change_sign16_swap_bytes_le_mts
- change_sign16_swap_bytes_be_mts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38 #include <sys/types.h>
39 #include <sys/audioio.h>
40 #include <dev/auconv.h>
41
42 void
43 change_sign8(void *v, u_char *p, int cc)
44 {
45 while (--cc >= 0) {
46 *p ^= 0x80;
47 ++p;
48 }
49 }
50
51 void
52 change_sign16_le(void *v, u_char *p, int cc)
53 {
54 while ((cc -= 2) >= 0) {
55 p[1] ^= 0x80;
56 p += 2;
57 }
58 }
59
60 void
61 change_sign16_be(void *v, u_char *p, int cc)
62 {
63 while ((cc -= 2) >= 0) {
64 p[0] ^= 0x80;
65 p += 2;
66 }
67 }
68
69 void
70 swap_bytes(void *v, u_char *p, int cc)
71 {
72 u_char t;
73
74 while ((cc -= 2) >= 0) {
75 t = p[0];
76 p[0] = p[1];
77 p[1] = t;
78 p += 2;
79 }
80 }
81
82 void
83 swap_bytes_change_sign16_le(void *v, u_char *p, int cc)
84 {
85 u_char t;
86
87 while ((cc -= 2) >= 0) {
88 t = p[1];
89 p[1] = p[0] ^ 0x80;
90 p[0] = t;
91 p += 2;
92 }
93 }
94
95 void
96 swap_bytes_change_sign16_be(void *v, u_char *p, int cc)
97 {
98 u_char t;
99
100 while ((cc -= 2) >= 0) {
101 t = p[0];
102 p[0] = p[1] ^ 0x80;
103 p[1] = t;
104 p += 2;
105 }
106 }
107
108 void
109 change_sign16_swap_bytes_le(void *v, u_char *p, int cc)
110 {
111 swap_bytes_change_sign16_be(v, p, cc);
112 }
113
114 void
115 change_sign16_swap_bytes_be(void *v, u_char *p, int cc)
116 {
117 swap_bytes_change_sign16_le(v, p, cc);
118 }
119
120 void
121 linear8_to_linear16_le(void *v, u_char *p, int cc)
122 {
123 u_char *q = p;
124
125 p += cc;
126 q += cc * 2;
127 while (--cc >= 0) {
128 q -= 2;
129 q[1] = *--p;
130 q[0] = 0;
131 }
132 }
133
134 void
135 linear8_to_linear16_be(void *v, u_char *p, int cc)
136 {
137 u_char *q = p;
138
139 p += cc;
140 q += cc * 2;
141 while (--cc >= 0) {
142 q -= 2;
143 q[0] = *--p;
144 q[1] = 0;
145 }
146 }
147
148 void
149 linear16_to_linear8_le(void *v, u_char *p, int cc)
150 {
151 u_char *q = p;
152
153 while ((cc -= 2) >= 0) {
154 *q++ = p[1];
155 p += 2;
156 }
157 }
158
159 void
160 linear16_to_linear8_be(void *v, u_char *p, int cc)
161 {
162 u_char *q = p;
163
164 while ((cc -= 2) >= 0) {
165 *q++ = p[0];
166 p += 2;
167 }
168 }
169
170 void
171 ulinear8_to_linear16_le(void *v, u_char *p, int cc)
172 {
173 u_char *q = p;
174
175 p += cc;
176 q += cc * 2;
177 while (--cc >= 0) {
178 q -= 2;
179 q[1] = (*--p) ^ 0x80;
180 q[0] = 0;
181 }
182 }
183
184 void
185 ulinear8_to_linear16_be(void *v, u_char *p, int cc)
186 {
187 u_char *q = p;
188
189 p += cc;
190 q += cc * 2;
191 while (--cc >= 0) {
192 q -= 2;
193 q[0] = (*--p) ^ 0x80;
194 q[1] = 0;
195 }
196 }
197
198 void
199 linear16_to_ulinear8_le(void *v, u_char *p, int cc)
200 {
201 u_char *q = p;
202
203 while ((cc -= 2) >= 0) {
204 *q++ = p[1] ^ 0x80;
205 p += 2;
206 }
207 }
208
209 void
210 linear16_to_ulinear8_be(void *v, u_char *p, int cc)
211 {
212 u_char *q = p;
213
214 while ((cc -= 2) >= 0) {
215 *q++ = p[0] ^ 0x80;
216 p += 2;
217 }
218 }
219
220
221
222
223 void
224 noswap_bytes_mts(void *v, u_char *p, int cc)
225 {
226 u_char *q = p;
227
228 p += cc;
229 q += cc * 2;
230 while ((cc -= 2) >= 0) {
231 q -= 4;
232 q[1] = q[3] = *--p;
233 q[0] = q[2] = *--p;
234 }
235 }
236
237
238
239
240 void
241 swap_bytes_mts(void *v, u_char *p, int cc)
242 {
243 u_char *q = p;
244
245 p += cc;
246 q += cc * 2;
247 while ((cc -= 2) >= 0) {
248 q -= 4;
249 q[0] = q[2] = *--p;
250 q[1] = q[3] = *--p;
251 }
252 }
253
254
255
256
257 void
258 linear8_to_linear16_le_mts(void *v, u_char *p, int cc)
259 {
260 u_char *q = p;
261
262 p += cc;
263 q += cc * 4;
264 while (--cc >= 0) {
265 q -= 4;
266 q[1] = q[3] = *--p;
267 q[0] = q[2] = 0;
268 }
269 }
270
271
272
273
274 void
275 linear8_to_linear16_be_mts(void *v, u_char *p, int cc)
276 {
277 u_char *q = p;
278
279 p += cc;
280 q += cc * 4;
281 while (--cc >= 0) {
282 q -= 4;
283 q[0] = q[2] = *--p;
284 q[1] = q[3] = 0;
285 }
286 }
287
288
289
290
291 void
292 ulinear8_to_linear16_le_mts(void *v, u_char *p, int cc)
293 {
294 u_char *q = p;
295
296 p += cc;
297 q += cc * 4;
298 while (--cc >= 0) {
299 q -= 4;
300 q[1] = q[3] = (*--p) ^ 0x80;
301 q[0] = q[2] = 0;
302 }
303 }
304
305
306
307
308 void
309 ulinear8_to_linear16_be_mts(void *v, u_char *p, int cc)
310 {
311 u_char *q = p;
312
313 p += cc;
314 q += cc * 4;
315 while (--cc >= 0) {
316 q -= 4;
317 q[0] = q[2] = (*--p) ^ 0x80;
318 q[1] = q[3] = 0;
319 }
320 }
321
322
323
324
325 void
326 change_sign16_le_mts(void *v, u_char *p, int cc)
327 {
328 u_char *q = p;
329
330 p += cc;
331 q += cc * 2;
332 while ((cc -= 2) >= 0) {
333 q -= 4;
334 q[1] = q[3] = (*--p) ^ 0x80;
335 q[0] = q[2] = *--p;
336 }
337 }
338
339
340
341
342 void
343 change_sign16_be_mts(void *v, u_char *p, int cc)
344 {
345 u_char *q = p;
346
347 p += cc;
348 q += cc * 2;
349 while ((cc -= 2) >= 0) {
350 q -= 4;
351 q[0] = q[2] = (*--p) ^ 0x80;
352 q[1] = q[3] = *--p;
353 }
354 }
355
356
357
358
359 void
360 change_sign16_swap_bytes_le_mts(void *v, u_char *p, int cc)
361 {
362 change_sign16_be_mts(v, p, cc);
363 }
364
365
366
367
368 void
369 change_sign16_swap_bytes_be_mts(void *v, u_char *p, int cc)
370 {
371 change_sign16_le_mts(v, p, cc);
372 }