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

github.com/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 18:47:01 +0300
committerJean-Marc Valin <jmvalin@jmvalin.ca>2016-07-22 22:30:19 +0300
commitca0d38395c50e2082124d95843e036d274401dd0 (patch)
tree5e5d3eeee521008317d4cb797964bc1da569eeba
parentc952f90b4ffb63616a4b29d1ec6b671a2ed76147 (diff)
PLC overflow fix
-rw-r--r--celt/celt_decoder.c4
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