Using random noise in upper bands when signal is "normal"
[opus.git] / libcelt / kfft_double.h
index 341d818..251536b 100644 (file)
@@ -1,4 +1,4 @@
-/* (C) 2008 Jean-Marc Valin, CSIRO
+/* Copyright (c) 2008 Xiph.Org Foundation, CSIRO
 */
 /*
    Redistribution and use in source and binary forms, with or without
 #ifndef KFFT_DOUBLE_H
 #define KFFT_DOUBLE_H
 
-#ifdef ENABLE_TI_DSPLIB
+#ifdef ENABLE_TI_DSPLIB55
 
 #include "dsplib.h"
+#include "_kiss_fft_guts.h"
 
 #define cpx32_fft_alloc(length) NULL
 #define cpx32_fft_free(state)
 
 #define cpx32_fft(state, X, Y, nx)\
     (\
-      cfft_SCALE(X,nx),\
-      cbrev(X,X,nx),\
+      cfft32_SCALE(X,nx),\
+      cbrev32(X,Y,nx)\
     )
 
 #define cpx32_ifft(state, X, Y, nx) \
     (\
-      cifft_NOSCALE(X,nx),\
-      cbrev(X,Y,nx)\
+      cifft32_NOSCALE(X,nx),\
+      cbrev32(X,Y,nx)\
     )
 
 
-#else /* ENABLE_TI_DSPLIB */
+#elif defined(ENABLE_TI_DSPLIB64)
+
+#include "kiss_fft.h"
+#include "_kiss_fft_guts.h"
+#include "c64_fft.h"
+
+#define cpx32_fft_alloc(length)        (kiss_fft_cfg)(c64_fft32_alloc(length, 0, 0))
+#define cpx32_fft_free(state)          c64_fft32_free((c64_fft_t *)state)
+#define cpx32_fft(state, X, Y, nx)     c64_fft32 ((c64_fft_t *)state, (const celt_int32 *)(X), (celt_int32 *)(Y))
+#define cpx32_ifft(state, X, Y, nx)    c64_ifft32((c64_fft_t *)state, (const celt_int32 *)(X), (celt_int32 *)(Y))
+
+#else /* ENABLE_TI_DSPLIB55/64 */
 
 #include "kiss_fft.h"
 #include "_kiss_fft_guts.h"
 
-#define cpx32_fft_alloc(length) kiss_fft_alloc(length, 0, 0);
+#define cpx32_fft_alloc_twiddles(length,from) kiss_fft_alloc_twiddles(length, 0, 0, from)
+#define cpx32_fft_alloc(length) kiss_fft_alloc(length, 0, 0)
 #define cpx32_fft_free(state) kiss_fft_free(state)
-#define cpx32_fft(state, X, Y, nx) kiss_fft(state,X, Y)
-#define cpx32_ifft(state, X, Y, nx) kiss_ifft(state,X, Y)
+#define cpx32_fft(state, X, Y, nx) kiss_fft(state,(const kiss_fft_cpx *)(X), (kiss_fft_cpx *)(Y))
+#define cpx32_ifft(state, X, Y, nx) kiss_ifft(state,(const kiss_fft_cpx *)(X), (kiss_fft_cpx *)(Y))
 
 #endif /* !ENABLE_TI_DSPLIB */