shithub: opus

Download patch

ref: 7c69461b91c3ffa8a68ac39ba9956107d551ab4c
parent: 81936d5ffd685a968bc5ce6e1b025b240b286252
author: Jean-Marc Valin <[email protected]>
date: Sun Aug 14 14:01:13 EDT 2011

Removing (already broken) support for strides in kiss-fft

--- a/libcelt/kiss_fft.c
+++ b/libcelt/kiss_fft.c
@@ -435,7 +435,6 @@
         kiss_fft_cpx * Fout,
         const kiss_fft_cpx * f,
         size_t fstride,
-        int in_stride,
         const opus_int16 * factors,
         const kiss_fft_state *st,
         int N,
@@ -446,7 +445,7 @@
     const int m=*factors++; /* stage's fft length/p */
     /*printf ("fft %d %d %d %d %d %d %d\n", p*m, m, p, s2, fstride*in_stride, N, m2);*/
     if (m!=1)
-        kf_work( Fout , f, fstride*p, in_stride, factors,st, N*p, m);
+        kf_work( Fout , f, fstride*p, factors,st, N*p, m);
 
     /* Compensate for longer twiddles table (when sharing) */
     if (st->shift>0)
@@ -465,7 +464,6 @@
              kiss_fft_cpx * Fout,
              const kiss_fft_cpx * f,
              size_t fstride,
-             int in_stride,
              const opus_int16 * factors,
              const kiss_fft_state *st,
              int N,
@@ -476,7 +474,7 @@
    const int m=*factors++; /* stage's fft length/p */
    /*printf ("fft %d %d %d %d %d %d %d\n", p*m, m, p, s2, fstride*in_stride, N, m2);*/
    if (m!=1)
-      ki_work( Fout , f, fstride*p, in_stride, factors,st, N*p, m);
+      ki_work( Fout , f, fstride*p, factors,st, N*p, m);
 
    /* Compensate for longer twiddles table (when sharing) */
    if (st->shift>0)
@@ -654,7 +652,7 @@
 
 #endif /* CUSTOM_MODES */
 
-static void kiss_fft_stride(const kiss_fft_state *st,const kiss_fft_cpx *fin,kiss_fft_cpx *fout,int in_stride)
+void kiss_fft(const kiss_fft_state *st,const kiss_fft_cpx *fin,kiss_fft_cpx *fout)
 {
     int i;
     celt_assert2 (fin != fout, "In-place FFT not supported");
@@ -667,26 +665,16 @@
        fout[st->bitrev[i]].i *= st->scale;
 #endif
     }
-    kf_work( fout, fin, 1,in_stride, st->factors,st, 1, 1);
+    kf_work( fout, fin, 1, st->factors,st, 1, 1);
 }
 
-void kiss_fft(const kiss_fft_state *cfg,const kiss_fft_cpx *fin,kiss_fft_cpx *fout)
+void kiss_ifft(const kiss_fft_state *st,const kiss_fft_cpx *fin,kiss_fft_cpx *fout)
 {
-    kiss_fft_stride(cfg,fin,fout,1);
-}
-
-static void kiss_ifft_stride(const kiss_fft_state *st,const kiss_fft_cpx *fin,kiss_fft_cpx *fout,int in_stride)
-{
    int i;
    celt_assert2 (fin != fout, "In-place FFT not supported");
    /* Bit-reverse the input */
    for (i=0;i<st->nfft;i++)
       fout[st->bitrev[i]] = fin[i];
-   ki_work( fout, fin, 1,in_stride, st->factors,st, 1, 1);
-}
-
-void kiss_ifft(const kiss_fft_state *cfg,const kiss_fft_cpx *fin,kiss_fft_cpx *fout)
-{
-   kiss_ifft_stride(cfg,fin,fout,1);
+   ki_work( fout, fin, 1, st->factors,st, 1, 1);
 }