aboutsummaryrefslogtreecommitdiff
path: root/src/inlines.h
diff options
context:
space:
mode:
authorvovanec <vovanec@90c681e8-e032-0410-971d-27865f9a5e38>2008-02-07 13:36:34 +0000
committervovanec <vovanec@90c681e8-e032-0410-971d-27865f9a5e38>2008-02-07 13:36:34 +0000
commit06d1877811fa6aa97dddc0e03bcde4e766928c87 (patch)
treec25462d0e58c3d58c728664440412bf4f16a49ec /src/inlines.h
parent3f6b60f23c44a8ba8dd97ca6f41a16e2af7ef2f7 (diff)
downloadqmmp-06d1877811fa6aa97dddc0e03bcde4e766928c87.tar.gz
qmmp-06d1877811fa6aa97dddc0e03bcde4e766928c87.tar.bz2
qmmp-06d1877811fa6aa97dddc0e03bcde4e766928c87.zip
new directory structure
git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@232 90c681e8-e032-0410-971d-27865f9a5e38
Diffstat (limited to 'src/inlines.h')
-rw-r--r--src/inlines.h505
1 files changed, 0 insertions, 505 deletions
diff --git a/src/inlines.h b/src/inlines.h
deleted file mode 100644
index 3efccf0de..000000000
--- a/src/inlines.h
+++ /dev/null
@@ -1,505 +0,0 @@
-// Copyright (c) 2000-2001 Brad Hughes <bhughes@trolltech.com>
-//
-// Use, modification and distribution is allowed without limitation,
-// warranty, or liability of any kind.
-//
-
-#ifndef INLINES_H
-#define INLINES_H
-
-#include "fft.h"
-
-// *fast* convenience functions
-static inline void
-calc_freq(short* dest, short *src)
-{
- static fft_state *state = NULL;
- float tmp_out[257];
- int i;
-
- if (!state)
- state = fft_init();
-
- fft_perform(src, tmp_out, state);
-
- for (i = 0; i < 256; i++)
- dest[i] = ((int) sqrt(tmp_out[i + 1])) >> 8;
-}
-
-static inline void
-calc_mono_freq(short dest[2][256], short src[2][512], int nch)
-{
- int i;
- short *d, *sl, *sr, tmp[512];
-
- if (nch == 1)
- calc_freq(dest[0], src[0]);
- else
- {
- d = tmp;
- sl = src[0];
- sr = src[1];
- for (i = 0; i < 512; i++)
- {
- *(d++) = (*(sl++) + *(sr++)) >> 1;
- }
- calc_freq(dest[0], tmp);
- }
-}
-
-static inline void stereo16_from_stereopcm8(register short *l,
- register short *r,
- register uchar *c,
- long cnt)
-{
- while (cnt >= 4l)
- {
- l[0] = c[0];
- r[0] = c[1];
- l[1] = c[2];
- r[1] = c[3];
- l[2] = c[4];
- r[2] = c[5];
- l[3] = c[6];
- r[3] = c[7];
- l += 4;
- r += 4;
- c += 8;
- cnt -= 4l;
- }
-
- if (cnt > 0l)
- {
- l[0] = c[0];
- r[0] = c[1];
- if (cnt > 1l)
- {
- l[1] = c[2];
- r[1] = c[3];
- if (cnt > 2l)
- {
- l[2] = c[4];
- r[2] = c[5];
- }
- }
- }
-}
-
-
-static inline void stereo16_from_stereopcm16(register short *l,
- register short *r,
- register short *s,
- long cnt)
-{
- while (cnt >= 4l)
- {
- l[0] = s[0];
- r[0] = s[1];
- l[1] = s[2];
- r[1] = s[3];
- l[2] = s[4];
- r[2] = s[5];
- l[3] = s[6];
- r[3] = s[7];
- l += 4;
- r += 4;
- s += 8;
- cnt -= 4l;
- }
-
- if (cnt > 0l)
- {
- l[0] = s[0];
- r[0] = s[1];
- if (cnt > 1l)
- {
- l[1] = s[2];
- r[1] = s[3];
- if (cnt > 2l)
- {
- l[2] = s[4];
- r[2] = s[5];
- }
- }
- }
-}
-
-
-static inline void mono16_from_monopcm8(register short *l,
- register uchar *c,
- long cnt)
-{
- while (cnt >= 4l)
- {
- l[0] = c[0];
- l[1] = c[1];
- l[2] = c[2];
- l[3] = c[3];
- l += 4;
- c += 4;
- cnt -= 4l;
- }
-
- if (cnt > 0l)
- {
- l[0] = c[0];
- if (cnt > 1l)
- {
- l[1] = c[1];
- if (cnt > 2l)
- {
- l[2] = c[2];
- }
- }
- }
-}
-
-
-static inline void mono16_from_monopcm16(register short *l,
- register short *s,
- long cnt)
-{
- while (cnt >= 4l)
- {
- l[0] = s[0];
- l[1] = s[1];
- l[2] = s[2];
- l[3] = s[3];
- l += 4;
- s += 4;
- cnt -= 4l;
- }
-
- if (cnt > 0l)
- {
- l[0] = s[0];
- if (cnt > 1l)
- {
- l[1] = s[1];
- if (cnt > 2l)
- {
- l[2] = s[2];
- }
- }
- }
-}
-
-
-static inline void fast_short_set(register short *p,
- short v,
- long c)
-{
- while (c >= 4l)
- {
- p[0] = v;
- p[1] = v;
- p[2] = v;
- p[3] = v;
- p += 4;
- c -= 4l;
- }
-
- if (c > 0l)
- {
- p[0] = v;
- if (c > 1l)
- {
- p[1] = v;
- if (c > 2l)
- {
- p[2] = v;
- }
- }
- }
-}
-
-#ifdef FFTW
-static inline void fast_real_set(register fftw_real *p,
- fftw_real v,
- long c)
-{
- while (c >= 4l)
- {
- p[0] = v;
- p[1] = v;
- p[2] = v;
- p[3] = v;
- p += 4;
- c -= 4l;
- }
-
- if (c > 0l)
- {
- p[0] = v;
- if (c > 1l)
- {
- p[1] = v;
- if (c > 2l)
- {
- p[2] = v;
- }
- }
- }
-}
-
-static inline void fast_complex_set(register fftw_complex *p,
- fftw_complex v,
- long c)
-{
- while (c >= 4l)
- {
- p[0] = v;
- p[1] = v;
- p[2] = v;
- p[3] = v;
- p += 4;
- c -= 4l;
- }
-
- if (c > 0l)
- {
- p[0] = v;
- if (c > 1l)
- {
- p[1] = v;
- if (c > 2l)
- {
- p[2] = v;
- }
- }
- }
-}
-
-
-static inline void fast_real_set_from_short(register fftw_real *d,
- register short *s,
- long c)
-{
- while (c >= 4l)
- {
- d[0] = fftw_real(s[0]);
- d[1] = fftw_real(s[1]);
- d[2] = fftw_real(s[2]);
- d[3] = fftw_real(s[3]);
- d += 4;
- s += 4;
- c -= 4l;
- }
-
- if (c > 0l)
- {
- d[0] = fftw_real(s[0]);
- if (c > 1l)
- {
- d[1] = fftw_real(s[1]);
- if (c > 2l)
- {
- d[2] = fftw_real(s[2]);
- }
- }
- }
-}
-
-static inline void fast_complex_set_from_short(register fftw_complex *d,
- register short *s,
- long c)
-{
- while (c >= 4l)
- {
- d[0].re = fftw_real(s[0]);
- d[0].im = 0;
- d[1].re = fftw_real(s[1]);
- d[1].im = 0;
- d[2].re = fftw_real(s[2]);
- d[2].im = 0;
- d[3].re = fftw_real(s[3]);
- d[3].im = 0;
- d += 4;
- s += 4;
- c -= 4l;
- }
-
- if (c > 0l)
- {
- d[0].re = fftw_real(s[0]);
- d[0].im = 0;
- if (c > 1l)
- {
- d[1].re = fftw_real(s[1]);
- d[1].im = 0;
- if (c > 2l)
- {
- d[2].re = fftw_real(s[2]);
- d[2].im = 0;
- }
- }
- }
-}
-
-
-static inline void fast_real_avg_from_shorts(register fftw_real *d,
- register short *s1,
- register short *s2,
- long c)
-{
- fftw_real t0, t1, t2, t3;
- while (c >= 4l)
- {
- t0 = (s1[0] + s2[0]) / 2;
- t1 = (s1[1] + s2[1]) / 2;
- t2 = (s1[2] + s2[2]) / 2;
- t3 = (s1[3] + s2[3]) / 2;
- d[0] = t0;
- d[1] = t1;
- d[2] = t2;
- d[3] = t3;
- d += 4;
- s1 += 4;
- s2 += 4;
- c -= 4l;
- }
-
- if (c > 0l)
- {
- d[0] = fftw_real((s1[0] + s2[0]) / 2);
- if (c > 1l)
- {
- d[1] = fftw_real((s1[1] + s2[1]) / 2);
- if (c > 2l)
- {
- d[2] = fftw_real((s1[2] + s2[2]) / 2);
- }
- }
- }
-}
-
-static inline void fast_complex_avg_from_shorts(register fftw_complex *d,
- register short *s1,
- register short *s2,
- long c)
-{
- fftw_real t0, t1, t2, t3;
- while (c >= 4l)
- {
- t0 = (s1[0] + s2[0]) / 2;
- t1 = (s1[1] + s2[1]) / 2;
- t2 = (s1[2] + s2[2]) / 2;
- t3 = (s1[3] + s2[3]) / 2;
- d[0].re = t0;
- d[0].im = 0;
- d[1].re = t1;
- d[1].im = 0;
- d[2].re = t2;
- d[2].im = 0;
- d[3].re = t3;
- d[3].im = 0;
- d += 4;
- s1 += 4;
- s2 += 4;
- c -= 4l;
- }
-
- if (c > 0l)
- {
- d[0].re = fftw_real((s1[0] + s2[0]) / 2);
- d[0].im = 0;
- if (c > 1l)
- {
- d[1].re = fftw_real((s1[1] + s2[1]) / 2);
- d[1].im = 0;
- if (c > 2l)
- {
- d[2].re = fftw_real((s1[2] + s2[2]) / 2);
- d[2].im = 0;
- }
- }
- }
-}
-
-
-static inline fftw_complex fftw_complex_from_real( fftw_real re )
-{
- fftw_complex c;
-
- c.re = re;
- c.im = 0;
-
- return c;
-}
-
-static inline void fast_reals_set(register fftw_real *p1,
- register fftw_real *p2,
- fftw_real v,
- long c)
-{
- while (c >= 4l)
- {
- p1[0] = v;
- p1[1] = v;
- p1[2] = v;
- p1[3] = v;
- p2[0] = v;
- p2[1] = v;
- p2[2] = v;
- p2[3] = v;
- p1 += 4;
- p2 += 4;
- c -= 4l;
- }
-
- if (c > 0l)
- {
- p1[0] = v;
- p2[0] = v;
- if (c > 1l)
- {
- p1[1] = v;
- p2[1] = v;
- if (c > 2l)
- {
- p1[2] = v;
- p2[2] = v;
- }
- }
- }
-}
-
-static inline void fast_complex_set(register fftw_complex *p1,
- register fftw_complex *p2,
- fftw_complex v,
- long c)
-{
- while (c >= 4l)
- {
- p1[0] = v;
- p1[1] = v;
- p1[2] = v;
- p1[3] = v;
- p2[0] = v;
- p2[1] = v;
- p2[2] = v;
- p2[3] = v;
- p1 += 4;
- p2 += 4;
- c -= 4l;
- }
-
- if (c > 0l)
- {
- p1[0] = v;
- p2[0] = v;
- if (c > 1l)
- {
- p1[1] = v;
- p2[1] = v;
- if (c > 2l)
- {
- p1[2] = v;
- p2[2] = v;
- }
- }
- }
-}
-#endif // FFTW
-
-#endif // INLINES_H