# HG changeset patch # User reimar # Date 1128462596 0 # Node ID 9991e406a2a236a0cb6893eb1c181eef6094b06a # Parent 2965acaa980f025fb3b39ac5373aa4c6c826f1fd much simpler signed/unsigned conversion. diff -r 2965acaa980f -r 9991e406a2a2 libaf/af_format.c --- a/libaf/af_format.c Tue Oct 04 21:43:29 2005 +0000 +++ b/libaf/af_format.c Tue Oct 04 21:49:56 2005 +0000 @@ -35,10 +35,8 @@ // Switch endianess static void endian(void* in, void* out, int len, int bps); -// From singed to unsigned -static void si2us(void* in, void* out, int len, int bps); -// From unsinged to signed -static void us2si(void* in, void* out, int len, int bps); +// From singed to unsigned and the other way +static void si2us(void* data, int len, int bps); // Change the number of bits per sample static void change_bps(void* in, void* out, int len, int inbps, int outbps); // From float to int signed @@ -244,13 +242,13 @@ if(AF_FORMAT_A_LAW == (l->format&AF_FORMAT_SPECIAL_MASK)) to_ulaw(l->audio, l->audio, len, 1, AF_FORMAT_SI); if((l->format&AF_FORMAT_SIGN_MASK) == AF_FORMAT_US) - si2us(l->audio,l->audio,len,l->bps); + si2us(l->audio,len,l->bps); } else if((c->format & AF_FORMAT_SPECIAL_MASK) == AF_FORMAT_A_LAW) { from_alaw(c->audio, l->audio, len, l->bps, l->format&AF_FORMAT_POINT_MASK); if(AF_FORMAT_A_LAW == (l->format&AF_FORMAT_SPECIAL_MASK)) to_alaw(l->audio, l->audio, len, 1, AF_FORMAT_SI); if((l->format&AF_FORMAT_SIGN_MASK) == AF_FORMAT_US) - si2us(l->audio,l->audio,len,l->bps); + si2us(l->audio,len,l->bps); } else if((c->format & AF_FORMAT_POINT_MASK) == AF_FORMAT_F) { switch(l->format&AF_FORMAT_SPECIAL_MASK){ case(AF_FORMAT_MU_LAW): @@ -262,7 +260,7 @@ default: float2int(c->audio, l->audio, len, l->bps); if((l->format&AF_FORMAT_SIGN_MASK) == AF_FORMAT_US) - si2us(l->audio,l->audio,len,l->bps); + si2us(l->audio,len,l->bps); break; } } else { @@ -270,10 +268,7 @@ // Change signed/unsigned if((c->format&AF_FORMAT_SIGN_MASK) != (l->format&AF_FORMAT_SIGN_MASK)){ - if((c->format&AF_FORMAT_SIGN_MASK) == AF_FORMAT_US) - us2si(c->audio,c->audio,len,c->bps); - else - si2us(c->audio,c->audio,len,c->bps); + si2us(c->audio,len,c->bps); } // Convert to special formats switch(l->format&(AF_FORMAT_SPECIAL_MASK|AF_FORMAT_POINT_MASK)){ @@ -386,50 +381,17 @@ } } -static void si2us(void* in, void* out, int len, int bps) +static void si2us(void* data, int len, int bps) { - register int i; - switch(bps){ - case(1): - for(i=0;i