29 lines
985 B
Diff
29 lines
985 B
Diff
From a88d8365d42e5369777afa496b43ea88a1aa9106 Mon Sep 17 00:00:00 2001
|
|
From: Jean-Marc Valin <jmvalin@jmvalin.ca>
|
|
Date: Wed, 18 Jun 2014 17:06:32 -0400
|
|
Subject: [PATCH] Fixes a bug in silk_sum_sqr_shift() that was causing issues with Burg.
|
|
|
|
When an overflow happened in silk_sum_sqr_shift(), the sample pair causing
|
|
the overflow would be counted twice. This would lead to the C0 in
|
|
silk_burg_modified() being too large and cause problems on loud, tonal
|
|
signals. Thanks to Marcello Caramma for tracking down the problem.
|
|
---
|
|
silk/sum_sqr_shift.c | 1 +
|
|
1 files changed, 1 insertions(+), 0 deletions(-)
|
|
|
|
diff --git a/silk/sum_sqr_shift.c b/silk/sum_sqr_shift.c
|
|
index 12514c9..129df19 100644
|
|
--- a/silk/sum_sqr_shift.c
|
|
+++ b/silk/sum_sqr_shift.c
|
|
@@ -53,6 +53,7 @@ void silk_sum_sqr_shift(
|
|
/* Scale down */
|
|
nrg = (opus_int32)silk_RSHIFT_uint( (opus_uint32)nrg, 2 );
|
|
shft = 2;
|
|
+ i+=2;
|
|
break;
|
|
}
|
|
}
|
|
--
|
|
1.7.2.5
|
|
|