diff options
author | Fraunhofer IIS FDK <audio-fdk@iis.fraunhofer.de> | 2020-04-09 17:57:27 +0200 |
---|---|---|
committer | Ray Essick <essick@google.com> | 2021-02-14 12:21:33 -0800 |
commit | 18758b9fe1a3ea4034792158009996d350f93bb1 (patch) | |
tree | 73446d9d303cc06afc9f4459e2ce8733b528017d /libAACdec/src/aacdecoder.cpp | |
parent | b93f896f37d9fe0a09c8233459b3403c699eff2e (diff) | |
download | fdk-aac-18758b9fe1a3ea4034792158009996d350f93bb1.tar.gz fdk-aac-18758b9fe1a3ea4034792158009996d350f93bb1.tar.bz2 fdk-aac-18758b9fe1a3ea4034792158009996d350f93bb1.zip |
ELD downscale factor 3 is only allowed for framesize 480.
Bug: 176246647
Test: atest DecoderTestXheAac DecoderTestAacDrc
Change-Id: I9681942ba39761e4f1d66236ad80c2420ca5abe9
Diffstat (limited to 'libAACdec/src/aacdecoder.cpp')
-rw-r--r-- | libAACdec/src/aacdecoder.cpp | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/libAACdec/src/aacdecoder.cpp b/libAACdec/src/aacdecoder.cpp index 6b5f873..b87c388 100644 --- a/libAACdec/src/aacdecoder.cpp +++ b/libAACdec/src/aacdecoder.cpp @@ -1818,9 +1818,17 @@ CAacDecoder_Init(HANDLE_AACDECODER self, const CSAudioSpecificConfig *asc, downscaleFactorInBS = asc->m_samplingFrequency / asc->m_sc.m_eldSpecificConfig.m_downscaledSamplingFrequency; - if (downscaleFactorInBS == 1 || downscaleFactorInBS == 2 || - downscaleFactorInBS == 3 || downscaleFactorInBS == 4) { + if ((downscaleFactorInBS == 1 || downscaleFactorInBS == 2 || + (downscaleFactorInBS == 3 && + asc->m_sc.m_eldSpecificConfig.m_frameLengthFlag) || + downscaleFactorInBS == 4) && + ((asc->m_samplingFrequency % + asc->m_sc.m_eldSpecificConfig.m_downscaledSamplingFrequency) == + 0)) { downscaleFactor = downscaleFactorInBS; + } else { + downscaleFactorInBS = 1; + downscaleFactor = 1; } } } else { |