[pulseaudio-discuss] [RFC PATCH 0/6] LFE filter

David Henningsson david.henningsson at canonical.com
Thu Jan 29 12:22:53 PST 2015


On 2015-01-28 23:44, Alexander E. Patrakov wrote:
> I confirm that I have received this and intend to review. However, due 
> to some existing non-PulseAudio work with a deadline, I will not be 
> able to review until Feburary 2.

Thanks! No hurry - this is not going into 6.0 anyway and there'll be 
plenty of time before 7.0.

However, we probably want to ship this as distro patches in Ubuntu, on 
top of 6.0, but that's another story...

// David

>
> 29.01.2015 03:14, David Henningsson wrote:
>> Hi!
>>
>> Hui and I have been working on some LFE filter patches lately, and this
>> is our first draft for review/feedback.
>>
>> First, I have greedily stolen the math from CRAS, because CRAS is BSD 
>> and
>> as I understand we don't have a problem with merging more liberal 
>> licenses.
>>
>> The LFE filter is implemented in the resampler, which means it is 
>> done for
>> every sink-input rather than every sink - this might mean some 
>> additional
>> CPU processing if many different streams play back at the same time, but
>> putting it on the sink side would disable the possibility to mix a 
>> 2.0 stream
>> with a 2.1 stream.
>>
>> The rewind part is very drafty and untested, and I'm not sure I 
>> choose the
>> best design here. But at least this is something that could act as 
>> base for
>> discussion.
>>
>> Also, while testing we noticed that flat volumes acts a bit weird, 
>> making it
>> impossible to have a high subwoofer volume level but at the same time 
>> low
>> front speaker volume, but I'm not sure if that's a bug or just the 
>> (ahem)
>> normal weirdness of flat volumes.
>>
>> David Henningsson (4):
>>    lfe-filter: Import code from the Chrome OS audio server
>>    lfe-filter: Enable LFE filter in the resampler
>>    lfe-filter: Add rewind support
>>    resampler: Make some basic functions for rewinding
>>
>> Hui Wang (2):
>>    daemon-conf: enable the lfe remixing by default
>>    lfe-filter: change the crossover frequency as a parameter
>>
>>   LICENSE                                    |   3 +
>>   man/pulse-daemon.conf.5.xml.in             |   7 +-
>>   src/Makefile.am                            |   3 +
>>   src/daemon/daemon-conf.c                   |   5 +-
>>   src/daemon/daemon-conf.h                   |   1 +
>>   src/daemon/daemon.conf.in                  |   3 +-
>>   src/daemon/main.c                          |   1 +
>>   src/modules/module-virtual-surround-sink.c |   2 +-
>>   src/pulsecore/core.c                       |   1 +
>>   src/pulsecore/core.h                       |   1 +
>>   src/pulsecore/filter/LICENSE.WEBKIT        |  27 +++
>>   src/pulsecore/filter/biquad.c              | 368 
>> +++++++++++++++++++++++++++++
>>   src/pulsecore/filter/biquad.h              |  57 +++++
>>   src/pulsecore/filter/crossover.c           | 263 +++++++++++++++++++++
>>   src/pulsecore/filter/crossover.h           |  76 ++++++
>>   src/pulsecore/filter/lfe-filter.c          | 187 +++++++++++++++
>>   src/pulsecore/filter/lfe-filter.h          |  39 +++
>>   src/pulsecore/resampler.c                  |  49 +++-
>>   src/pulsecore/resampler.h                  |   7 +
>>   src/pulsecore/sink-input.c                 |   6 +-
>>   src/pulsecore/source-output.c              |   4 +-
>>   src/tests/remix-test.c                     |   3 +-
>>   src/tests/resampler-test.c                 |   7 +-
>>   23 files changed, 1106 insertions(+), 14 deletions(-)
>>   create mode 100644 src/pulsecore/filter/LICENSE.WEBKIT
>>   create mode 100644 src/pulsecore/filter/biquad.c
>>   create mode 100644 src/pulsecore/filter/biquad.h
>>   create mode 100644 src/pulsecore/filter/crossover.c
>>   create mode 100644 src/pulsecore/filter/crossover.h
>>   create mode 100644 src/pulsecore/filter/lfe-filter.c
>>   create mode 100644 src/pulsecore/filter/lfe-filter.h
>>
>



More information about the pulseaudio-discuss mailing list