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 6d1e010828..eb4c199d46 100644 --- a/apps/codecs/libspeex/speex_header.c +++ b/apps/codecs/libspeex/speex_header.c | |||
@@ -35,7 +35,7 @@ | |||
35 | #include "config-speex.h" | 35 | #include "config-speex.h" |
36 | #endif | 36 | #endif |
37 | 37 | ||
38 | #include "misc.h" | 38 | #include "arch.h" |
39 | #include <speex/speex_header.h> | 39 | #include <speex/speex_header.h> |
40 | #include <speex/speex.h> | 40 | #include <speex/speex.h> |
41 | #include "os_support.h" | 41 | #include "os_support.h" |
@@ -44,6 +44,24 @@ | |||
44 | #define NULL 0 | 44 | #define NULL 0 |
45 | #endif | 45 | #endif |
46 | 46 | ||
47 | /** Convert little endian */ | ||
48 | static inline spx_int32_t le_int(spx_int32_t i) | ||
49 | { | ||
50 | #if 1 | ||
51 | return letoh32(i); | ||
52 | #elif !defined(__LITTLE_ENDIAN__) && ( defined(WORDS_BIGENDIAN) || defined(__BIG_ENDIAN__) ) | ||
53 | spx_uint32_t ui, ret; | ||
54 | ui = i; | ||
55 | ret = ui>>24; | ||
56 | ret |= (ui>>8)&0x0000ff00; | ||
57 | ret |= (ui<<8)&0x00ff0000; | ||
58 | ret |= (ui<<24); | ||
59 | return ret; | ||
60 | #else | ||
61 | return i; | ||
62 | #endif | ||
63 | } | ||
64 | |||
47 | #define ENDIAN_SWITCH(x) {x=le_int(x);} | 65 | #define ENDIAN_SWITCH(x) {x=le_int(x);} |
48 | 66 | ||
49 | 67 | ||