Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.xiph.org/xiph/opus.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJean-Marc Valin <jmvalin@jmvalin.ca>2016-07-22 21:21:26 +0300
committerJean-Marc Valin <jmvalin@jmvalin.ca>2016-07-22 22:30:19 +0300
commitc76c4de1232531b80c4f6bdf7415771c326d5e92 (patch)
tree05e3b19d02855900ced0cca184566e6b8c493809
parentb290bca91aeb047d03841bd1897c1cd0ca6d5344 (diff)
Avoid overflowing on ridiculously large energy
-rw-r--r--celt/bands.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/celt/bands.c b/celt/bands.c
index ae03072e..61e2d4ca 100644
--- a/celt/bands.c
+++ b/celt/bands.c
@@ -224,7 +224,7 @@ void denormalise_bands(const CELTMode *m, const celt_norm * OPUS_RESTRICT X,
#endif
j=M*eBands[i];
band_end = M*eBands[i+1];
- lg = ADD16(bandLogE[i], SHL16((opus_val16)eMeans[i],6));
+ lg = SATURATE16(ADD32(bandLogE[i], SHL32((opus_val32)eMeans[i],6)));
#ifndef FIXED_POINT
g = celt_exp2(lg);
#else