|
From: <man...@us...> - 2013-06-08 18:10:18
|
Revision: 2327
http://sourceforge.net/p/modplug/code/2327
Author: manxorist
Date: 2013-06-08 18:10:12 +0000 (Sat, 08 Jun 2013)
Log Message:
-----------
[Ref] There is no reason for the Convert32ToXX functions to return the written byte count because the caller has to know it up front anyway. Make them all return void.
Modified Paths:
--------------
trunk/OpenMPT/soundlib/Fastmix.cpp
trunk/OpenMPT/soundlib/Sndmix.cpp
trunk/OpenMPT/soundlib/Waveform.cpp
Modified: trunk/OpenMPT/soundlib/Fastmix.cpp
===================================================================
--- trunk/OpenMPT/soundlib/Fastmix.cpp 2013-06-08 17:36:40 UTC (rev 2326)
+++ trunk/OpenMPT/soundlib/Fastmix.cpp 2013-06-08 18:10:12 UTC (rev 2327)
@@ -1730,10 +1730,9 @@
#ifdef ENABLE_X86
-static DWORD X86_Convert32To8(LPVOID lp16, int *pBuffer, DWORD lSampleCount)
-//--------------------------------------------------------------------------
+static void X86_Convert32To8(LPVOID lp16, int *pBuffer, DWORD lSampleCount)
+//-------------------------------------------------------------------------
{
- DWORD result;
_asm {
mov ebx, lp16 // ebx = 8-bit buffer
mov edx, pBuffer // edx = pBuffer
@@ -1761,15 +1760,12 @@
mov eax, MIXING_CLIPMAX
jmp cliprecover
done:
- mov eax, lSampleCount
- mov result, eax
}
- return result;
}
#endif
-static DWORD C_Convert32To8(LPVOID lp16, int *pBuffer, DWORD lSampleCount)
-//------------------------------------------------------------------------
+static void C_Convert32To8(LPVOID lp16, int *pBuffer, DWORD lSampleCount)
+//-----------------------------------------------------------------------
{
uint8 * p = (uint8*)lp16;
for(DWORD i=0; i<lSampleCount; i++)
@@ -1779,17 +1775,16 @@
else if(v > MIXING_CLIPMAX) v = MIXING_CLIPMAX;
p[i] = (uint8)((v >> (24-MIXING_ATTENUATION))+0x80); // unsigned
}
- return lSampleCount * 1;
}
// Clip and convert to 8 bit
-DWORD Convert32To8(LPVOID lp16, int *pBuffer, DWORD lSampleCount)
-//---------------------------------------------------------------
+void Convert32To8(LPVOID lp16, int *pBuffer, DWORD lSampleCount)
+//--------------------------------------------------------------
{
#ifdef ENABLE_X86
- return X86_Convert32To8(lp16, pBuffer, lSampleCount);
+ X86_Convert32To8(lp16, pBuffer, lSampleCount);
#else
- return C_Convert32To8(lp16, pBuffer, lSampleCount);
+ C_Convert32To8(lp16, pBuffer, lSampleCount);
#endif
}
@@ -1811,10 +1806,9 @@
#ifdef ENABLE_X86
-static DWORD X86_Convert32To16(LPVOID lp16, int *pBuffer, DWORD lSampleCount)
-//---------------------------------------------------------------------------
+static void X86_Convert32To16(LPVOID lp16, int *pBuffer, DWORD lSampleCount)
+//--------------------------------------------------------------------------
{
- DWORD result;
_asm {
mov ebx, lp16 // ebx = 16-bit buffer
mov edx, pBuffer // edx = pBuffer
@@ -1841,16 +1835,12 @@
mov eax, MIXING_CLIPMAX
jmp cliprecover
done:
- mov eax, lSampleCount
- add eax, eax
- mov result, eax
}
- return result;
}
#endif
-static DWORD C_Convert32To16(LPVOID lp16, int *pBuffer, DWORD lSampleCount)
-//-------------------------------------------------------------------------
+static void C_Convert32To16(LPVOID lp16, int *pBuffer, DWORD lSampleCount)
+//------------------------------------------------------------------------
{
int16 * p = (int16*)lp16;
for(DWORD i=0; i<lSampleCount; i++)
@@ -1860,17 +1850,16 @@
else if(v > MIXING_CLIPMAX) v = MIXING_CLIPMAX;
p[i] = (int16)(v >> (16-MIXING_ATTENUATION));
}
- return lSampleCount * 2;
}
// Clip and convert to 16 bit
-DWORD Convert32To16(LPVOID lp16, int *pBuffer, DWORD lSampleCount)
-//----------------------------------------------------------------
+void Convert32To16(LPVOID lp16, int *pBuffer, DWORD lSampleCount)
+//---------------------------------------------------------------
{
#ifdef ENABLE_X86
- return X86_Convert32To16(lp16, pBuffer, lSampleCount);
+ X86_Convert32To16(lp16, pBuffer, lSampleCount);
#else
- return C_Convert32To16(lp16, pBuffer, lSampleCount);
+ C_Convert32To16(lp16, pBuffer, lSampleCount);
#endif
}
@@ -1889,10 +1878,9 @@
#ifdef ENABLE_X86
-static DWORD X86_Convert32To24(LPVOID lp16, int *pBuffer, DWORD lSampleCount)
-//---------------------------------------------------------------------------
+static void X86_Convert32To24(LPVOID lp16, int *pBuffer, DWORD lSampleCount)
+//--------------------------------------------------------------------------
{
- DWORD result;
_asm {
mov ebx, lp16 // ebx = 8-bit buffer
mov edx, pBuffer // edx = pBuffer
@@ -1921,16 +1909,12 @@
mov eax, MIXING_CLIPMAX
jmp cliprecover
done:
- mov eax, lSampleCount
- lea eax, [eax*2+eax]
- mov result, eax
}
- return result;
}
#endif
-static DWORD C_Convert32To24(LPVOID lp16, int *pBuffer, DWORD lSampleCount)
-//-------------------------------------------------------------------------
+static void C_Convert32To24(LPVOID lp16, int *pBuffer, DWORD lSampleCount)
+//------------------------------------------------------------------------
{
int24 * p = (int24*)lp16;
for(DWORD i=0; i<lSampleCount; i++)
@@ -1941,16 +1925,16 @@
v >>= (8-MIXING_ATTENUATION);
p[i] = (int24)v;
}
- return lSampleCount * 3;
}
// Clip and convert to 24 bit
-DWORD Convert32To24(LPVOID lp16, int *pBuffer, DWORD lSampleCount)
+void Convert32To24(LPVOID lp16, int *pBuffer, DWORD lSampleCount)
+//---------------------------------------------------------------
{
#ifdef ENABLE_X86
- return X86_Convert32To24(lp16, pBuffer, lSampleCount);
+ X86_Convert32To24(lp16, pBuffer, lSampleCount);
#else
- return C_Convert32To24(lp16, pBuffer, lSampleCount);
+ C_Convert32To24(lp16, pBuffer, lSampleCount);
#endif
}
@@ -1969,10 +1953,9 @@
#ifdef ENABLE_X86
-static DWORD X86_Convert32To32(LPVOID lp16, int *pBuffer, DWORD lSampleCount)
-//---------------------------------------------------------------------------
+static void X86_Convert32To32(LPVOID lp16, int *pBuffer, DWORD lSampleCount)
+//--------------------------------------------------------------------------
{
- DWORD result;
_asm {
mov ebx, lp16 // ebx = 32-bit buffer
mov edx, pBuffer // edx = pBuffer
@@ -1998,16 +1981,12 @@
mov eax, MIXING_CLIPMAX
jmp cliprecover
done:
- mov eax, lSampleCount
- lea eax, [eax*4]
- mov result, eax
}
- return result;
}
#endif
-static DWORD C_Convert32To32(LPVOID lp16, int *pBuffer, DWORD lSampleCount)
-//-------------------------------------------------------------------------
+static void C_Convert32To32(LPVOID lp16, int *pBuffer, DWORD lSampleCount)
+//------------------------------------------------------------------------
{
int32 * p = (int32*)lp16;
for(DWORD i=0; i<lSampleCount; i++)
@@ -2017,17 +1996,16 @@
else if(v > MIXING_CLIPMAX) v = MIXING_CLIPMAX;
p[i] = v << MIXING_ATTENUATION;
}
- return lSampleCount * 4;
}
// Clip and convert to 32 bit
-DWORD Convert32To32(LPVOID lp16, int *pBuffer, DWORD lSampleCount)
-//----------------------------------------------------------------
+void Convert32To32(LPVOID lp16, int *pBuffer, DWORD lSampleCount)
+//---------------------------------------------------------------
{
#ifdef ENABLE_X86
- return X86_Convert32To32(lp16, pBuffer, lSampleCount);
+ X86_Convert32To32(lp16, pBuffer, lSampleCount);
#else
- return C_Convert32To32(lp16, pBuffer, lSampleCount);
+ C_Convert32To32(lp16, pBuffer, lSampleCount);
#endif
}
@@ -2046,8 +2024,8 @@
// convert to 32 bit floats and do NOT clip to [-1,1]
-DWORD Convert32ToFloat32(LPVOID lpBuffer, int *pBuffer, DWORD lSampleCount)
-//-------------------------------------------------------------------------
+void Convert32ToFloat32(LPVOID lpBuffer, int *pBuffer, DWORD lSampleCount)
+//------------------------------------------------------------------------
{
const float factor = (1.0f/(float)MIXING_CLIPMAX);
float *out = (float*)lpBuffer;
@@ -2055,7 +2033,6 @@
{
out[i] = pBuffer[i] * factor;
}
- return lSampleCount * 4;
}
void Convert32ToNonInterleaved(float * const * const buffers, const int *mixbuffer, std::size_t channels, std::size_t count)
Modified: trunk/OpenMPT/soundlib/Sndmix.cpp
===================================================================
--- trunk/OpenMPT/soundlib/Sndmix.cpp 2013-06-08 17:36:40 UTC (rev 2326)
+++ trunk/OpenMPT/soundlib/Sndmix.cpp 2013-06-08 18:10:12 UTC (rev 2327)
@@ -33,13 +33,13 @@
PMIXPLUGINCREATEPROC CSoundFile::gpMixPluginCreateProc = NULL;
#endif
-typedef DWORD (* LPCONVERTPROC)(LPVOID, int *, DWORD);
+typedef void (* LPCONVERTPROC)(LPVOID, int *, DWORD);
-extern DWORD Convert32To8(LPVOID lpBuffer, int *, DWORD nSamples);
-extern DWORD Convert32To16(LPVOID lpBuffer, int *, DWORD nSamples);
-extern DWORD Convert32To24(LPVOID lpBuffer, int *, DWORD nSamples);
-extern DWORD Convert32To32(LPVOID lpBuffer, int *, DWORD nSamples);
-extern DWORD Convert32ToFloat32(LPVOID lpBuffer, int *pBuffer, DWORD lSampleCount);
+extern void Convert32To8(LPVOID lpBuffer, int *, DWORD nSamples);
+extern void Convert32To16(LPVOID lpBuffer, int *, DWORD nSamples);
+extern void Convert32To24(LPVOID lpBuffer, int *, DWORD nSamples);
+extern void Convert32To32(LPVOID lpBuffer, int *, DWORD nSamples);
+extern void Convert32ToFloat32(LPVOID lpBuffer, int *pBuffer, DWORD lSampleCount);
extern void Convert32ToNonInterleaved(uint8 * const * const buffers, const int *mixbuffer, std::size_t channels, std::size_t count);
extern void Convert32ToNonInterleaved(int16 * const * const buffers, const int *mixbuffer, std::size_t channels, std::size_t count);
@@ -393,7 +393,8 @@
#endif
// Convert to output sample format and optionally perform clipping if needed
- lpBuffer += pCvt(lpBuffer, MixSoundBuffer, lTotalSampleCount);
+ pCvt(lpBuffer, MixSoundBuffer, lTotalSampleCount);
+ lpBuffer += lTotalSampleCount * (m_MixerSettings.GetBitsPerSample()/8);
#ifndef MODPLUG_TRACKER
LPBYTE buf_end = lpBuffer;
Modified: trunk/OpenMPT/soundlib/Waveform.cpp
===================================================================
--- trunk/OpenMPT/soundlib/Waveform.cpp 2013-06-08 17:36:40 UTC (rev 2326)
+++ trunk/OpenMPT/soundlib/Waveform.cpp 2013-06-08 18:10:12 UTC (rev 2327)
@@ -54,9 +54,9 @@
#endif
extern void Dither(int *pBuffer, UINT nSamples, UINT nBits);
-extern DWORD Convert32To8(LPVOID lpBuffer, int *, DWORD nSamples);
-extern DWORD Convert32To16(LPVOID lpBuffer, int *, DWORD nSamples);
-extern DWORD Convert32To24(LPVOID lpBuffer, int *, DWORD nSamples);
+extern void Convert32To8(LPVOID lpBuffer, int *, DWORD nSamples);
+extern void Convert32To16(LPVOID lpBuffer, int *, DWORD nSamples);
+extern void Convert32To24(LPVOID lpBuffer, int *, DWORD nSamples);
UINT CSoundFile::Normalize24BitBuffer(LPBYTE pbuffer, UINT dwSize, DWORD lmax24, DWORD dwByteInc)
//-----------------------------------------------------------------------------------------------
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|