summaryrefslogtreecommitdiff
path: root/thirdparty/opus/silk/float/k2a_FLP.c
diff options
context:
space:
mode:
Diffstat (limited to 'thirdparty/opus/silk/float/k2a_FLP.c')
-rw-r--r--thirdparty/opus/silk/float/k2a_FLP.c15
1 files changed, 7 insertions, 8 deletions
diff --git a/thirdparty/opus/silk/float/k2a_FLP.c b/thirdparty/opus/silk/float/k2a_FLP.c
index 1448008dbb..12af4e7669 100644
--- a/thirdparty/opus/silk/float/k2a_FLP.c
+++ b/thirdparty/opus/silk/float/k2a_FLP.c
@@ -39,16 +39,15 @@ void silk_k2a_FLP(
)
{
opus_int k, n;
- silk_float rck, tmp1, tmp2;
+ silk_float Atmp[ SILK_MAX_ORDER_LPC ];
for( k = 0; k < order; k++ ) {
- 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++ ) {
+ Atmp[ n ] = A[ n ];
}
- A[ k ] = -rck;
+ for( n = 0; n < k; n++ ) {
+ A[ n ] += Atmp[ k - n - 1 ] * rc[ k ];
+ }
+ A[ k ] = -rc[ k ];
}
}