libcfe  0.12.1
some useful C-functions
transform_pcm.h
Go to the documentation of this file.
1 #ifndef XTRANSFORM_PCM_H
2 #define XTRANSFORM_PCM_H
3 
4 #define transform_mono_to_stereo(s, c1, pl, pr) \
5 transform_to_stereo(s, 1, NULL, NULL, c1, NULL, NULL, NULL, NULL, NULL, NULL, pl, pr)
6 #define transform_stereo_to_stereo(s, c1, c2, pl, pr) \
7 transform_to_stereo(s, 2, c1, c2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, pl, pr)
8 #define transform_21_to_stereo(s, c1, c2, c3, pl, pr) \
9 transform_to_stereo(s, 3, c1, c3, c2, NULL, NULL, NULL, NULL, NULL, NULL, pl, pr)
10 #define transform_40_to_stereo(s, c1, c2, c3, c4, pl, pr) \
11 transform_to_stereo(s, 4, c1, c2, NULL, NULL, NULL, NULL, c3, c4, NULL, pl, pr)
12 #define transform_50_to_stereo(s, c1, c2, c3, c4, c5, pl, pr) \
13 transform_to_stereo(s, 5, c1, c3, c2, NULL, NULL, NULL, c4, c5, NULL, pl, pr)
14 #define transform_51_to_stereo(s, c1, c2, c3, c4, c5, c6, pl, pr) \
15 transform_to_stereo(s, 5, c1, c3, c2, NULL, NULL, NULL, c4, c5, c6, pl, pr)
16 #define transform_61_to_stereo(s, c1, c2, c3, c4, c5, c6, c7, pl, pr) \
17 transform_to_stereo(s, 7, c1, c3, c2, c6, c4, c5, NULL, NULL, c7, pl, pr)
18 #define transform_71_to_stereo(s, c1, c2, c3, c4, c5, c6, c7, c8, pl, pr) \
19 transform_to_stereo(s, 8, c1, c3, c2, NULL, c4, c5, c6, c7, c8, pl, pr)
20 
21 /*
22 input channel order: used for: mono stereo 2.1 4.0 5.0 5.1 6.1 7.1
23 float *pcm_fl 1: front left/left stereo X X X X X X X
24 float *pcm_fr 2: front right/right stereo X X X X X X X
25 float *pcm_fc 3: (front)center/mono X X X X X X
26 float *pcm_rc 4: rear center X
27 float *pcm_sl 5: side left X X
28 float *pcm_sr 6: side right X X
29 float *pcm_rl 7: rear left X X X X
30 float *pcm_rr 8: rear right X X X X
31 float *pcm_lfe 9: LFE X X X
32 
33 output channel order:
34 signed int16_t *pcmout_l 1: left stereo
35 signed int16_t *pcmout_r 2: right stereo
36 */
37 
39 int transform_to_stereo(long int samples, int channels, float *pcm_fl, float *pcm_fr, float *pcm_fc, float *pcm_rc, float *pcm_sl, float *pcm_sr, float *pcm_rl, float *pcm_rr, float *pcm_lfe, signed short int *pcmout_l, signed short int *pcmout_r);
40 
42 inline signed short int pcm_float_to_int(float);
43 
45 inline signed short int pcm_int16_to_int(int);
46 
47 #endif /* XTRANSFORM_PCM_H */
int transform_to_stereo(long int samples, int channels, float *pcm_fl, float *pcm_fr, float *pcm_fc, float *pcm_rc, float *pcm_sl, float *pcm_sr, float *pcm_rl, float *pcm_rr, float *pcm_lfe, signed short int *pcmout_l, signed short int *pcmout_r)
Definition: transform_pcm.c:44
signed short int pcm_int16_to_int(int)
Definition: transform_pcm.c:22
signed short int pcm_float_to_int(float)
Definition: transform_pcm.c:17