Changeset 2796:ed4b8a2ee05a in roaraudio


Ignore:
Timestamp:
09/26/09 13:35:38 (15 years ago)
Author:
phi
Branch:
default
Phase:
public
Message:

try a XOR based solution

File:
1 edited

Legend:

Unmodified
Added
Removed
  • libroardsp/convert.c

    r2795 r2796  
    689689 int16_t  * ip = in; 
    690690 uint16_t * op = out; 
    691  register int_least32_t s; 
    692691 int i; 
    693692 
    694693 for(i = 0; i < samples; i++) { 
    695   s     = ip[i]; 
    696   s    += 32768; 
    697   op[i] = s; 
     694  op[i] = ip[i]; 
     695 
     696  if ( ip[i] & 0x8000 ) { 
     697   op[i] = ip[i] ^ 0xFFFF; 
     698  } else { 
     699   op[i] = ip[i] ^ 0x8000; 
     700  } 
    698701 } 
    699702 
Note: See TracChangeset for help on using the changeset viewer.