Changeset 624:b07ec9408d64 in roaraudio
- Timestamp:
- 08/20/08 13:00:12 (16 years ago)
- Branch:
- default
- Phase:
- public
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
libroardsp/convert.c
r386 r624 36 36 char * op = (char *)out; 37 37 int i; 38 39 ROAR_DBG("roar_conv_bits_16to8(out=%p, in=%p, samples=%i) = ?", out, in, samples); 38 40 39 41 for (i = 0; i < samples; i++) … … 53 55 return -1; 54 56 } 57 } else if ( to == 1 ) { 58 if ( bits == 8 ) { 59 return -1; 60 } else if ( bits == 16 ) { 61 return roar_conv_chans_nto116(out, in, samples, from); 62 } else { 63 return -1; 64 } 55 65 } 56 66 … … 78 88 for (c = to - 1; c >= 0; c--) 79 89 op[i*to + c] = ip[i]; 90 91 return 0; 92 } 93 94 int roar_conv_chans_nto116 (void * out, void * in, int samples, int from) { 95 int16_t * ip = (int16_t*) in, * op = (int16_t*) out; 96 int i; 97 int c; 98 register int s; 99 100 samples /= from; 101 102 for (i = samples - 1; i >= 0; i--) { 103 s = 0; 104 105 for (c = 0; c < from; c++) 106 s += ip[i*from + c]; 107 108 s /= from; 109 op[i] = s; 110 } 80 111 81 112 return 0;
Note: See TracChangeset
for help on using the changeset viewer.