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.
This commit is contained in:
Jean-Marc Valin 2014-06-18 17:06:32 -04:00
parent f396c08f77
commit a88d8365d4

View file

@ -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;
}
}