From: <man...@us...> - 2013-06-07 22:36:31
|
Revision: 2319 http://sourceforge.net/p/modplug/code/2319 Author: manxorist Date: 2013-06-07 22:36:21 +0000 (Fri, 07 Jun 2013) Log Message: ----------- [Ref] Simplify equalizer interface by using a dedicated temporary floating point buffer and avoid having to pass one to Process(). Modified Paths: -------------- trunk/OpenMPT/sounddsp/EQ.cpp trunk/OpenMPT/sounddsp/EQ.h trunk/OpenMPT/soundlib/Sndmix.cpp Modified: trunk/OpenMPT/sounddsp/EQ.cpp =================================================================== --- trunk/OpenMPT/sounddsp/EQ.cpp 2013-06-07 22:21:06 UTC (rev 2318) +++ trunk/OpenMPT/sounddsp/EQ.cpp 2013-06-07 22:36:21 UTC (rev 2319) @@ -516,7 +516,6 @@ } - void CQuadEQ::Initialize(BOOL bReset, DWORD MixingFreq) //----------------------------------------------------- { @@ -531,18 +530,18 @@ rear.SetEQGains(pGains, nGains, pFreqs, bReset, MixingFreq); } -void CQuadEQ::Process(int *frontBuffer, int *rearBuffer, float *tempFloatBuffer, UINT nCount, UINT nChannels) -//----------------------------------------------------------------------------------------------------------- +void CQuadEQ::Process(int *frontBuffer, int *rearBuffer, UINT nCount, UINT nChannels) +//----------------------------------------------------------------------------------- { if(nChannels == 1) { - front.ProcessMono(frontBuffer, tempFloatBuffer, nCount); + front.ProcessMono(frontBuffer, EQTempFloatBuffer, nCount); } else if(nChannels == 2) { - front.ProcessStereo(frontBuffer, tempFloatBuffer, nCount); + front.ProcessStereo(frontBuffer, EQTempFloatBuffer, nCount); } else if(nChannels == 4) { - front.ProcessStereo(frontBuffer, tempFloatBuffer, nCount); - rear.ProcessStereo(rearBuffer, tempFloatBuffer, nCount); + front.ProcessStereo(frontBuffer, EQTempFloatBuffer, nCount); + rear.ProcessStereo(rearBuffer, EQTempFloatBuffer, nCount); } } Modified: trunk/OpenMPT/sounddsp/EQ.h =================================================================== --- trunk/OpenMPT/sounddsp/EQ.h 2013-06-07 22:21:06 UTC (rev 2318) +++ trunk/OpenMPT/sounddsp/EQ.h 2013-06-07 22:36:21 UTC (rev 2319) @@ -53,9 +53,10 @@ private: CEQ front; CEQ rear; + float EQTempFloatBuffer[MIXBUFFERSIZE * 2]; public: void Initialize(BOOL bReset, DWORD MixingFreq); - void Process(int *frontBuffer, int *rearBuffer, float *tempFloatBuffer, UINT nCount, UINT nChannels); + void Process(int *frontBuffer, int *rearBuffer, UINT nCount, UINT nChannels); void SetEQGains(const UINT *pGains, UINT nGains, const UINT *pFreqs, BOOL bReset, DWORD MixingFreq); }; Modified: trunk/OpenMPT/soundlib/Sndmix.cpp =================================================================== --- trunk/OpenMPT/soundlib/Sndmix.cpp 2013-06-07 22:21:06 UTC (rev 2318) +++ trunk/OpenMPT/soundlib/Sndmix.cpp 2013-06-07 22:36:21 UTC (rev 2319) @@ -333,7 +333,7 @@ // Graphic Equalizer if (m_MixerSettings.DSPMask & SNDDSP_EQ) { - m_EQ.Process(MixSoundBuffer, MixRearBuffer, MixFloatBuffer, lCount, m_MixerSettings.gnChannels); + m_EQ.Process(MixSoundBuffer, MixRearBuffer, lCount, m_MixerSettings.gnChannels); } #endif // NO_EQ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |