From 646fcc33d7fee7fbca5a6ef82d0f6bd5233ff39f Mon Sep 17 00:00:00 2001 From: Jean-Marc Valin Date: Fri, 22 Jul 2016 11:47:01 -0400 Subject: PLC overflow fix --- celt/celt_decoder.c | 4 ++++ 1 file changed, 4 insertions(+) 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 -- cgit v1.2.1