summaryrefslogtreecommitdiffstats
path: root/src/pulsecore/remap_sse.c
diff options
context:
space:
mode:
authorWim Taymans <wim.taymans@collabora.co.uk>2009-09-07 17:21:21 +0200
committerWim Taymans <wim.taymans@collabora.co.uk>2009-09-07 17:21:21 +0200
commitb5ac3839e18524524fa3e0da7ec68dbce16e8203 (patch)
tree9ae7178a8d22d5a3386be8798952a91d7bbd275d /src/pulsecore/remap_sse.c
parent812be327836c93492ad389333bcc037566141eb8 (diff)
x86: only install some functions when SSE2
Remap and volume functions use SSE2 instructions so only install them when SSE2 is present.
Diffstat (limited to 'src/pulsecore/remap_sse.c')
-rw-r--r--src/pulsecore/remap_sse.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/src/pulsecore/remap_sse.c b/src/pulsecore/remap_sse.c
index bf22df7c..dac072ec 100644
--- a/src/pulsecore/remap_sse.c
+++ b/src/pulsecore/remap_sse.c
@@ -102,7 +102,7 @@
"4: \n\t"
#if defined (__i386__) || defined (__amd64__)
-static void remap_mono_to_stereo_sse (pa_remap_t *m, void *dst, const void *src, unsigned n) {
+static void remap_mono_to_stereo_sse2 (pa_remap_t *m, void *dst, const void *src, unsigned n) {
pa_reg_x86 temp, temp2;
switch (*m->format) {
@@ -132,7 +132,7 @@ static void remap_mono_to_stereo_sse (pa_remap_t *m, void *dst, const void *src,
}
/* set the function that will execute the remapping based on the matrices */
-static void init_remap_sse (pa_remap_t *m) {
+static void init_remap_sse2 (pa_remap_t *m) {
unsigned n_oc, n_ic;
n_oc = m->o_ss->channels;
@@ -141,7 +141,7 @@ static void init_remap_sse (pa_remap_t *m) {
/* find some common channel remappings, fall back to full matrix operation. */
if (n_ic == 1 && n_oc == 2 &&
m->map_table_f[0][0] >= 1.0 && m->map_table_f[1][0] >= 1.0) {
- m->do_remap = (pa_do_remap_func_t) remap_mono_to_stereo_sse;
+ m->do_remap = (pa_do_remap_func_t) remap_mono_to_stereo_sse2;
pa_log_info("Using SSE mono to stereo remapping");
}
}
@@ -151,6 +151,7 @@ void pa_remap_func_init_sse (pa_cpu_x86_flag_t flags) {
#if defined (__i386__) || defined (__amd64__)
pa_log_info("Initialising SSE optimized remappers.");
- pa_set_init_remap_func ((pa_init_remap_func_t) init_remap_sse);
+ if (flags & PA_CPU_X86_SSE2)
+ pa_set_init_remap_func ((pa_init_remap_func_t) init_remap_sse2);
#endif /* defined (__i386__) || defined (__amd64__) */
}