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

gitlab.xiph.org/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-25 00:49:58 +0300
committerJean-Marc Valin <jmvalin@jmvalin.ca>2016-07-25 00:49:58 +0300
commit9f4ba560590d452669c94f6ec537ea4d1efcd898 (patch)
tree40c32009c53a2daa2a935d85b8dfa8071d9f471e
parent23bfe2069261c48b524c29e6ba5f8328572fd371 (diff)
Tighter bound in filter control in PLC
We can't use the attenuation since it doesn't apply to the memory
-rw-r--r--celt/celt_decoder.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/celt/celt_decoder.c b/celt/celt_decoder.c
index 8a3b3485..20ededff 100644
--- a/celt/celt_decoder.c
+++ b/celt/celt_decoder.c
@@ -641,13 +641,13 @@ static void celt_decode_lost(CELTDecoder * OPUS_RESTRICT st, int N, int LM)
#ifdef FIXED_POINT
/* For fixed-point, apply bandwidth expansion until we can guarantee that
no overflow can happen in the IIR filter. This means:
- attenuation*32768*sum(abs(filter)) < 2^31 */
+ 32768*sum(abs(filter)) < 2^31 */
while (1) {
opus_val16 tmp=Q15ONE;
opus_val32 sum=QCONST16(1., SIG_SHIFT);
for (i=0;i<LPC_ORDER;i++)
sum += ABS16(lpc[c*LPC_ORDER+i]);
- if (MULT16_32_Q15(attenuation, sum) < 65535) break;
+ if (sum < 65535) break;
for (i=0;i<LPC_ORDER;i++)
{
tmp = MULT16_16_Q15(QCONST16(.99f,15), tmp);