Merge branch 'master' of ssh://rootserver/home/lennart/git/public/pulseaudio
[platform/upstream/pulseaudio.git] / src / pulsecore / sconv-s16le.h
1 #ifndef foosconv_s16lefoo
2 #define foosconv_s16lefoo
3
4 /***
5   This file is part of PulseAudio.
6
7   Copyright 2004-2006 Lennart Poettering
8
9   PulseAudio is free software; you can redistribute it and/or modify
10   it under the terms of the GNU Lesser General Public License as published
11   by the Free Software Foundation; either version 2.1 of the License,
12   or (at your option) any later version.
13
14   PulseAudio is distributed in the hope that it will be useful, but
15   WITHOUT ANY WARRANTY; without even the implied warranty of
16   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
17   General Public License for more details.
18
19   You should have received a copy of the GNU Lesser General Public License
20   along with PulseAudio; if not, write to the Free Software
21   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
22   USA.
23 ***/
24
25 #include <inttypes.h>
26
27 void pa_sconv_s16le_to_float32ne(unsigned n, const int16_t *a, float *b);
28 void pa_sconv_s16le_from_float32ne(unsigned n, const float *a, int16_t *b);
29 void pa_sconv_s16le_to_float32re(unsigned n, const int16_t *a, float *b);
30 void pa_sconv_s16le_from_float32re(unsigned n, const float *a, int16_t *b);
31
32 void pa_sconv_s32le_to_float32ne(unsigned n, const int32_t *a, float *b);
33 void pa_sconv_s32le_from_float32ne(unsigned n, const float *a, int32_t *b);
34 void pa_sconv_s32le_to_float32re(unsigned n, const int32_t *a, float *b);
35 void pa_sconv_s32le_from_float32re(unsigned n, const float *a, int32_t *b);
36
37 void pa_sconv_s24le_to_float32ne(unsigned n, const uint8_t *a, float *b);
38 void pa_sconv_s24le_from_float32ne(unsigned n, const float *a, uint8_t *b);
39 void pa_sconv_s24le_to_float32re(unsigned n, const uint8_t *a, float *b);
40 void pa_sconv_s24le_from_float32re(unsigned n, const float *a, uint8_t *b);
41
42 void pa_sconv_s24_32le_to_float32ne(unsigned n, const uint32_t *a, float *b);
43 void pa_sconv_s24_32le_from_float32ne(unsigned n, const float *a, uint32_t *b);
44 void pa_sconv_s24_32le_to_float32re(unsigned n, const uint32_t *a, float *b);
45 void pa_sconv_s24_32le_from_float32re(unsigned n, const float *a, uint32_t *b);
46
47 void pa_sconv_s32le_to_s16ne(unsigned n, const int32_t *a, int16_t *b);
48 void pa_sconv_s32le_from_s16ne(unsigned n, const int16_t *a, int32_t *b);
49 void pa_sconv_s32le_to_s16re(unsigned n, const int32_t *a, int16_t *b);
50 void pa_sconv_s32le_from_s16re(unsigned n, const int16_t *a, int32_t *b);
51
52 void pa_sconv_s24le_to_s16ne(unsigned n, const uint8_t *a, int16_t *b);
53 void pa_sconv_s24le_from_s16ne(unsigned n, const int16_t *a, uint8_t *b);
54 void pa_sconv_s24le_to_s16re(unsigned n, const uint8_t *a, int16_t *b);
55 void pa_sconv_s24le_from_s16re(unsigned n, const int16_t *a, uint8_t *b);
56
57 void pa_sconv_s24_32le_to_s16ne(unsigned n, const uint32_t *a, int16_t *b);
58 void pa_sconv_s24_32le_from_s16ne(unsigned n, const int16_t *a, uint32_t *b);
59 void pa_sconv_s24_32le_to_s16re(unsigned n, const uint32_t *a, int16_t *b);
60 void pa_sconv_s24_32le_from_s16re(unsigned n, const int16_t *a, uint32_t *b);
61
62 #ifndef WORDS_BIGENDIAN
63 #define pa_sconv_float32be_to_s16ne pa_sconv_s16le_from_float32re
64 #define pa_sconv_float32be_from_s16ne pa_sconv_s16le_to_float32re
65 #define pa_sconv_float32le_to_s16ne pa_sconv_s16le_from_float32ne
66 #define pa_sconv_float32le_from_s16ne pa_sconv_s16le_to_float32ne
67 #endif
68
69 #endif