Changeset 2750:3b5c1d0d75e0 in roaraudio


Ignore:
Timestamp:
09/22/09 02:15:50 (15 years ago)
Author:
phi
Branch:
default
Phase:
public
Message:

downmixing 4.0->2.0

File:
1 edited

Legend:

Unmodified
Added
Removed
  • libroardsp/convert.c

    r2749 r2750  
    221221     } 
    222222     break; 
     223    case 4: 
     224     switch (to) { 
     225      case  1: return roar_conv_chans_nto116(out, in, samples, 4); 
     226      case  2: return roar_conv_chans_4to216(out, in, samples); 
     227      default: return -1; 
     228     } 
     229     break; 
    223230    default: 
    224231     switch (to) { 
     
    440447int roar_conv_chans_3to216 (void * out, void * in, int samples); 
    441448int roar_conv_chans_4to28  (void * out, void * in, int samples); 
    442 int roar_conv_chans_4to216 (void * out, void * in, int samples); 
     449int roar_conv_chans_4to216 (void * out, void * in, int samples) { 
     450 int16_t * ip = (int16_t*) in, * op = (int16_t*) out; 
     451 int i, h; 
     452 
     453 samples -= 4; 
     454 
     455 for (i = h = 0; i < samples; i += 4, h += 2) { 
     456  op[h+0] = ((int)ip[i + 0] + (int)ip[i + 2]) / 2; 
     457  op[h+1] = ((int)ip[i + 1] + (int)ip[i + 3]) / 2; 
     458 } 
     459 
     460 return 0; 
     461} 
     462 
    443463int roar_conv_chans_5to28  (void * out, void * in, int samples); 
    444464int roar_conv_chans_5to216 (void * out, void * in, int samples); 
Note: See TracChangeset for help on using the changeset viewer.