diff options
Diffstat (limited to 'alc')
-rw-r--r-- | alc/bformatdec.cpp | 33 | ||||
-rw-r--r-- | alc/bformatdec.h | 4 | ||||
-rw-r--r-- | alc/effects/convolution.cpp | 3 | ||||
-rw-r--r-- | alc/effects/reverb.cpp | 4 | ||||
-rw-r--r-- | alc/voice.cpp | 3 |
5 files changed, 4 insertions, 43 deletions
diff --git a/alc/bformatdec.cpp b/alc/bformatdec.cpp index 9b2d9049..36b8d50e 100644 --- a/alc/bformatdec.cpp +++ b/alc/bformatdec.cpp @@ -21,23 +21,6 @@ namespace { -constexpr std::array<float,MaxAmbiOrder+1> Ambi3DDecoderHFScale{{ - 1.00000000e+00f, 1.00000000e+00f -}}; -constexpr std::array<float,MaxAmbiOrder+1> Ambi3DDecoderHFScale2O{{ - 7.45355990e-01f, 1.00000000e+00f, 1.00000000e+00f -}}; -constexpr std::array<float,MaxAmbiOrder+1> Ambi3DDecoderHFScale3O{{ - 5.89792205e-01f, 8.79693856e-01f, 1.00000000e+00f, 1.00000000e+00f -}}; - -inline auto& GetDecoderHFScales(uint order) noexcept -{ - if(order >= 3) return Ambi3DDecoderHFScale3O; - if(order == 2) return Ambi3DDecoderHFScale2O; - return Ambi3DDecoderHFScale; -} - inline auto& GetAmbiScales(AmbDecScale scaletype) noexcept { if(scaletype == AmbDecScale::FuMa) return AmbiScale::FromFuMa(); @@ -266,22 +249,6 @@ void BFormatDec::processStablize(const al::span<FloatBufferLine> OutBuffer, } -auto BFormatDec::GetHFOrderScales(const uint in_order, const uint out_order) noexcept - -> std::array<float,MaxAmbiOrder+1> -{ - std::array<float,MaxAmbiOrder+1> ret{}; - - assert(out_order >= in_order); - - const auto &target = GetDecoderHFScales(out_order); - const auto &input = GetDecoderHFScales(in_order); - - for(size_t i{0};i < in_order+1;++i) - ret[i] = input[i] / target[i]; - - return ret; -} - std::unique_ptr<BFormatDec> BFormatDec::Create(const AmbDecConf *conf, const bool allow_2band, const size_t inchans, const uint srate, const uint (&chanmap)[MAX_OUTPUT_CHANNELS], std::unique_ptr<FrontStablizer> stablizer) diff --git a/alc/bformatdec.h b/alc/bformatdec.h index 7715d364..bb39f709 100644 --- a/alc/bformatdec.h +++ b/alc/bformatdec.h @@ -58,10 +58,6 @@ public: const FloatBufferLine *InSamples, const size_t lidx, const size_t ridx, const size_t cidx, const size_t SamplesToDo); - /* Retrieves per-order HF scaling factors for "upsampling" ambisonic data. */ - static std::array<float,MaxAmbiOrder+1> GetHFOrderScales(const uint in_order, - const uint out_order) noexcept; - static std::unique_ptr<BFormatDec> Create(const AmbDecConf *conf, const bool allow_2band, const size_t inchans, const uint srate, const uint (&chanmap)[MAX_OUTPUT_CHANNELS], std::unique_ptr<FrontStablizer> stablizer); diff --git a/alc/effects/convolution.cpp b/alc/effects/convolution.cpp index 0a1bd214..072bc034 100644 --- a/alc/effects/convolution.cpp +++ b/alc/effects/convolution.cpp @@ -14,7 +14,6 @@ #include "alcontext.h" #include "almalloc.h" #include "alspan.h" -#include "bformatdec.h" #include "buffer_storage.h" #include "core/ambidefs.h" #include "core/filters/splitter.h" @@ -398,7 +397,7 @@ void ConvolutionState::update(const ContextBase *context, const EffectSlot *slot if(device->mAmbiOrder > mAmbiOrder) { mMix = &ConvolutionState::UpsampleMix; - const auto scales = BFormatDec::GetHFOrderScales(mAmbiOrder, device->mAmbiOrder); + const auto scales = AmbiScale::GetHFOrderScales(mAmbiOrder, device->mAmbiOrder); (*mChans)[0].mHfScale = scales[0]; for(size_t i{1};i < mChans->size();++i) (*mChans)[i].mHfScale = scales[1]; diff --git a/alc/effects/reverb.cpp b/alc/effects/reverb.cpp index 1260748c..2af7472d 100644 --- a/alc/effects/reverb.cpp +++ b/alc/effects/reverb.cpp @@ -32,7 +32,7 @@ #include "alcmain.h" #include "alcontext.h" #include "alnumeric.h" -#include "bformatdec.h" +#include "core/ambidefs.h" #include "core/filters/biquad.h" #include "effectslot.h" #include "vector.h" @@ -665,7 +665,7 @@ void ReverbState::deviceUpdate(const DeviceBase *device, const Buffer&) if(device->mAmbiOrder > 1) { mMixOut = &ReverbState::MixOutAmbiUp; - mOrderScales = BFormatDec::GetHFOrderScales(1, device->mAmbiOrder); + mOrderScales = AmbiScale::GetHFOrderScales(1, device->mAmbiOrder); } else { diff --git a/alc/voice.cpp b/alc/voice.cpp index 206444d9..79c47588 100644 --- a/alc/voice.cpp +++ b/alc/voice.cpp @@ -44,7 +44,6 @@ #include "alstring.h" #include "alu.h" #include "async_event.h" -#include "bformatdec.h" #include "buffer_storage.h" #include "core/ambidefs.h" #include "core/cpu_caps.h" @@ -840,7 +839,7 @@ void Voice::prepare(DeviceBase *device) { const uint8_t *OrderFromChan{(mFmtChannels == FmtBFormat2D) ? AmbiIndex::OrderFrom2DChannel().data() : AmbiIndex::OrderFromChannel().data()}; - const auto scales = BFormatDec::GetHFOrderScales(mAmbiOrder, device->mAmbiOrder); + const auto scales = AmbiScale::GetHFOrderScales(mAmbiOrder, device->mAmbiOrder); const BandSplitter splitter{device->mXOverFreq / static_cast<float>(device->Frequency)}; for(auto &chandata : mChans) |