diff options
Diffstat (limited to 'apps/codecs/lib')
-rw-r--r-- | apps/codecs/lib/mdct2.c | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/apps/codecs/lib/mdct2.c b/apps/codecs/lib/mdct2.c index 5382a5b5e0..ba8b5ca6be 100644 --- a/apps/codecs/lib/mdct2.c +++ b/apps/codecs/lib/mdct2.c | |||
@@ -243,12 +243,16 @@ static inline void mdct_butterflies(int32_t *x,int points,int shift) { | |||
243 | mdct_butterfly_32(x+j); | 243 | mdct_butterfly_32(x+j); |
244 | } | 244 | } |
245 | 245 | ||
246 | 246 | static const unsigned char bitrev[] ICONST_ATTR = | |
247 | static const unsigned char bitrev[16] ICONST_ATTR = | 247 | { |
248 | {0,8,4,12,2,10,6,14,1,9,5,13,3,11,7,15}; | 248 | 0, 32, 16, 48, 8, 40, 24, 56, 4, 36, 20, 52, 12, 44, 28, 60, |
249 | 2, 34, 18, 50, 10, 42, 26, 58, 6, 38, 22, 54, 14, 46, 30, 62, | ||
250 | 1, 33, 17, 49, 9, 41, 25, 57, 5, 37, 21, 53, 13, 45, 29, 61, | ||
251 | 3, 35, 19, 51, 11, 43, 27, 59, 7, 39, 23, 55, 15, 47, 31, 63 | ||
252 | }; | ||
249 | 253 | ||
250 | static inline int bitrev12(int x){ | 254 | static inline int bitrev12(int x){ |
251 | return bitrev[x>>8]|(bitrev[(x&0x0f0)>>4]<<4)|(((int)bitrev[x&0x00f])<<8); | 255 | return bitrev[x>>6]|((bitrev[x&0x03f])<<6); |
252 | } | 256 | } |
253 | 257 | ||
254 | static inline void mdct_bitreverse(int32_t *x,int n,int step,int shift) { | 258 | static inline void mdct_bitreverse(int32_t *x,int n,int step,int shift) { |