Don't store the looping state in the voice
[openal-soft.git] / Alc / bformatdec.h
blobbe5a69f62c1b8bcb7ef0a4d725d4b332ca339a1b
1 #ifndef BFORMATDEC_H
2 #define BFORMATDEC_H
4 #include "alMain.h"
6 struct AmbDecConf;
7 struct BFormatDec;
8 struct AmbiUpsampler;
10 enum BFormatDecFlags {
11 BFDF_DistanceComp = 1<<0
14 struct BFormatDec *bformatdec_alloc();
15 void bformatdec_free(struct BFormatDec *dec);
16 int bformatdec_getOrder(const struct BFormatDec *dec);
17 void bformatdec_reset(struct BFormatDec *dec, const struct AmbDecConf *conf, ALuint chancount, ALuint srate, const ALuint chanmap[MAX_OUTPUT_CHANNELS], int flags);
19 /* Decodes the ambisonic input to the given output channels. */
20 void bformatdec_process(struct BFormatDec *dec, ALfloat (*restrict OutBuffer)[BUFFERSIZE], ALuint OutChannels, ALfloat (*restrict InSamples)[BUFFERSIZE], ALuint SamplesToDo);
22 /* Up-samples a first-order input to the decoder's configuration. */
23 void bformatdec_upSample(struct BFormatDec *dec, ALfloat (*restrict OutBuffer)[BUFFERSIZE], ALfloat (*restrict InSamples)[BUFFERSIZE], ALuint InChannels, ALuint SamplesToDo);
25 /* Stand-alone first-order upsampler. Kept here because it shares some stuff
26 * with bformatdec.
28 struct AmbiUpsampler *ambiup_alloc();
29 void ambiup_free(struct AmbiUpsampler *ambiup);
30 void ambiup_reset(struct AmbiUpsampler *ambiup, const ALCdevice *device);
32 void ambiup_process(struct AmbiUpsampler *ambiup, ALfloat (*restrict OutBuffer)[BUFFERSIZE], ALuint OutChannels, ALfloat (*restrict InSamples)[BUFFERSIZE], ALuint SamplesToDo);
34 #endif /* BFORMATDEC_H */