aboutsummaryrefslogtreecommitdiffstats
path: root/alc/alcmain.h
diff options
context:
space:
mode:
Diffstat (limited to 'alc/alcmain.h')
-rw-r--r--alc/alcmain.h17
1 files changed, 16 insertions, 1 deletions
diff --git a/alc/alcmain.h b/alc/alcmain.h
index e7451ab0..464febcc 100644
--- a/alc/alcmain.h
+++ b/alc/alcmain.h
@@ -23,6 +23,7 @@
#include "ambidefs.h"
#include "atomic.h"
#include "devformat.h"
+#include "filters/splitter.h"
#include "hrtf.h"
#include "inprogext.h"
#include "intrusive_ptr.h"
@@ -35,7 +36,6 @@ struct ALfilter;
struct BackendBase;
struct Compressor;
struct EffectState;
-struct FrontStablizer;
struct Uhj2Encoder;
struct bs2b;
@@ -160,6 +160,21 @@ using FloatBufferLine = std::array<float,BUFFERSIZE>;
#define MAX_RESAMPLE_PADDING 24
+struct FrontStablizer {
+ static constexpr size_t DelayLength{256u};
+
+ alignas(16) float DelayBuf[MAX_OUTPUT_CHANNELS][DelayLength];
+
+ BandSplitter LFilter, RFilter;
+ alignas(16) float LSplit[2][BUFFERSIZE];
+ alignas(16) float RSplit[2][BUFFERSIZE];
+
+ alignas(16) float TempBuf[BUFFERSIZE + DelayLength];
+
+ DEF_NEWDEL(FrontStablizer)
+};
+
+
struct MixParams {
/* Coefficient channel mapping for mixing to the buffer. */
std::array<BFChannelConfig,MAX_OUTPUT_CHANNELS> AmbiMap{};