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
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 */