From 414adc5e7b070762bd30b752cc1f9da6292899db Mon Sep 17 00:00:00 2001 From: Jean-Marc Valin Date: Thu, 20 Oct 2016 23:39:01 -0400 Subject: Prevents ridiculously large gains from causing inf/NaNs in float decoder --- celt/quant_bands.c | 1 + 1 file changed, 1 insertion(+) 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 (;inbEBands;i++) -- cgit v1.2.1