Changeset 1628:18e11dc050c0 in roaraudio


Ignore:
Timestamp:
04/27/09 22:44:27 (15 years ago)
Author:
phi
Branch:
default
Phase:
public
Message:

added a lot code, should work

File:
1 edited

Legend:

Unmodified
Added
Removed
  • libroardsp/midside.c

    r1627 r1628  
    2626 
    2727int roar_conv_s2ms_8      (void * out, void * in, int samples) { 
    28  return -1; 
     28 char * ip = in; 
     29 char * op = out; 
     30 register int i; 
     31 register char mid; 
     32 register char side; 
     33 
     34 for (i = 0; i < samples; i += 2) { 
     35  mid     = (ip[i] + ip[i+1])/2; 
     36  side    = (ip[i] - ip[i+1])/2; 
     37  op[i  ] = mid; 
     38  op[i+1] = side; 
     39 } 
     40 
     41 return 0; 
    2942} 
    3043 
    3144int roar_conv_s2ms_16     (void * out, void * in, int samples) { 
    32  return -1; 
     45 int16_t * ip = in; 
     46 int16_t * op = out; 
     47 register int i; 
     48 register int16_t mid; 
     49 register int16_t side; 
     50 
     51 for (i = 0; i < samples; i += 2) { 
     52  mid     = (ip[i] + ip[i+1])/2; 
     53  side    = (ip[i] - ip[i+1])/2; 
     54  op[i  ] = mid; 
     55  op[i+1] = side; 
     56 } 
     57 
     58 return 0; 
    3359} 
    3460 
    3561int roar_conv_s2ms_32     (void * out, void * in, int samples) { 
    36  return -1; 
     62 int32_t * ip = in; 
     63 int32_t * op = out; 
     64 register int i; 
     65 register int32_t mid; 
     66 register int32_t side; 
     67 
     68 for (i = 0; i < samples; i += 2) { 
     69  mid     = (ip[i] + ip[i+1])/2; 
     70  side    = (ip[i] - ip[i+1])/2; 
     71  op[i  ] = mid; 
     72  op[i+1] = side; 
     73 } 
     74 
     75 return 0; 
    3776} 
    3877 
    3978int roar_conv_ms2s_8      (void * out, void * in, int samples) { 
    40  return -1; 
     79 char * ip = in; 
     80 char * op = out; 
     81 register int i; 
     82 register char mid; 
     83 register char side; 
     84 
     85 for (i = 0; i < samples; i += 2) { 
     86  mid     = ip[i]; 
     87  side    = ip[i+1]; 
     88  op[i  ] = mid + side; 
     89  op[i+1] = mid - side; 
     90 } 
     91 
     92 return 0; 
    4193} 
    4294 
    4395int roar_conv_ms2s_16     (void * out, void * in, int samples) { 
    44  return -1; 
     96 int16_t * ip = in; 
     97 int16_t * op = out; 
     98 register int i; 
     99 register int16_t mid; 
     100 register int16_t side; 
     101 
     102 for (i = 0; i < samples; i += 2) { 
     103  mid     = ip[i]; 
     104  side    = ip[i+1]; 
     105  op[i  ] = mid + side; 
     106  op[i+1] = mid - side; 
     107 } 
     108 
     109 return 0; 
    45110} 
    46111 
    47112int roar_conv_ms2s_32     (void * out, void * in, int samples) { 
    48  return -1; 
     113 int32_t * ip = in; 
     114 int32_t * op = out; 
     115 register int i; 
     116 register int32_t mid; 
     117 register int32_t side; 
     118 
     119 for (i = 0; i < samples; i += 2) { 
     120  mid     = ip[i]; 
     121  side    = ip[i+1]; 
     122  op[i  ] = mid + side; 
     123  op[i+1] = mid - side; 
     124 } 
     125 
     126 return 0; 
    49127} 
    50128 
Note: See TracChangeset for help on using the changeset viewer.