Changeset 846:7ae73a8f5a4a in roaraudio
- Timestamp:
- 09/28/08 03:10:49 (16 years ago)
- Branch:
- default
- Phase:
- public
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
libroardsp/convert.c
r845 r846 252 252 if ( ins != outs ) { 253 253 if ( ins && !outs ) { 254 if ( bits == 8 ) { 255 roar_conv_codec_s2u8(out, in, samples); 256 } else if ( bits == 16 ) { 257 roar_conv_codec_s2u16(out, in, samples); 258 } else { 259 return -1; 254 switch (bits) { 255 case 8: roar_conv_codec_s2u8(out, in, samples); break; 256 case 16: roar_conv_codec_s2u16(out, in, samples); break; 257 case 32: roar_conv_codec_s2u16(out, in, samples); break; 258 default: 259 errno = ENOSYS; 260 return -1; 261 } 262 } else if ( !ins && outs ) { 263 switch (bits) { 264 case 8: roar_conv_codec_u2s8(out, in, samples); break; 265 case 16: roar_conv_codec_u2s16(out, in, samples); break; 266 case 32: roar_conv_codec_u2s16(out, in, samples); break; 267 default: 268 errno = ENOSYS; 269 return -1; 260 270 } 261 271 } else { … … 285 295 for(i = 0; i < samples; i++) 286 296 op[i] = ip[i] + 32768; 297 298 return 0; 299 } 300 301 int roar_conv_codec_s2u32 (void * out, void * in, int samples) { 302 int32_t * ip = in; 303 uint32_t * op = out; 304 int i; 305 306 for(i = 0; i < samples; i++) 307 op[i] = ip[i] + 2147483648U; 308 309 return 0; 310 } 311 312 int roar_conv_codec_u2s8 (void * out, void * in, int samples) { 313 unsigned char * ip = in; 314 char * op = out; 315 int i; 316 317 for(i = 0; i < samples; i++) 318 op[i] = ip[i] - 128; 319 320 return 0; 321 } 322 323 int roar_conv_codec_u2s16 (void * out, void * in, int samples) { 324 uint16_t * ip = in; 325 int16_t * op = out; 326 int i; 327 328 for(i = 0; i < samples; i++) 329 op[i] = ip[i] - 32768; 330 331 return 0; 332 } 333 334 int roar_conv_codec_u2s32 (void * out, void * in, int samples) { 335 uint32_t * ip = in; 336 int32_t * op = out; 337 int i; 338 339 for(i = 0; i < samples; i++) 340 op[i] = ip[i] - 2147483648U; 287 341 288 342 return 0;
Note: See TracChangeset
for help on using the changeset viewer.