diff options
author | Peter Meerwald <p.meerwald@bct-electronic.com> | 2013-03-28 14:46:49 +0100 |
---|---|---|
committer | Tanu Kaskinen <tanuk@iki.fi> | 2013-04-02 14:06:30 +0300 |
commit | 29bd97601b0badcbb6fedf5e4a28e70ddb89d394 (patch) | |
tree | 4be0147ade475e4c22a638bd28c0d09ca04bb311 | |
parent | 0e70030e35adf564b258c5bf0cea80e5171386e1 (diff) |
remap: fix check when to apply specialized code path
the specialized code path just duplicate samples, so are only
applicable if the volume in map_table is == 1.0 (or == 0x10000);
don't use them for volumes >= 1.0
compare the integer version of the volume stored in map_table;
comparing floats is ugly (als leads to compiler warnings)
Signed-off-by: Peter Meerwald <p.meerwald@bct-electronic.com>
-rw-r--r-- | src/pulsecore/remap.c | 3 | ||||
-rw-r--r-- | src/pulsecore/remap_mmx.c | 3 | ||||
-rw-r--r-- | src/pulsecore/remap_sse.c | 3 |
3 files changed, 6 insertions, 3 deletions
diff --git a/src/pulsecore/remap.c b/src/pulsecore/remap.c index b831f78c..5d0cd62c 100644 --- a/src/pulsecore/remap.c +++ b/src/pulsecore/remap.c @@ -27,6 +27,7 @@ #include <string.h> #include <pulse/sample.h> +#include <pulse/volume.h> #include <pulsecore/log.h> #include <pulsecore/macro.h> @@ -168,7 +169,7 @@ static void init_remap_c(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->map_table_i[0][0] == PA_VOLUME_NORM && m->map_table_i[1][0] == PA_VOLUME_NORM) { m->do_remap = (pa_do_remap_func_t) remap_mono_to_stereo_c; pa_log_info("Using mono to stereo remapping"); } else { diff --git a/src/pulsecore/remap_mmx.c b/src/pulsecore/remap_mmx.c index 9a69ada4..5b3f0f9c 100644 --- a/src/pulsecore/remap_mmx.c +++ b/src/pulsecore/remap_mmx.c @@ -25,6 +25,7 @@ #endif #include <pulse/sample.h> +#include <pulse/volume.h> #include <pulsecore/log.h> #include <pulsecore/macro.h> @@ -139,7 +140,7 @@ static void init_remap_mmx(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->map_table_i[0][0] == PA_VOLUME_NORM && m->map_table_i[1][0] == PA_VOLUME_NORM) { m->do_remap = (pa_do_remap_func_t) remap_mono_to_stereo_mmx; pa_log_info("Using MMX mono to stereo remapping"); } diff --git a/src/pulsecore/remap_sse.c b/src/pulsecore/remap_sse.c index dd49eb67..88317235 100644 --- a/src/pulsecore/remap_sse.c +++ b/src/pulsecore/remap_sse.c @@ -25,6 +25,7 @@ #endif #include <pulse/sample.h> +#include <pulse/volume.h> #include <pulsecore/log.h> #include <pulsecore/macro.h> @@ -138,7 +139,7 @@ static void init_remap_sse2(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->map_table_i[0][0] == PA_VOLUME_NORM && m->map_table_i[1][0] == PA_VOLUME_NORM) { m->do_remap = (pa_do_remap_func_t) remap_mono_to_stereo_sse2; pa_log_info("Using SSE2 mono to stereo remapping"); } |