From ad27ad1b2467aa2ab8e87788afadd92da2636664 Mon Sep 17 00:00:00 2001 From: Chris Cannam Date: Mon, 5 Jul 2021 19:28:05 +0100 Subject: [PATCH] Fix failure to pack Nyquist bins correctly in vDSP FFT - though these functions are not actually used by Rubber Band, they're just here for symmetry --- src/dsp/FFT.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/dsp/FFT.cpp b/src/dsp/FFT.cpp index ca2fec0..5bfc3f7 100644 --- a/src/dsp/FFT.cpp +++ b/src/dsp/FFT.cpp @@ -701,6 +701,7 @@ public: if (!m_dspec) initDouble(); double *d[2] = { m_dpacked->realp, m_dpacked->imagp }; v_deinterleave(d, complexIn, 2, m_size/2 + 1); + dnyq(); vDSP_fft_zriptD(m_dspec, m_dpacked, 1, m_dbuf, m_order, FFT_INVERSE); unpackReal(realOut); } @@ -738,6 +739,7 @@ public: if (!m_fspec) initFloat(); float *f[2] = { m_fpacked->realp, m_fpacked->imagp }; v_deinterleave(f, complexIn, 2, m_size/2 + 1); + fnyq(); vDSP_fft_zript(m_fspec, m_fpacked, 1, m_fbuf, m_order, FFT_INVERSE); unpackReal(realOut); }