bugfix: enable very small convolution lengths < minimum fft length
Signed-off-by: hayati ayguen <h_ayguen@web.de>
diff --git a/pffastconv.c b/pffastconv.c
index 9094bb4..daff7ee 100644
--- a/pffastconv.c
+++ b/pffastconv.c
@@ -98,11 +98,15 @@
{
PFFASTCONV_Setup * s = NULL;
const int cplxFactor = ( (flags & PFFASTCONV_CPLX_INP_OUT) && (flags & PFFASTCONV_CPLX_SINGLE_FFT) ) ? 2 : 1;
+ const int minFftLen = 2*pffft_simd_size()*pffft_simd_size();
int i, Nfft = 2 * nextPowerOfTwo(filterLen -1);
#if FASTCONV_DBG_OUT
const int iOldBlkLen = *blockLen;
#endif
+ if ( Nfft < minFftLen )
+ Nfft = minFftLen;
+
if ( flags & PFFASTCONV_CPLX_FILTER )
return NULL;