Mercurial > mplayer.hg
diff libaf/af_format.c @ 7719:41e8d0916c60
Fix for audio filters on big endian cpus. It's working now on Solaris SPARC &
x86
author | jkeil |
---|---|
date | Sat, 12 Oct 2002 20:02:01 +0000 |
parents | 194bcc364c3f |
children | d48a06d07afb |
line wrap: on
line diff
--- a/libaf/af_format.c Sat Oct 12 16:40:56 2002 +0000 +++ b/libaf/af_format.c Sat Oct 12 20:02:01 2002 +0000 @@ -28,6 +28,12 @@ #define LE (1<<2) // Little Endian #define END_MASK (1<<2) +#if WORDS_BIGENDIAN // native endian of cpu +#define NE BE +#else +#define NE LE +#endif + // Signed #define US (0<<3) // Un Signed #define SI (1<<3) // SIgned @@ -128,8 +134,8 @@ la = l->audio; - // Change to little endian - if((cf&END_MASK)!=LE){ + // Change to cpu native endian + if((cf&END_MASK)!=NE){ switch(cf&NBITS_MASK){ case(B16):{ register uint16_t s; @@ -150,6 +156,7 @@ break; } } + // Change signed/unsigned if((cf&SIGN_MASK) != (lf&SIGN_MASK)){ switch((cf&NBITS_MASK)){ @@ -234,8 +241,9 @@ break; } } - // Switch to the correct endainess (again the problem with sun?) - if((lf&END_MASK)!=LE){ + + // Switch from cpu native endian to the correct endianess + if((lf&END_MASK)!=NE){ switch(lf&NBITS_MASK){ case(B16):{ register uint16_t s;