| Index: third_party/opus/src/silk/float/k2a_FLP.c
|
| diff --git a/third_party/opus/src/silk/float/k2a_FLP.c b/third_party/opus/src/silk/float/k2a_FLP.c
|
| index 12af4e76697a869831b73de533e316a8859b8163..1448008dbbed139791089132b0e391b2e7e07f6b 100644
|
| --- a/third_party/opus/src/silk/float/k2a_FLP.c
|
| +++ b/third_party/opus/src/silk/float/k2a_FLP.c
|
| @@ -39,15 +39,16 @@ void silk_k2a_FLP(
|
| )
|
| {
|
| opus_int k, n;
|
| - silk_float Atmp[ SILK_MAX_ORDER_LPC ];
|
| + silk_float rck, tmp1, tmp2;
|
|
|
| for( k = 0; k < order; k++ ) {
|
| - for( n = 0; n < k; n++ ) {
|
| - Atmp[ n ] = A[ n ];
|
| + rck = rc[ k ];
|
| + for( n = 0; n < (k + 1) >> 1; n++ ) {
|
| + tmp1 = A[ n ];
|
| + tmp2 = A[ k - n - 1 ];
|
| + A[ n ] = tmp1 + tmp2 * rck;
|
| + A[ k - n - 1 ] = tmp2 + tmp1 * rck;
|
| }
|
| - for( n = 0; n < k; n++ ) {
|
| - A[ n ] += Atmp[ k - n - 1 ] * rc[ k ];
|
| - }
|
| - A[ k ] = -rc[ k ];
|
| + A[ k ] = -rck;
|
| }
|
| }
|
|
|