mirror of https://github.com/mstorsjo/fdk-aac.git
Limit smoothedNoise values to avoid integer overflows in adjustTimeSlotHQ() and adjustTimeSlotHQ_GainAndNoise().
Bug: 176246647 Test: atest DecoderTestXheAac DecoderTestAacDrc Change-Id: Ib630d56a626ddd59a9155df38cda2011c3165346
This commit is contained in:
parent
2b281bb5a3
commit
4305167ceb
|
@ -1,7 +1,7 @@
|
|||
/* -----------------------------------------------------------------------------
|
||||
Software License for The Fraunhofer FDK AAC Codec Library for Android
|
||||
|
||||
© Copyright 1995 - 2019 Fraunhofer-Gesellschaft zur Förderung der angewandten
|
||||
© Copyright 1995 - 2020 Fraunhofer-Gesellschaft zur Förderung der angewandten
|
||||
Forschung e.V. All rights reserved.
|
||||
|
||||
1. INTRODUCTION
|
||||
|
@ -1398,6 +1398,17 @@ void calculateSbrEnvelope(
|
|||
*/
|
||||
noise_e = (start_pos < no_cols) ? adj_e : final_e;
|
||||
|
||||
if (start_pos >= no_cols) {
|
||||
int diff = h_sbr_cal_env->filtBufferNoise_e - noise_e;
|
||||
if (diff > 0) {
|
||||
int s = getScalefactor(h_sbr_cal_env->filtBufferNoise, noSubbands);
|
||||
if (diff > s) {
|
||||
final_e += diff - s;
|
||||
noise_e = final_e;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
Convert energies to amplitude levels
|
||||
*/
|
||||
|
@ -2741,6 +2752,9 @@ static void adjustTimeSlotHQ_GainAndNoise(
|
|||
fMult(direct_ratio, noiseLevel[k]);
|
||||
}
|
||||
|
||||
smoothedNoise = fMax(fMin(smoothedNoise, (FIXP_DBL)(MAXVAL_DBL / 2)),
|
||||
(FIXP_DBL)(MINVAL_DBL / 2));
|
||||
|
||||
/*
|
||||
The next 2 multiplications constitute the actual envelope adjustment
|
||||
of the signal and should be carried out with full accuracy
|
||||
|
@ -2930,6 +2944,9 @@ static void adjustTimeSlotHQ(
|
|||
fMult(direct_ratio, noiseLevel[k]);
|
||||
}
|
||||
|
||||
smoothedNoise = fMax(fMin(smoothedNoise, (FIXP_DBL)(MAXVAL_DBL / 2)),
|
||||
(FIXP_DBL)(MINVAL_DBL / 2));
|
||||
|
||||
/*
|
||||
The next 2 multiplications constitute the actual envelope adjustment
|
||||
of the signal and should be carried out with full accuracy
|
||||
|
|
Loading…
Reference in New Issue