summaryrefslogtreecommitdiff
path: root/thirdparty/opus/silk/fixed/k2a_FIX.c
diff options
context:
space:
mode:
authorunknown <sneakyfish5.sneaky@gmail.com>2019-11-02 11:59:07 -0500
committerJonathan Mannancheril <sneakyfish5.sneaky@gmail.com>2019-11-09 13:06:56 -0600
commite00426c512a7905f5f925d382c443bab7a0ca693 (patch)
tree662c34929dc2b46b8eba05cd992e57f3aa7b6943 /thirdparty/opus/silk/fixed/k2a_FIX.c
parent8570b9b0c2972b7aa191475342d0dd8030fd4188 (diff)
Update opus to 1.3.1 and opusfile to 0.11
Diffstat (limited to 'thirdparty/opus/silk/fixed/k2a_FIX.c')
-rw-r--r--thirdparty/opus/silk/fixed/k2a_FIX.c13
1 files changed, 7 insertions, 6 deletions
diff --git a/thirdparty/opus/silk/fixed/k2a_FIX.c b/thirdparty/opus/silk/fixed/k2a_FIX.c
index 5fee599bcb..549f6eadaa 100644
--- a/thirdparty/opus/silk/fixed/k2a_FIX.c
+++ b/thirdparty/opus/silk/fixed/k2a_FIX.c
@@ -39,14 +39,15 @@ void silk_k2a(
)
{
opus_int k, n;
- opus_int32 Atmp[ SILK_MAX_ORDER_LPC ];
+ opus_int32 rc, tmp1, tmp2;
for( k = 0; k < order; k++ ) {
- for( n = 0; n < k; n++ ) {
- Atmp[ n ] = A_Q24[ n ];
- }
- for( n = 0; n < k; n++ ) {
- A_Q24[ n ] = silk_SMLAWB( A_Q24[ n ], silk_LSHIFT( Atmp[ k - n - 1 ], 1 ), rc_Q15[ k ] );
+ rc = rc_Q15[ k ];
+ for( n = 0; n < (k + 1) >> 1; n++ ) {
+ tmp1 = A_Q24[ n ];
+ tmp2 = A_Q24[ k - n - 1 ];
+ A_Q24[ n ] = silk_SMLAWB( tmp1, silk_LSHIFT( tmp2, 1 ), rc );
+ A_Q24[ k - n - 1 ] = silk_SMLAWB( tmp2, silk_LSHIFT( tmp1, 1 ), rc );
}
A_Q24[ k ] = -silk_LSHIFT( (opus_int32)rc_Q15[ k ], 9 );
}