1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
Index: apps/codecs/lib/mdct2.c
===================================================================
--- apps/codecs/lib/mdct2.c  (revision 23932)
+++ apps/codecs/lib/mdct2.c  (arbetskopia)
@@ -243,12 +243,16 @@
     mdct_butterfly_32(x+j);
 }

+static const unsigned char bitrev[] ICONST_ATTR = 
+{
+    0, 32, 16, 48, 8, 40, 24, 56, 4, 36, 20, 52, 12, 44, 28, 60,
+    2, 34, 18, 50, 10, 42, 26, 58, 6, 38, 22, 54, 14, 46, 30, 62,
+    1, 33, 17, 49, 9, 41, 25, 57, 5, 37, 21, 53, 13, 45, 29, 61,
+    3, 35, 19, 51, 11, 43, 27, 59, 7, 39, 23, 55, 15, 47, 31, 63
+};

-static const unsigned char bitrev[16] ICONST_ATTR =
-  {0,8,4,12,2,10,6,14,1,9,5,13,3,11,7,15};
-
 static inline int bitrev12(int x){
-  return bitrev[x>>8]|(bitrev[(x&0x0f0)>>4]<<4)|(((int)bitrev[x&0x00f])<<8);
+  return bitrev[x>>6]|((bitrev[x&0x03f])<<6);
 }

 static inline void mdct_bitreverse(int32_t *x,int n,int step,int shift) {