diff options
author | Jean-Marc Valin <jmvalin@amazon.com> | 2023-11-18 10:09:03 +0300 |
---|---|---|
committer | Jean-Marc Valin <jmvalin@amazon.com> | 2023-11-18 10:09:03 +0300 |
commit | 4918d0277b31010ffcaf4895c68eac57448d9d68 (patch) | |
tree | efaa1a1555d927a3015e4f3f6d9897a02d66a6a0 | |
parent | 7b6775751d36df2e3ea2f71cec29b64f6245af50 (diff) |
Backporting previous fixes to the SSE4.1 version
-rw-r--r-- | silk/x86/NSQ_del_dec_avx2.c | 10 | ||||
-rw-r--r-- | silk/x86/main_sse.h | 2 |
2 files changed, 6 insertions, 6 deletions
diff --git a/silk/x86/NSQ_del_dec_avx2.c b/silk/x86/NSQ_del_dec_avx2.c index 282462b0..f69075bd 100644 --- a/silk/x86/NSQ_del_dec_avx2.c +++ b/silk/x86/NSQ_del_dec_avx2.c @@ -369,7 +369,7 @@ void silk_NSQ_del_dec_avx2( SideInfoIndices *psIndices, /* I/O Quantization Indices */ const opus_int16 x16[], /* I Input */ opus_int8 pulses[], /* O Quantized pulse signal */ - const opus_int16 PredCoef_Q12[2 * MAX_LPC_ORDER], /* I Short term prediction coefs */ + const opus_int16 *PredCoef_Q12, /* I Short term prediction coefs */ const opus_int16 LTPCoef_Q14[LTP_ORDER * MAX_NB_SUBFR], /* I Long term prediction coefs */ const opus_int16 AR_Q13[MAX_NB_SUBFR * MAX_SHAPE_LPC_ORDER], /* I Noise shaping coefs */ const opus_int HarmShapeGain_Q14[MAX_NB_SUBFR], /* I Long term shaping coefs */ @@ -1040,13 +1040,13 @@ static OPUS_INLINE void silk_LPC_analysis_filter_avx2( /* Allowing wrap around so that two wraps can cancel each other. The rare cases where the result wraps around can only be triggered by invalid streams*/ - __m256i in_v = _mm256_cvtepi16_epi32(_mm_loadu_si128((__m128i_u*)&in_ptr[-8])); - __m256i B_v = _mm256_cvtepi16_epi32(_mm_loadu_si128((__m128i_u*)& B[0])); + __m256i in_v = _mm256_cvtepi16_epi32(_mm_loadu_si128((__m128i_u*)(void*)&in_ptr[-8])); + __m256i B_v = _mm256_cvtepi16_epi32(_mm_loadu_si128((__m128i_u*)(void*)& B[0])); __m256i sum = _mm256_mullo_epi32(in_v, silk_mm256_reverse_epi32(B_v)); if (order > 10) { - in_v = _mm256_cvtepi16_epi32(_mm_loadu_si128((__m128i_u*)&in_ptr[-16])); - B_v = _mm256_cvtepi16_epi32(_mm_loadu_si128((__m128i_u*)&B [8])); + in_v = _mm256_cvtepi16_epi32(_mm_loadu_si128((__m128i_u*)(void*)&in_ptr[-16])); + B_v = _mm256_cvtepi16_epi32(_mm_loadu_si128((__m128i_u*)(void*)&B [8])); B_v = silk_mm256_reverse_epi32(B_v); } else diff --git a/silk/x86/main_sse.h b/silk/x86/main_sse.h index 7a8add27..b6b328e5 100644 --- a/silk/x86/main_sse.h +++ b/silk/x86/main_sse.h @@ -160,7 +160,7 @@ void silk_NSQ_del_dec_avx2( SideInfoIndices *psIndices, /* I/O Quantization Indices */ const opus_int16 x16[], /* I Input */ opus_int8 pulses[], /* O Quantized pulse signal */ - const opus_int16 PredCoef_Q12[2 * MAX_LPC_ORDER], /* I Short term prediction coefs */ + const opus_int16 *PredCoef_Q12, /* I Short term prediction coefs */ const opus_int16 LTPCoef_Q14[LTP_ORDER * MAX_NB_SUBFR], /* I Long term prediction coefs */ const opus_int16 AR_Q13[MAX_NB_SUBFR * MAX_SHAPE_LPC_ORDER], /* I Noise shaping coefs */ const opus_int HarmShapeGain_Q14[MAX_NB_SUBFR], /* I Long term shaping coefs */ |