diff --git a/sdrbase/dsp/downchannelizer.cpp b/sdrbase/dsp/downchannelizer.cpp index 56dc25807..713748af6 100644 --- a/sdrbase/dsp/downchannelizer.cpp +++ b/sdrbase/dsp/downchannelizer.cpp @@ -190,70 +190,48 @@ void DownChannelizer::applyConfiguration() #ifdef SDR_RX_SAMPLE_24BIT DownChannelizer::FilterStage::FilterStage(Mode mode) : - m_filter(new IntHalfbandFilterDB), + m_filter(new IntHalfbandFilterEO2), m_workFunction(0), m_mode(mode), - m_sse(false) + m_sse(true) { switch(mode) { case ModeCenter: - m_workFunction = &IntHalfbandFilterDB::workDecimateCenter; + m_workFunction = &IntHalfbandFilterEO2::workDecimateCenter; break; case ModeLowerHalf: - m_workFunction = &IntHalfbandFilterDB::workDecimateLowerHalf; + m_workFunction = &IntHalfbandFilterEO2::workDecimateLowerHalf; break; case ModeUpperHalf: - m_workFunction = &IntHalfbandFilterDB::workDecimateUpperHalf; + m_workFunction = &IntHalfbandFilterEO2::workDecimateUpperHalf; break; } } #else -#ifdef USE_SSE4_1 DownChannelizer::FilterStage::FilterStage(Mode mode) : - m_filter(new IntHalfbandFilterEO1), - m_workFunction(0), - m_mode(mode), - m_sse(true) + m_filter(new IntHalfbandFilterEO1), + m_workFunction(0), + m_mode(mode), + m_sse(true) { - switch(mode) { - case ModeCenter: - m_workFunction = &IntHalfbandFilterEO1::workDecimateCenter; - break; + switch(mode) { + case ModeCenter: + m_workFunction = &IntHalfbandFilterEO1::workDecimateCenter; + break; - case ModeLowerHalf: - m_workFunction = &IntHalfbandFilterEO1::workDecimateLowerHalf; - break; + case ModeLowerHalf: + m_workFunction = &IntHalfbandFilterEO1::workDecimateLowerHalf; + break; - case ModeUpperHalf: - m_workFunction = &IntHalfbandFilterEO1::workDecimateUpperHalf; - break; - } -} -#else -DownChannelizer::FilterStage::FilterStage(Mode mode) : - m_filter(new IntHalfbandFilterDB), - m_workFunction(0), - m_mode(mode), - m_sse(false) -{ - switch(mode) { - case ModeCenter: - m_workFunction = &IntHalfbandFilterDB::workDecimateCenter; - break; - - case ModeLowerHalf: - m_workFunction = &IntHalfbandFilterDB::workDecimateLowerHalf; - break; - - case ModeUpperHalf: - m_workFunction = &IntHalfbandFilterDB::workDecimateUpperHalf; - break; - } + case ModeUpperHalf: + m_workFunction = &IntHalfbandFilterEO1::workDecimateUpperHalf; + break; + } } #endif -#endif + DownChannelizer::FilterStage::~FilterStage() { delete m_filter; diff --git a/sdrbase/dsp/downchannelizer.h b/sdrbase/dsp/downchannelizer.h index afecca973..86c21db27 100644 --- a/sdrbase/dsp/downchannelizer.h +++ b/sdrbase/dsp/downchannelizer.h @@ -23,15 +23,12 @@ #include #include "export.h" #include "util/message.h" + #ifdef SDR_RX_SAMPLE_24BIT -#include "dsp/inthalfbandfilterdb.h" -#else -#ifdef USE_SSE4_1 +#include "dsp/inthalfbandfiltereo2.h" +#else // SDR_RX_SAMPLE_24BIT #include "dsp/inthalfbandfiltereo1.h" -#else -#include "dsp/inthalfbandfilterdb.h" -#endif -#endif +#endif // SDR_RX_SAMPLE_24BIT #define DOWNCHANNELIZER_HB_FILTER_ORDER 48 @@ -84,17 +81,13 @@ protected: }; #ifdef SDR_RX_SAMPLE_24BIT - typedef bool (IntHalfbandFilterDB::*WorkFunction)(Sample* s); - IntHalfbandFilterDB* m_filter; + typedef bool (IntHalfbandFilterEO2::*WorkFunction)(Sample* s); + IntHalfbandFilterEO2* m_filter; #else -#ifdef USE_SSE4_1 - typedef bool (IntHalfbandFilterEO1::*WorkFunction)(Sample* s); - IntHalfbandFilterEO1* m_filter; -#else - typedef bool (IntHalfbandFilterDB::*WorkFunction)(Sample* s); - IntHalfbandFilterDB* m_filter; -#endif + typedef bool (IntHalfbandFilterEO1::*WorkFunction)(Sample* s); + IntHalfbandFilterEO1* m_filter; #endif + WorkFunction m_workFunction; Mode m_mode; bool m_sse;