From 75a22eedb01830681f6b5ff58af00ffea3c9c1e6 Mon Sep 17 00:00:00 2001 From: Wim Taymans Date: Mon, 17 Sep 2018 17:15:47 +0200 Subject: [PATCH] fmt: fix conversion > 4 channels --- spa/plugins/audioconvert/fmt-ops-sse.c | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/spa/plugins/audioconvert/fmt-ops-sse.c b/spa/plugins/audioconvert/fmt-ops-sse.c index e0311c4dc..a51c8b914 100644 --- a/spa/plugins/audioconvert/fmt-ops-sse.c +++ b/spa/plugins/audioconvert/fmt-ops-sse.c @@ -236,11 +236,10 @@ conv_f32d_to_s32_4_sse(void *data, void *dst, int n_src, const void *src[n_src], out[2] = _mm_unpacklo_epi64(t[2], t[3]); out[3] = _mm_unpackhi_epi64(t[2], t[3]); - _mm_storeu_si128((__m128i*)(d + 0), out[0]); - _mm_storeu_si128((__m128i*)(d + 4), out[1]); - _mm_storeu_si128((__m128i*)(d + 8), out[2]); - _mm_storeu_si128((__m128i*)(d + 12), out[3]); - + _mm_storeu_si128((__m128i*)(d + 0*n_src), out[0]); + _mm_storeu_si128((__m128i*)(d + 1*n_src), out[1]); + _mm_storeu_si128((__m128i*)(d + 2*n_src), out[2]); + _mm_storeu_si128((__m128i*)(d + 3*n_src), out[3]); d += 4*n_src; } for(; n_samples--; n++) {