mirror of
https://gitlab.freedesktop.org/pipewire/pipewire.git
synced 2025-10-31 22:25:38 -04:00
fmt-ops: small optimization
This commit is contained in:
parent
238be61364
commit
2a252abf50
1 changed files with 6 additions and 5 deletions
|
|
@ -27,7 +27,7 @@
|
|||
|
||||
#include <spa/utils/defs.h>
|
||||
|
||||
#include <xmmintrin.h>
|
||||
#include <emmintrin.h>
|
||||
|
||||
static void
|
||||
conv_s16_to_f32d_1_sse2(void *data, int n_dst, void *dst[n_dst], const void *src, int n_samples)
|
||||
|
|
@ -43,10 +43,11 @@ conv_s16_to_f32d_1_sse2(void *data, int n_dst, void *dst[n_dst], const void *src
|
|||
n_samples = n_samples & 3;
|
||||
|
||||
for(; unrolled--; n += 4) {
|
||||
in = _mm_setr_epi32(s[0*n_dst],
|
||||
s[1*n_dst],
|
||||
s[2*n_dst],
|
||||
s[3*n_dst]);
|
||||
in = _mm_insert_epi16(in, s[0*n_dst], 1);
|
||||
in = _mm_insert_epi16(in, s[1*n_dst], 3);
|
||||
in = _mm_insert_epi16(in, s[2*n_dst], 5);
|
||||
in = _mm_insert_epi16(in, s[3*n_dst], 7);
|
||||
in = _mm_srai_epi32(in, 16);
|
||||
out = _mm_cvtepi32_ps(in);
|
||||
out = _mm_mul_ps(out, factor);
|
||||
_mm_storeu_ps(&d0[n], out);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue