mirror of
https://gitlab.freedesktop.org/pulseaudio/pulseaudio.git
synced 2025-11-03 09:01:50 -05:00
module-equalizer-sink:
add premultipliar to sse2 dsp_logic implementation
This commit is contained in:
parent
ebaca56a75
commit
d83dd5ba13
1 changed files with 4 additions and 4 deletions
|
|
@ -412,7 +412,8 @@ static void dsp_logic(
|
||||||
fftwf_complex * restrict output_window,//The transformed window'd src
|
fftwf_complex * restrict output_window,//The transformed window'd src
|
||||||
struct userdata *u){//Collection of constants
|
struct userdata *u){//Collection of constants
|
||||||
const size_t overlap_size = PA_ROUND_UP(u->overlap_size, v_size);
|
const size_t overlap_size = PA_ROUND_UP(u->overlap_size, v_size);
|
||||||
|
float_vector_t x;
|
||||||
|
x.f[0] = x.f[1] = x.f[2] = x.f[3] = X;
|
||||||
|
|
||||||
//assert(u->samples_gathered >= u->R);
|
//assert(u->samples_gathered >= u->R);
|
||||||
//use a linear-phase sliding STFT and overlap-add method
|
//use a linear-phase sliding STFT and overlap-add method
|
||||||
|
|
@ -422,9 +423,8 @@ static void dsp_logic(
|
||||||
float_vector_t *w = (float_vector_t*) (W + j);
|
float_vector_t *w = (float_vector_t*) (W + j);
|
||||||
float_vector_t *s = (float_vector_t*) (src + j);
|
float_vector_t *s = (float_vector_t*) (src + j);
|
||||||
//#if __SSE2__
|
//#if __SSE2__
|
||||||
d->m = _mm_mul_ps(w->m, s->m);
|
d->m = _mm_mul_ps(x.m, _mm_mul_ps(w->m, s->m));
|
||||||
//#else
|
// d->v = x->v * w->v * s->v;
|
||||||
// d->v = w->v * s->v;
|
|
||||||
//#endif
|
//#endif
|
||||||
}
|
}
|
||||||
//zero padd the the remaining fft window
|
//zero padd the the remaining fft window
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue