summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJean-Marc Valin <jmvalin@jmvalin.ca>2016-10-20 23:39:01 -0400
committerJean-Marc Valin <jmvalin@jmvalin.ca>2016-10-21 00:30:29 -0400
commit414adc5e7b070762bd30b752cc1f9da6292899db (patch)
tree37fccf0a9937d38d388a8dca254db1e3d9b3ad8a
parent1467635da7d1f05e1fe5b0a2e48731411d355761 (diff)
downloadopus-update_draft.tar.gz
Prevents ridiculously large gains from causing inf/NaNs in float decoderupdate_draft
-rw-r--r--celt/quant_bands.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/celt/quant_bands.c b/celt/quant_bands.c
index e5ed9efa..82fb823d 100644
--- a/celt/quant_bands.c
+++ b/celt/quant_bands.c
@@ -552,6 +552,7 @@ void log2Amp(const CELTMode *m, int start, int end,
{
opus_val16 lg = ADD16(oldEBands[i+c*m->nbEBands],
SHL16((opus_val16)eMeans[i],6));
+ lg = MIN32(QCONST32(32.f, 16), lg);
eBands[i+c*m->nbEBands] = PSHR32(celt_exp2(lg),4);
}
for (;i<m->nbEBands;i++)