Merge commit 'origin/master-tx'
[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 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