From 0d36ba0fbbed583e5f5fbe0a99fa0fd60773e2e0 Mon Sep 17 00:00:00 2001 From: Chris Robinson Date: Mon, 10 Dec 2018 22:32:10 -0800 Subject: Use helpers to get the Ambisonic scales and layout maps --- Alc/bformatdec.cpp | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) (limited to 'Alc/bformatdec.cpp') diff --git a/Alc/bformatdec.cpp b/Alc/bformatdec.cpp index 8b12149a..888c7cab 100644 --- a/Alc/bformatdec.cpp +++ b/Alc/bformatdec.cpp @@ -69,6 +69,13 @@ ALsizei GetACNIndex(const BFChannelConfig *chans, ALsizei numchans, ALsizei acn) } #define GetChannelForACN(b, a) GetACNIndex((b).Ambi.Map, (b).NumChannels, (a)) +auto GetAmbiScales(AmbDecScale scaletype) noexcept -> decltype(AmbiScale::N3D2N3D)& +{ + if(scaletype == AmbDecScale::FuMa) return AmbiScale::FuMa2N3D; + if(scaletype == AmbDecScale::SN3D) return AmbiScale::SN3D2N3D; + return AmbiScale::N3D2N3D; +} + } // namespace @@ -122,10 +129,7 @@ void BFormatDec::reset(const AmbDecConf *conf, ALsizei chancount, ALuint srate, mUpSampler[3].Gains[LF_BAND] = 0.0f; } - const ALfloat (&coeff_scale)[MAX_AMBI_COEFFS] = - (conf->CoeffScale == AmbDecScale::FuMa) ? AmbiScale::FuMa2N3D : - (conf->CoeffScale == AmbDecScale::SN3D) ? AmbiScale::SN3D2N3D : - /*(conf->CoeffScale == AmbDecScale::N3D) ?*/ AmbiScale::N3D2N3D; + const ALfloat (&coeff_scale)[MAX_AMBI_COEFFS] = GetAmbiScales(conf->CoeffScale); mMatrix = MatrixU{}; if(conf->FreqBands == 1) -- cgit v1.2.3