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, see <http://www.gnu.org/licenses/>.
21***/
22
23#include <inttypes.h>
24
25void pa_sconv_s16le_to_float32ne(unsigned n, const int16_t *a, float *b);
26void pa_sconv_s16le_from_float32ne(unsigned n, const float *a, int16_t *b);
27void pa_sconv_s16le_to_float32re(unsigned n, const int16_t *a, float *b);
28void pa_sconv_s16le_from_float32re(unsigned n, const float *a, int16_t *b);
29
30void pa_sconv_s32le_to_float32ne(unsigned n, const int32_t *a, float *b);
31void pa_sconv_s32le_from_float32ne(unsigned n, const float *a, int32_t *b);
32void pa_sconv_s32le_to_float32re(unsigned n, const int32_t *a, float *b);
33void pa_sconv_s32le_from_float32re(unsigned n, const float *a, int32_t *b);
34
35void pa_sconv_s24le_to_float32ne(unsigned n, const uint8_t *a, float *b);
36void pa_sconv_s24le_from_float32ne(unsigned n, const float *a, uint8_t *b);
37void pa_sconv_s24le_to_float32re(unsigned n, const uint8_t *a, float *b);
38void pa_sconv_s24le_from_float32re(unsigned n, const float *a, uint8_t *b);
39
40void pa_sconv_s24_32le_to_float32ne(unsigned n, const uint32_t *a, float *b);
41void pa_sconv_s24_32le_from_float32ne(unsigned n, const float *a, uint32_t *b);
42void pa_sconv_s24_32le_to_float32re(unsigned n, const uint32_t *a, float *b);
43void pa_sconv_s24_32le_from_float32re(unsigned n, const float *a, uint32_t *b);
44
45void pa_sconv_s32le_to_s16ne(unsigned n, const int32_t *a, int16_t *b);
46void pa_sconv_s32le_from_s16ne(unsigned n, const int16_t *a, int32_t *b);
47void pa_sconv_s32le_to_s16re(unsigned n, const int32_t *a, int16_t *b);
48void pa_sconv_s32le_from_s16re(unsigned n, const int16_t *a, int32_t *b);
49
50void pa_sconv_s24le_to_s16ne(unsigned n, const uint8_t *a, int16_t *b);
51void pa_sconv_s24le_from_s16ne(unsigned n, const int16_t *a, uint8_t *b);
52void pa_sconv_s24le_to_s16re(unsigned n, const uint8_t *a, int16_t *b);
53void pa_sconv_s24le_from_s16re(unsigned n, const int16_t *a, uint8_t *b);
54
55void pa_sconv_s24_32le_to_s16ne(unsigned n, const uint32_t *a, int16_t *b);
56void pa_sconv_s24_32le_from_s16ne(unsigned n, const int16_t *a, uint32_t *b);
57void pa_sconv_s24_32le_to_s16re(unsigned n, const uint32_t *a, int16_t *b);
58void pa_sconv_s24_32le_from_s16re(unsigned n, const int16_t *a, uint32_t *b);
59
60#ifndef WORDS_BIGENDIAN
61#define pa_sconv_float32be_to_s16ne pa_sconv_s16le_from_float32re
62#define pa_sconv_float32be_from_s16ne pa_sconv_s16le_to_float32re
63#define pa_sconv_float32le_to_s16ne pa_sconv_s16le_from_float32ne
64#define pa_sconv_float32le_from_s16ne pa_sconv_s16le_to_float32ne
65#endif
66
67#endif
68