Changeset 624:b07ec9408d64 in roaraudio


Ignore:
Timestamp:
08/20/08 13:00:12 (16 years ago)
Author:
phi
Branch:
default
Phase:
public
Message:

added support fro 16 bit downmixing

File:
1 edited

Legend:

Unmodified
Added
Removed
  • libroardsp/convert.c

    r386 r624  
    3636 char    * op = (char   *)out; 
    3737 int i; 
     38 
     39 ROAR_DBG("roar_conv_bits_16to8(out=%p, in=%p, samples=%i) = ?", out, in, samples); 
    3840 
    3941 for (i = 0; i < samples; i++) 
     
    5355   return -1; 
    5456  } 
     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  } 
    5565 } 
    5666 
     
    7888  for (c = to - 1; c >= 0; c--) 
    7989   op[i*to + c] = ip[i]; 
     90 
     91 return 0; 
     92} 
     93 
     94int 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 } 
    80111 
    81112 return 0; 
Note: See TracChangeset for help on using the changeset viewer.