Add 'restrict' to another parameter
[openal-soft.git] / Alc / ambdec.h
blob8a3befc1ac03ea725befcfbc34ec45b0653f6e11
1 #ifndef AMBDEC_H
2 #define AMBDEC_H
4 #include "alstring.h"
5 #include "alMain.h"
7 /* Helpers to read .ambdec configuration files. */
9 enum AmbDecScaleType {
10 ADS_N3D,
11 ADS_SN3D,
12 ADS_FuMa,
14 typedef struct AmbDecConf {
15 al_string Description;
16 ALuint Version; /* Must be 3 */
18 ALuint ChanMask;
19 ALuint FreqBands; /* Must be 1 or 2 */
20 ALuint NumSpeakers;
21 enum AmbDecScaleType CoeffScale;
23 ALfloat XOverFreq;
24 ALfloat XOverRatio;
26 struct {
27 al_string Name;
28 ALfloat Distance;
29 ALfloat Azimuth;
30 ALfloat Elevation;
31 al_string Connection;
32 } Speakers[MAX_OUTPUT_CHANNELS];
34 /* Unused when FreqBands == 1 */
35 ALfloat LFOrderGain[MAX_AMBI_ORDER+1];
36 ALfloat LFMatrix[MAX_OUTPUT_CHANNELS][MAX_AMBI_COEFFS];
38 ALfloat HFOrderGain[MAX_AMBI_ORDER+1];
39 ALfloat HFMatrix[MAX_OUTPUT_CHANNELS][MAX_AMBI_COEFFS];
40 } AmbDecConf;
42 void ambdec_init(AmbDecConf *conf);
43 void ambdec_deinit(AmbDecConf *conf);
44 int ambdec_load(AmbDecConf *conf, const char *fname);
46 #endif /* AMBDEC_H */