diff options
author | Chris Robinson <[email protected]> | 2020-05-05 01:01:30 -0700 |
---|---|---|
committer | Chris Robinson <[email protected]> | 2020-05-05 01:05:38 -0700 |
commit | deac36a1ebc009e755ef999bcbcdc41323c84ef0 (patch) | |
tree | ace92f4838a67f8972648276992374776ba74eef /alc/front_stablizer.h | |
parent | fcec76663f0ea24dd5d1f477f839ca2e781bf9b3 (diff) |
Improve the front stablizer
Apply the all-pass+band-split only once, after generating the mid and side
signals separately.
Diffstat (limited to 'alc/front_stablizer.h')
-rw-r--r-- | alc/front_stablizer.h | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/alc/front_stablizer.h b/alc/front_stablizer.h index ad31508a..179a1953 100644 --- a/alc/front_stablizer.h +++ b/alc/front_stablizer.h @@ -10,14 +10,15 @@ 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]; + BandSplitter MidFilter; + alignas(16) float MidLF[BUFFERSIZE]; + alignas(16) float MidHF[BUFFERSIZE]; + alignas(16) float Side[BUFFERSIZE]; alignas(16) float TempBuf[BUFFERSIZE + DelayLength]; + alignas(16) float DelayBuf[MAX_OUTPUT_CHANNELS][DelayLength]; + DEF_NEWDEL(FrontStablizer) }; |