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>2014-06-19 01:06:32 +0400
committerJean-Marc Valin <jmvalin@jmvalin.ca>2014-06-19 01:06:32 +0400
commita88d8365d42e5369777afa496b43ea88a1aa9106 (patch)
treeb047eebee40900f7c726dc99ccdf3bbd114c819a /silk/sum_sqr_shift.c
parentf396c08f772a5ad4b364a9a2104b4af3678b7428 (diff)
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.
Diffstat (limited to 'silk/sum_sqr_shift.c')
-rw-r--r--silk/sum_sqr_shift.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/silk/sum_sqr_shift.c b/silk/sum_sqr_shift.c
index 12514c99..129df191 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;
}
}