ref: 184a4767aad0e813cffa4aa178e0c161a4d17253
parent: 4c9ce97dbfa5f2ab0fb142a6794318444852a23b
author: Jean-Marc Valin <jmvalin@jmvalin.ca>
date: Thu Jul 21 17:56:55 EDT 2016
getting rid of a PLC overflow (I think)
--- a/celt/celt_decoder.c
+++ b/celt/celt_decoder.c
@@ -630,7 +630,7 @@
tmp = ROUND16(
buf[DECODE_BUFFER_SIZE-MAX_PERIOD-N+extrapolation_offset+j],
SIG_SHIFT);
- S1 += SHR32(MULT16_16(tmp, tmp), 8);
+ S1 += SHR32(MULT16_16(tmp, tmp), 9);
}
{
@@ -654,7 +654,7 @@
for (i=0;i<extrapolation_len;i++)
{
opus_val16 tmp = ROUND16(buf[DECODE_BUFFER_SIZE-N+i], SIG_SHIFT);
- S2 += SHR32(MULT16_16(tmp, tmp), 8);
+ S2 += SHR32(MULT16_16(tmp, tmp), 9);
}
/* This checks for an "explosion" in the synthesis. */
#ifdef FIXED_POINT