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; int n;
for (n = bands - 1; n >= 0; n--) { for (n = bands - 1; n >= 0; n--) {
*hybOutputRealDry = *hybOutputRealDry = SATURATE_LEFT_SHIFT(
*hybOutputRealDry + (*hybOutputRealDry >> 1) +
(fMultDiv2(*hybOutputRealWet, scaleX) << (SF_SCALE + 1)); (fMultDiv2(*hybOutputRealWet, scaleX) << SF_SCALE),
*hybOutputImagDry = 1, DFRACT_BITS);
*hybOutputImagDry + *hybOutputImagDry = SATURATE_LEFT_SHIFT(
(fMultDiv2(*hybOutputImagWet, scaleX) << (SF_SCALE + 1)); (*hybOutputImagDry >> 1) +
(fMultDiv2(*hybOutputImagWet, scaleX) << SF_SCALE),
1, DFRACT_BITS);
;
hybOutputRealDry++, hybOutputRealWet++; hybOutputRealDry++, hybOutputRealWet++;
hybOutputImagDry++, hybOutputImagWet++; hybOutputImagDry++, hybOutputImagWet++;
} }