40 Commits

Author SHA1 Message Date
Chris Robinson
c88b09170c Use phase correction for the front stablizer 2019-03-31 18:54:43 -07:00
Chris Robinson
12721f94a7 Add a method to apply an HF scale without band-splitting 2019-03-10 10:30:33 -07:00
Chris Robinson
1eea3cb2d1 Remove RESTRICT from the bandsplitter process method
The compiler can see there's no aliasing with the local variables, and the
input/output buffers are handled sequentially one element at a time anyway.
2019-02-21 17:37:02 -08:00
Chris Robinson
b5569d8455 Slight cleanup for NfcFilterCreate4 2019-01-24 10:22:38 -08:00
Chris Robinson
7757789590 Clean up the NFC filters a bit 2019-01-23 16:32:53 -08:00
Filip Gawin
4169c6f37d Use c++ headers 2019-01-09 19:42:40 +01:00
Chris Robinson
d2e34e509b Make the band-splitter and splitter-allpass filters templated
With float and double explicit instantiations
2019-01-06 04:45:35 -08:00
Chris Robinson
da3a916042 Replace macros with constexpr inline functions 2019-01-06 04:16:51 -08:00
Chris Robinson
607e778344 Make BiquadFilter a templated class
With explicit instantiations for float and double
2019-01-06 00:53:02 -08:00
Chris Robinson
e930c70eaa Don't make BiquadFilter's src and dst restrict
There's no technical reason they can't be the same since IIR filters can't be
auto-vectorized anyway.
2019-01-01 00:04:46 -08:00
Chris Robinson
8336de6653 Rename a couple filter files for consistency 2018-12-25 10:28:02 -08:00
Chris Robinson
334b3a905a Clean up some math stuff 2018-12-22 16:01:14 -08:00
Chris Robinson
30a3a19574 Rename a member variable and inline a function 2018-12-08 16:30:19 -08:00
Chris Robinson
a603cc906f Inline a simple method 2018-12-08 00:08:39 -08:00
Chris Robinson
6e4c856257 Add fourth-order methods to the NFC filter
Unused, but it finishes out the currently possible implementations.
2018-12-07 18:38:56 -08:00
Chris Robinson
e60d0886d0 Use class methods for BandSplitter and SplitterAllpass filters 2018-12-05 15:38:05 -08:00
Chris Robinson
10b39d57d5 Use class methods for the NFC filters 2018-12-05 15:20:52 -08:00
Chris Robinson
164a86a381 Use class methods for the biquad filter 2018-12-04 22:31:08 -08:00
Chris Robinson
36a8b615c8 Avoid using AL types with the filters 2018-12-04 20:55:10 -08:00
Chris Robinson
2a30ae3807 Avoid some more explicit loops in the filters 2018-12-04 20:35:23 -08:00
Chris Robinson
671ed1abf8 Use a unique_ptr for the FrontStablizer 2018-11-22 04:53:29 -08:00
Chris Robinson
387a34ca00 Clean up the biquad filter a bit 2018-11-19 09:10:36 -08:00
Chris Robinson
e5442db803 Convert the filters to C++ 2018-11-17 17:22:32 -08:00
Chris Robinson
53373a43b8 Convert ALu.c to C++
Required changes to bsincgen to generate C++-friendly structures.
2018-11-16 20:32:19 -08:00
Chris Robinson
3021a426c0 Convert ALc.c to C++ 2018-11-14 04:15:44 -08:00
Chris Robinson
b15dcea4bb Move extern inline declarations to their own C source 2018-11-14 00:07:50 -08:00
Chris Robinson
12d5b638f2 Convert the band-split filter to C++ 2018-11-03 15:23:15 -07:00
Chris Robinson
903d878460 Replace restrict with RESTRICT 2018-10-29 11:32:50 -07:00
Chris Robinson
fd1361c198 Add a RESTRICT macro to help with C++ compatibility 2018-10-29 10:10:37 -07:00
Chris Robinson
242ed45f65 Rename some struct members for clarity 2018-04-28 22:10:22 -07:00
Chris Robinson
492c75cb7b Rename some variables for clarity 2018-04-27 00:41:02 -07:00
Chris Robinson
1e0728af64 Transpose the band-splitter all-pass section 2018-04-26 23:26:11 -07:00
Chris Robinson
510efae066 Don't specialize biquad processing for a single sample 2018-04-24 00:17:07 -07:00
Chris Robinson
9575eebac4 Move the bnad-splitter filters to a separate source 2018-04-21 23:23:46 -07:00
Chris Robinson
9c5307a48a Rename BiquadState to BiquadFilter 2018-04-04 18:07:46 -07:00
Chris Robinson
869637af2e Apply biquad and T60 filters using transposed direct form II 2018-04-03 10:15:35 -07:00
Chris Robinson
d85ddf8aae Rename NfcFilterUpdate* to NfcFilterProcess* for consistency 2018-03-27 05:58:58 -07:00
Chris Robinson
6990478369 Rename ALfilterState/Type to BiquadState/Type 2018-03-23 14:52:59 -07:00
Chris Robinson
8e976a92f7 Move NFC filters to the filter directory 2018-03-22 07:17:48 -07:00
Chris Robinson
7a23330ffe Move the filter implementation to a separate directory 2018-03-22 07:05:40 -07:00