16-bit bitrev table
diff --git a/libcelt/_kiss_fft_guts.h b/libcelt/_kiss_fft_guts.h
index dc99ee3..a3ec854 100644
--- a/libcelt/_kiss_fft_guts.h
+++ b/libcelt/_kiss_fft_guts.h
@@ -37,7 +37,7 @@
 #endif
     int shift;
     int factors[2*MAXFACTORS];
-    int *bitrev;
+    celt_int16 *bitrev;
     kiss_twiddle_cpx *twiddles;
 };
 
diff --git a/libcelt/kiss_fft.c b/libcelt/kiss_fft.c
index d8c86a7..42e3b59 100644
--- a/libcelt/kiss_fft.c
+++ b/libcelt/kiss_fft.c
@@ -436,7 +436,7 @@
 static
 void compute_bitrev_table(
          int Fout,
-         int *f,
+         celt_int16 *f,
          const size_t fstride,
          int in_stride,
          int * factors,
@@ -629,7 +629,7 @@
         }
         
         /* bitrev */
-        st->bitrev = (int*)KISS_FFT_MALLOC(sizeof(int)*nfft);
+        st->bitrev = (celt_int16*)KISS_FFT_MALLOC(sizeof(celt_int16)*nfft);
         compute_bitrev_table(0, st->bitrev, 1,1, st->factors,st);
     }
     return st;