]> code.delx.au - pulseaudio/commitdiff
module-equalizer-sink:
authorJason Newton <nevion@gmail.com>
Fri, 30 Oct 2009 02:10:16 +0000 (19:10 -0700)
committerJason Newton <nevion@gmail.com>
Fri, 30 Oct 2009 02:10:16 +0000 (19:10 -0700)
    add premultipliar to sse2 dsp_logic implementation

src/modules/module-equalizer-sink.c

index ec361608d0603cb468ef8886f85d18c823e532e6..7c0ccd3a42cab331b34a84b6264b7a492bdd68c2 100644 (file)
@@ -412,7 +412,8 @@ static void dsp_logic(
     fftwf_complex * restrict output_window,//The transformed window'd src
     struct userdata *u){//Collection of constants
     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);
     //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 *s = (float_vector_t*) (src + j);
 //#if __SSE2__
-        d->m = _mm_mul_ps(w->m, s->m);
-//#else
-//        d->v = w->v * s->v;
+        d->m = _mm_mul_ps(x.m, _mm_mul_ps(w->m, s->m));
+//        d->v = x->v * w->v * s->v;
 //#endif
     }
     //zero padd the the remaining fft window