When enable-lfe-remixing is set, an LFE channel is present in the resampler's destination channel map but not in the source channel map, we insert a low-pass filter instead of just averaging the channels. Other channels will get a high-pass filter.
In this patch, the crossover frequency is hardcoded to 120Hz (to be fixed in later patches).
Note that in current state the LFE filter is- not very optimised- not rewind friendly (rewinding can cause audible artifacts)
979f19a lfe-filter: Enable LFE filter in the resampler
src/Makefile.am | 3 ++
src/pulsecore/filter/crossover.c | 85 ++++++++++++++++++++++++++++++-
src/pulsecore/filter/crossover.h | 6 +++
src/pulsecore/filter/lfe-filter.c | 101 +++++++++++++++++++++++++++++++++++++
src/pulsecore/filter/lfe-filter.h | 38 ++++++++++++++
src/pulsecore/resampler.c | 34 +++++++++++--
src/pulsecore/resampler.h | 3 ++
7 files changed, 265 insertions(+), 5 deletions(-)
Upstream: cgit.freedesktop.org