From 58fd202b7d5cb0e734713be153cca63330ba87e0 Mon Sep 17 00:00:00 2001 From: Vincent Penquerc'h Date: Thu, 11 Aug 2011 19:23:42 +0100 Subject: [PATCH] audioresample: fix SSE2 building with double precision The full double implementation was missing. https://bugzilla.gnome.org/show_bug.cgi?id=636562 --- gst/audioresample/resample_sse.h | 48 ++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) diff --git a/gst/audioresample/resample_sse.h b/gst/audioresample/resample_sse.h index 64be8a1616..c418ca1d5c 100644 --- a/gst/audioresample/resample_sse.h +++ b/gst/audioresample/resample_sse.h @@ -75,6 +75,22 @@ static inline float interpolate_product_single(const float *a, const float *b, u #include #define OVERRIDE_INNER_PRODUCT_DOUBLE +#ifdef DOUBLE_PRECISION +static inline double inner_product_double(const double *a, const double *b, unsigned int len) +{ + int i; + double ret; + __m128d sum = _mm_setzero_pd(); + for (i=0;i