summaryrefslogtreecommitdiff
path: root/libswresample/resample_template.c
diff options
context:
space:
mode:
authorJames Almer <jamrial@gmail.com>2014-03-20 01:40:56 -0300
committerMichael Niedermayer <michaelni@gmx.at>2014-03-20 06:01:06 +0100
commit32291ba6eaacc9d4230322361b7bfee052e72040 (patch)
tree273ea82c722ee553a30d1bd4d030c0a94d0105cc /libswresample/resample_template.c
parente555e1bc39ea71d46a07d0bb847fb426c2dd4d80 (diff)
swresample: add swri_resample_float_sse
At least two times faster than the C version. Signed-off-by: James Almer <jamrial@gmail.com> Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libswresample/resample_template.c')
-rw-r--r--libswresample/resample_template.c12
1 files changed, 10 insertions, 2 deletions
diff --git a/libswresample/resample_template.c b/libswresample/resample_template.c
index f11053d023..8d5ff4d50e 100644
--- a/libswresample/resample_template.c
+++ b/libswresample/resample_template.c
@@ -34,8 +34,9 @@
# define FELEML double
# define OUT(d, v) d = v
-#elif defined(TEMPLATE_RESAMPLE_FLT)
-# define RENAME(N) N ## _float
+#elif defined(TEMPLATE_RESAMPLE_FLT) \
+ || defined(TEMPLATE_RESAMPLE_FLT_SSE)
+
# define FILTER_SHIFT 0
# define DELEM float
# define FELEM float
@@ -43,6 +44,13 @@
# define FELEML float
# define OUT(d, v) d = v
+# if defined(TEMPLATE_RESAMPLE_FLT)
+# define RENAME(N) N ## _float
+# elif defined(TEMPLATE_RESAMPLE_FLT_SSE)
+# define COMMON_CORE COMMON_CORE_FLT_SSE
+# define RENAME(N) N ## _float_sse
+# endif
+
#elif defined(TEMPLATE_RESAMPLE_S32)
# define RENAME(N) N ## _int32
# define FILTER_SHIFT 30