Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mpc-hc/mpc-hc.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorXhmikosR <xhmikosr@users.sourceforge.net>2010-12-17 17:14:24 +0300
committerXhmikosR <xhmikosr@users.sourceforge.net>2010-12-17 17:14:24 +0300
commit1300d72c1e675dc64464153a91c04ea60f240321 (patch)
treec984d6c58ce7874faf102f47a894024ad8a26fab /src/filters/switcher
parentf0d88a6ff96770b10031dcc59447cca2c7dbc91c (diff)
legacy branch: merge r2761-r2777,r2779-r2782
git-svn-id: https://mpc-hc.svn.sourceforge.net/svnroot/mpc-hc/branches/legacy@2783 10f7b99b-c216-0410-bff0-8a66a9350fd8
Diffstat (limited to 'src/filters/switcher')
-rw-r--r--src/filters/switcher/AudioSwitcher/AudioSwitcher.cpp16
-rw-r--r--src/filters/switcher/AudioSwitcher/AudioSwitcher.h2
-rw-r--r--src/filters/switcher/AudioSwitcher/AudioSwitcher.vcxproj8
3 files changed, 17 insertions, 9 deletions
diff --git a/src/filters/switcher/AudioSwitcher/AudioSwitcher.cpp b/src/filters/switcher/AudioSwitcher/AudioSwitcher.cpp
index 5d6fe2092..d49e6f4c2 100644
--- a/src/filters/switcher/AudioSwitcher/AudioSwitcher.cpp
+++ b/src/filters/switcher/AudioSwitcher/AudioSwitcher.cpp
@@ -94,7 +94,7 @@ CAudioSwitcherFilter::CAudioSwitcherFilter(LPUNKNOWN lpunk, HRESULT* phr)
, m_rtNextStop(1)
, m_fNormalize(false)
, m_fNormalizeRecover(false)
- , m_boost(1)
+ , m_boost_mul(1)
, m_sample_max(0.1f)
{
memset(m_pSpeakerToChannelMap, 0, sizeof(m_pSpeakerToChannelMap));
@@ -377,7 +377,7 @@ HRESULT CAudioSwitcherFilter::Transform(IMediaSample* pIn, IMediaSample* pOut)
}
}
- if(m_fNormalize || m_boost > 1)
+ if(m_fNormalize || m_boost_mul > 1)
{
int samples = lenout*wfeout->nChannels;
@@ -411,9 +411,9 @@ HRESULT CAudioSwitcherFilter::Transform(IMediaSample* pIn, IMediaSample* pOut)
if(m_sample_max < 0.1) m_sample_max = 0.1;
}
- if(m_boost > 1)
+ if(m_boost_mul > 1)
{
- sample_mul *= (1+log10(m_boost));
+ sample_mul *= m_boost_mul;
}
for(int i = 0; i < samples; i++)
@@ -628,20 +628,20 @@ STDMETHODIMP CAudioSwitcherFilter::SetAudioTimeShift(REFERENCE_TIME rtAudioTimeS
return S_OK;
}
-STDMETHODIMP CAudioSwitcherFilter::GetNormalizeBoost(bool& fNormalize, bool& fNormalizeRecover, float& boost)
+STDMETHODIMP CAudioSwitcherFilter::GetNormalizeBoost(bool& fNormalize, bool& fNormalizeRecover, float& boost_dB)
{
fNormalize = m_fNormalize;
fNormalizeRecover = m_fNormalizeRecover;
- boost = m_boost;
+ boost_dB = 20*log10(m_boost_mul);
return S_OK;
}
-STDMETHODIMP CAudioSwitcherFilter::SetNormalizeBoost(bool fNormalize, bool fNormalizeRecover, float boost)
+STDMETHODIMP CAudioSwitcherFilter::SetNormalizeBoost(bool fNormalize, bool fNormalizeRecover, float boost_dB)
{
if(m_fNormalize != fNormalize) m_sample_max = 0.1f;
m_fNormalize = fNormalize;
m_fNormalizeRecover = fNormalizeRecover;
- m_boost = boost;
+ m_boost_mul = pow(10.0f, boost_dB/20);
return S_OK;
}
diff --git a/src/filters/switcher/AudioSwitcher/AudioSwitcher.h b/src/filters/switcher/AudioSwitcher/AudioSwitcher.h
index a46da0d00..8f2779149 100644
--- a/src/filters/switcher/AudioSwitcher/AudioSwitcher.h
+++ b/src/filters/switcher/AudioSwitcher/AudioSwitcher.h
@@ -50,7 +50,7 @@ CAudioSwitcherFilter : public CStreamSwitcherFilter, public IAudioSwitcherFilter
CAutoPtrArray<AudioStreamResampler> m_pResamplers;
double m_sample_max;
bool m_fNormalize, m_fNormalizeRecover;
- float m_boost;
+ float m_boost_mul;
REFERENCE_TIME m_rtNextStart, m_rtNextStop;
diff --git a/src/filters/switcher/AudioSwitcher/AudioSwitcher.vcxproj b/src/filters/switcher/AudioSwitcher/AudioSwitcher.vcxproj
index eafc06292..607bd2e3d 100644
--- a/src/filters/switcher/AudioSwitcher/AudioSwitcher.vcxproj
+++ b/src/filters/switcher/AudioSwitcher/AudioSwitcher.vcxproj
@@ -44,41 +44,49 @@
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseOfMfc>Static</UseOfMfc>
<CharacterSet>Unicode</CharacterSet>
+ <PlatformToolset>Windows7.1SDK</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseOfMfc>Static</UseOfMfc>
<CharacterSet>Unicode</CharacterSet>
+ <PlatformToolset>Windows7.1SDK</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release Filter|Win32'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<UseOfMfc>Static</UseOfMfc>
<CharacterSet>Unicode</CharacterSet>
+ <PlatformToolset>Windows7.1SDK</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug Filter|Win32'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<UseOfMfc>Static</UseOfMfc>
<CharacterSet>Unicode</CharacterSet>
+ <PlatformToolset>Windows7.1SDK</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseOfMfc>Static</UseOfMfc>
<CharacterSet>Unicode</CharacterSet>
+ <PlatformToolset>Windows7.1SDK</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseOfMfc>Static</UseOfMfc>
<CharacterSet>Unicode</CharacterSet>
+ <PlatformToolset>Windows7.1SDK</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release Filter|x64'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<UseOfMfc>Static</UseOfMfc>
<CharacterSet>Unicode</CharacterSet>
+ <PlatformToolset>Windows7.1SDK</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug Filter|x64'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<UseOfMfc>Static</UseOfMfc>
<CharacterSet>Unicode</CharacterSet>
+ <PlatformToolset>Windows7.1SDK</PlatformToolset>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">