diff --git a/sdrbase/dsp/fftfactory.cpp b/sdrbase/dsp/fftfactory.cpp index 39ad208f2..531f0b96e 100644 --- a/sdrbase/dsp/fftfactory.cpp +++ b/sdrbase/dsp/fftfactory.cpp @@ -73,6 +73,7 @@ unsigned int FFTFactory::getEngine(unsigned int fftSize, bool inverse, FFTEngine if (enginesBySize.find(fftSize) == enginesBySize.end()) { + qDebug("FFTFactory::getEngine: new FFT %s size: %u", (inverse ? "inv" : "fwd"), fftSize); enginesBySize.insert(std::pair>(fftSize, std::vector())); std::vector& engines = enginesBySize[fftSize]; engines.push_back(AllocatedEngine()); @@ -95,6 +96,7 @@ unsigned int FFTFactory::getEngine(unsigned int fftSize, bool inverse, FFTEngine if (i < enginesBySize[fftSize].size()) { + qDebug("FFTFactory::getEngine: reuse engine: %u FFT %s size: %u", i, (inverse ? "inv" : "fwd"), fftSize); enginesBySize[fftSize][i].m_inUse = true; *engine = enginesBySize[fftSize][i].m_engine; return i; @@ -102,6 +104,7 @@ unsigned int FFTFactory::getEngine(unsigned int fftSize, bool inverse, FFTEngine else { std::vector& engines = enginesBySize[fftSize]; + qDebug("FFTFactory::getEngine: create engine: %lu FFT %s size: %u", engines.size(), (inverse ? "inv" : "fwd"), fftSize); engines.push_back(AllocatedEngine()); engines.back().m_inUse = true; engines.back().m_engine = FFTEngine::create(m_fftwWisdomFileName); @@ -112,7 +115,7 @@ unsigned int FFTFactory::getEngine(unsigned int fftSize, bool inverse, FFTEngine } } -void FFTFactory::releaseEngine(unsigned int fftSize, bool inverse, int engineSequence) +void FFTFactory::releaseEngine(unsigned int fftSize, bool inverse, unsigned int engineSequence) { std::map>& enginesBySize = inverse ? m_invFFTEngineBySize : m_fftEngineBySize; @@ -121,7 +124,10 @@ void FFTFactory::releaseEngine(unsigned int fftSize, bool inverse, int engineSeq { std::vector& engines = enginesBySize[fftSize]; - if (engineSequence < engines.size()) { + if (engineSequence < engines.size()) + { + qDebug("FFTFactory::releaseEngine: engineSequence: %u FFT %s size: %u", + engineSequence, (inverse ? "inv" : "fwd"), fftSize); engines[engineSequence].m_inUse = false; } } diff --git a/sdrbase/dsp/fftfactory.h b/sdrbase/dsp/fftfactory.h index 654fc9e70..80aefed89 100644 --- a/sdrbase/dsp/fftfactory.h +++ b/sdrbase/dsp/fftfactory.h @@ -34,7 +34,7 @@ public: void preallocate(unsigned int minLog2Size, unsigned int maxLog2Size, unsigned int numberFFT, unsigned int numberInvFFT); unsigned int getEngine(unsigned int fftSize, bool inverse, FFTEngine **engine); //!< returns an engine sequence - void releaseEngine(unsigned int fftSize, bool inverse, int engineSequence); + void releaseEngine(unsigned int fftSize, bool inverse, unsigned int engineSequence); private: struct AllocatedEngine