Merge "Avoid signed integer overflow in combineSignalCplxScale2()." into sc-dev am: ab332a940d

Original change: https://googleplex-android-review.googlesource.com/c/platform/external/aac/+/14387474

Change-Id: I9260146d48ff100437308a2138942fdc1cc785a2
This commit is contained in:
TreeHugger Robot 2021-05-01 00:15:00 +00:00 committed by Automerger Merge Worker
commit 2a7cf2dc04
1 changed files with 9 additions and 6 deletions

View File

@ -252,12 +252,15 @@ inline void combineSignalCplxScale2(FIXP_DBL *hybOutputRealDry,
int n;
for (n = bands - 1; n >= 0; n--) {
*hybOutputRealDry =
*hybOutputRealDry +
(fMultDiv2(*hybOutputRealWet, scaleX) << (SF_SCALE + 1));
*hybOutputImagDry =
*hybOutputImagDry +
(fMultDiv2(*hybOutputImagWet, scaleX) << (SF_SCALE + 1));
*hybOutputRealDry = SATURATE_LEFT_SHIFT(
(*hybOutputRealDry >> 1) +
(fMultDiv2(*hybOutputRealWet, scaleX) << SF_SCALE),
1, DFRACT_BITS);
*hybOutputImagDry = SATURATE_LEFT_SHIFT(
(*hybOutputImagDry >> 1) +
(fMultDiv2(*hybOutputImagWet, scaleX) << SF_SCALE),
1, DFRACT_BITS);
;
hybOutputRealDry++, hybOutputRealWet++;
hybOutputImagDry++, hybOutputImagWet++;
}