Changeset 2741:09f063a4a56e in roaraudio
- Timestamp:
- 09/21/09 02:18:37 (15 years ago)
- Branch:
- default
- Phase:
- public
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
libroardsp/convert.c
r2501 r2741 214 214 switch (to) { 215 215 case 1: return roar_conv_chans_2to116(out, in, samples); 216 case 3: return roar_conv_chans_2to316(out, in, samples); 216 217 default: return -1; 217 218 } … … 351 352 return 0; 352 353 } 354 355 int roar_conv_chans_2to38 (void * out, void * in, int samples); 356 int roar_conv_chans_2to316 (void * out, void * in, int samples) { 357 int16_t * ip = (int16_t*) in, * op = (int16_t*) out; 358 int i, h; 359 360 samples -= 2; 361 362 i = samples; 363 h = (samples / 2) * 3; 364 365 for (; i >= 0; i -= 2, h -= 3) { 366 op[h+0] = ip[i+0]; 367 op[h+1] = ip[i+1]; 368 op[h+2] = ((int)ip[i + 0] + (int)ip[i + 1]) / 2; 369 } 370 371 return 0; 372 } 373 374 int roar_conv_chans_2to48 (void * out, void * in, int samples); 375 int roar_conv_chans_2to416 (void * out, void * in, int samples); 376 int roar_conv_chans_2to58 (void * out, void * in, int samples); 377 int roar_conv_chans_2to516 (void * out, void * in, int samples); 378 int roar_conv_chans_2to68 (void * out, void * in, int samples); 379 int roar_conv_chans_2to616 (void * out, void * in, int samples); 380 353 381 354 382 int roar_conv_rate (void * out, void * in, int samples, int from, int to, int bits, int channels) {
Note: See TracChangeset
for help on using the changeset viewer.