diff options
Diffstat (limited to 'apps/codecs/libspeex/speex_header.c')
| -rw-r--r-- | apps/codecs/libspeex/speex_header.c | 20 |
1 files changed, 19 insertions, 1 deletions
diff --git a/apps/codecs/libspeex/speex_header.c b/apps/codecs/libspeex/speex_header.c index 6d1e010..eb4c199 100644 --- a/apps/codecs/libspeex/speex_header.c +++ b/apps/codecs/libspeex/speex_header.c @@ -35,7 +35,7 @@ #include "config-speex.h" #endif -#include "misc.h" +#include "arch.h" #include <speex/speex_header.h> #include <speex/speex.h> #include "os_support.h" @@ -44,6 +44,24 @@ #define NULL 0 #endif +/** Convert little endian */ +static inline spx_int32_t le_int(spx_int32_t i) +{ +#if 1 + return letoh32(i); +#elif !defined(__LITTLE_ENDIAN__) && ( defined(WORDS_BIGENDIAN) || defined(__BIG_ENDIAN__) ) + spx_uint32_t ui, ret; + ui = i; + ret = ui>>24; + ret |= (ui>>8)&0x0000ff00; + ret |= (ui<<8)&0x00ff0000; + ret |= (ui<<24); + return ret; +#else + return i; +#endif +} + #define ENDIAN_SWITCH(x) {x=le_int(x);} |