aboutsummaryrefslogtreecommitdiff
path: root/src/plugins/Ui/qsui/inlines.h
diff options
context:
space:
mode:
authortrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2015-12-26 11:05:16 +0000
committertrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2015-12-26 11:05:16 +0000
commit5dbe189907818b3c599e63caa22ed16e43e674b9 (patch)
tree2110def0cbf8b47baeb0613462b917ec2933c112 /src/plugins/Ui/qsui/inlines.h
parentc3b05ebdc87be03e1cce5ccc5aa9398db3054f53 (diff)
downloadqmmp-5dbe189907818b3c599e63caa22ed16e43e674b9.tar.gz
qmmp-5dbe189907818b3c599e63caa22ed16e43e674b9.tar.bz2
qmmp-5dbe189907818b3c599e63caa22ed16e43e674b9.zip
qsui: fixed build
git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@5886 90c681e8-e032-0410-971d-27865f9a5e38
Diffstat (limited to 'src/plugins/Ui/qsui/inlines.h')
-rw-r--r--src/plugins/Ui/qsui/inlines.h31
1 files changed, 25 insertions, 6 deletions
diff --git a/src/plugins/Ui/qsui/inlines.h b/src/plugins/Ui/qsui/inlines.h
index 39b81bd57..8203de336 100644
--- a/src/plugins/Ui/qsui/inlines.h
+++ b/src/plugins/Ui/qsui/inlines.h
@@ -4,13 +4,20 @@
// warranty, or liability of any kind.
//
+/*
+ modifications compared to original code:
+ using float format
+*/
+
#ifndef INLINES_H
#define INLINES_H
#include "fft.h"
+#include <math.h>
+#include <string.h>
// *fast* convenience functions
-static inline void calc_freq(short* dest, short *src)
+static inline void calc_freq(short* dest, float *src)
{
static fft_state *state = NULL;
float tmp_out[257];
@@ -25,11 +32,17 @@ static inline void calc_freq(short* dest, short *src)
dest[i] = ((int) sqrt(tmp_out[i + 1])) >> 8;
}
-static inline void stereo16_from_multichannel(register short *l,
- register short *r,
- register short *s,
+static inline void stereo_from_multichannel(float *l,
+ float *r,
+ float *s,
long cnt, int chan)
{
+ if(chan == 1)
+ {
+ memcpy(l, s, cnt * sizeof(float));
+ memcpy(r, s, cnt * sizeof(float));
+ return;
+ }
while (cnt > 0)
{
l[0] = s[0];
@@ -41,10 +54,16 @@ static inline void stereo16_from_multichannel(register short *l,
}
}
-static inline void mono16_from_multichannel(register short *l,
- register short *s,
+static inline void mono_from_multichannel(float *l,
+ float *s,
long cnt, int chan)
{
+ if(chan == 1)
+ {
+ memcpy(l, s, cnt * sizeof(float));
+ return;
+ }
+
while (cnt > 0)
{
l[0] = s[0];