diff options
author | Jean-Marc Valin <jmvalin@jmvalin.ca> | 2016-07-22 11:47:01 -0400 |
---|---|---|
committer | Jean-Marc Valin <jmvalin@jmvalin.ca> | 2016-07-22 15:57:01 -0400 |
commit | 646fcc33d7fee7fbca5a6ef82d0f6bd5233ff39f (patch) | |
tree | 97fafda8aa9d56158df48a0f71c344865e7d7dc4 | |
parent | 3c60bae2d74b4b9898b5f4925d4a1fb464a3fa43 (diff) | |
download | opus-646fcc33d7fee7fbca5a6ef82d0f6bd5233ff39f.tar.gz |
PLC overflow fix
-rw-r--r-- | celt/celt_decoder.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/celt/celt_decoder.c b/celt/celt_decoder.c index 28239cd8..6f7b34d3 100644 --- a/celt/celt_decoder.c +++ b/celt/celt_decoder.c @@ -660,6 +660,10 @@ static void celt_decode_lost(CELTDecoder * OPUS_RESTRICT st, int N, int LM) celt_iir(buf+DECODE_BUFFER_SIZE-N, lpc+c*LPC_ORDER, buf+DECODE_BUFFER_SIZE-N, extrapolation_len, LPC_ORDER, lpc_mem, st->arch); +#ifdef FIXED_POINT + for (i=0; i < extrapolation_len; i++) + buf[DECODE_BUFFER_SIZE-N+i] = SATURATE(buf[DECODE_BUFFER_SIZE-N+i], SIG_SAT); +#endif } /* Check if the synthesis energy is higher than expected, which can |