aboutsummaryrefslogtreecommitdiffstats
path: root/OpenAL32/Include/alu.h
diff options
context:
space:
mode:
Diffstat (limited to 'OpenAL32/Include/alu.h')
-rw-r--r--OpenAL32/Include/alu.h8
1 files changed, 6 insertions, 2 deletions
diff --git a/OpenAL32/Include/alu.h b/OpenAL32/Include/alu.h
index 6fdbac6f..8ac25e35 100644
--- a/OpenAL32/Include/alu.h
+++ b/OpenAL32/Include/alu.h
@@ -299,9 +299,13 @@ void DeinitVoice(ALvoice *voice);
#define LIMITER_WINDOW_SIZE (1<<7) /* 128 */
#define LIMITER_WINDOW_MASK (LIMITER_WINDOW_SIZE-1)
+#define LIMITER_VALUE_MAX (UINT_MAX / LIMITER_WINDOW_SIZE)
struct OutputLimiter {
- /* RMS detection window and the next write pos. */
- alignas(16) ALfloat Window[LIMITER_WINDOW_SIZE];
+ /* RMS detection window, sum of values in the window, and the next write
+ * pos. Values are 16.16 fixed-point.
+ */
+ ALuint Window[LIMITER_WINDOW_SIZE];
+ ALuint SquaredSum;
ALsizei Pos;
/* In milliseconds. */