From: Peter Meerwald
Date: Thu, 28 Mar 2013 13:46:49 +0000 (+0100)
Subject: remap: fix check when to apply specialized code path
X-Git-Url: https://code.delx.au/pulseaudio/commitdiff_plain/578d2ce5c8affbd0f8268085d709081f62521706
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
---
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
#include
+#include
#include
#include
@@ -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
+#include
#include
#include
@@ -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
+#include
#include
#include
@@ -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");
}