Changeset 2741:09f063a4a56e in roaraudio


Ignore:
Timestamp:
09/21/09 02:18:37 (15 years ago)
Author:
phi
Branch:
default
Phase:
public
Message:

added roar_conv_chans_2to316()

File:
1 edited

Legend:

Unmodified
Added
Removed
  • libroardsp/convert.c

    r2501 r2741  
    214214     switch (to) { 
    215215      case  1: return roar_conv_chans_2to116(out, in, samples); 
     216      case  3: return roar_conv_chans_2to316(out, in, samples); 
    216217      default: return -1; 
    217218     } 
     
    351352 return 0; 
    352353} 
     354 
     355int roar_conv_chans_2to38  (void * out, void * in, int samples); 
     356int 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 
     374int roar_conv_chans_2to48  (void * out, void * in, int samples); 
     375int roar_conv_chans_2to416 (void * out, void * in, int samples); 
     376int roar_conv_chans_2to58  (void * out, void * in, int samples); 
     377int roar_conv_chans_2to516 (void * out, void * in, int samples); 
     378int roar_conv_chans_2to68  (void * out, void * in, int samples); 
     379int roar_conv_chans_2to616 (void * out, void * in, int samples); 
     380 
    353381 
    354382int 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.