diff options
author | Treehugger Robot <treehugger-gerrit@google.com> | 2020-09-30 03:04:41 +0000 |
---|---|---|
committer | Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> | 2020-09-30 03:04:41 +0000 |
commit | 24854482033d30299d26453271a1952a02989e91 (patch) | |
tree | 0aa40ebba2c5d35a7c8f3c0e25987aaa75c4e0c7 | |
parent | b74b5dfe38ca90c4676566684e7d3b5b571ec33e (diff) | |
parent | 6772b2f2fcc053ce7939fa7eb886dabb33ce36de (diff) | |
download | libxaac-24854482033d30299d26453271a1952a02989e91.tar.gz |
Merge "Fix for integer overflow in ixheaacd_cplx_synt_qmffilt" am: bf603c488f am: d836d24c78 am: 6772b2f2fc
Original change: https://android-review.googlesource.com/c/platform/external/libxaac/+/1425113
Change-Id: I99874c54ab797e24eb5fd0e52a3985f55eb03a8a
-rw-r--r-- | decoder/ixheaacd_basic_ops40.h | 4 | ||||
-rw-r--r-- | decoder/ixheaacd_qmf_dec.c | 6 |
2 files changed, 5 insertions, 5 deletions
diff --git a/decoder/ixheaacd_basic_ops40.h b/decoder/ixheaacd_basic_ops40.h index 06fbbb2..c8a308c 100644 --- a/decoder/ixheaacd_basic_ops40.h +++ b/decoder/ixheaacd_basic_ops40.h @@ -156,8 +156,8 @@ static PLATFORM_INLINE WORD32 ixheaacd_mac32x16in32_shl(WORD32 a, WORD32 b, return (result); } -static PLATFORM_INLINE WORD32 mac32x16in32_shl_sat(WORD32 a, WORD32 b, - WORD16 c) { +static PLATFORM_INLINE WORD32 ixheaacd_mac32x16in32_shl_sat(WORD32 a, WORD32 b, + WORD16 c) { return (ixheaacd_add32_sat(a, ixheaacd_mult32x16in32_shl_sat(b, c))); } diff --git a/decoder/ixheaacd_qmf_dec.c b/decoder/ixheaacd_qmf_dec.c index 8e8076e..022a631 100644 --- a/decoder/ixheaacd_qmf_dec.c +++ b/decoder/ixheaacd_qmf_dec.c @@ -666,10 +666,10 @@ void ixheaacd_sbr_pre_twiddle(WORD32 *p_xre, WORD32 *p_xim, WORD32 re, im; - re = ixheaacd_mac32x16in32_shl( + re = ixheaacd_mac32x16in32_shl_sat( ixheaacd_mult32x16in32_shl(x_re, ixheaacd_cosine), x_im, ixheaacd_sine); - im = ixheaacd_sub32(ixheaacd_mult32x16in32_shl(x_im, ixheaacd_cosine), - ixheaacd_mult32x16in32_shl(x_re, ixheaacd_sine)); + im = ixheaacd_sub32_sat(ixheaacd_mult32x16in32_shl(x_im, ixheaacd_cosine), + ixheaacd_mult32x16in32_shl(x_re, ixheaacd_sine)); *p_xre++ = re; *p_xim++ = im; |