Don't call log10 with values too close to 0
[openal-soft.git] / alc / alu.h
blobef7ddd4c5ac652d88ae67df72b3e701a042caca3
1 #ifndef ALU_H
2 #define ALU_H
4 #include <bitset>
5 #include <cstdint>
6 #include <optional>
8 struct ALCcontext;
9 struct ALCdevice;
10 struct EffectSlot;
12 enum class StereoEncoding : std::uint8_t;
15 constexpr float GainMixMax{1000.0f}; /* +60dB */
18 enum CompatFlags : std::uint8_t {
19 ReverseX,
20 ReverseY,
21 ReverseZ,
23 Count
25 using CompatFlagBitset = std::bitset<CompatFlags::Count>;
27 void aluInit(CompatFlagBitset flags, const float nfcscale);
29 /* aluInitRenderer
31 * Set up the appropriate panning method and mixing method given the device
32 * properties.
34 void aluInitRenderer(ALCdevice *device, int hrtf_id, std::optional<StereoEncoding> stereomode);
36 void aluInitEffectPanning(EffectSlot *slot, ALCcontext *context);
38 #endif