06.11.2014 15:39, David Henningsson wrote: > > > On 2014-09-30 15:59, Alexander E. Patrakov wrote: >> 30.09.2014 19:07, David Henningsson wrote: >>> >>> >>> On 2014-09-26 14:17, Tanu Kaskinen wrote: >>>> A summary of my proposal: >>>> >>>> To add LFE low-pass filtering, just hack the current remixer >>>> implementation, no need for interface changes anywhere. >>> >>> Actually, I think this could be good enough, at least as a first step. >>> >>> Do you think it would be okay to: >>> >>> - Implement a LR2 or LR4 filter by "hacking the current remixer >>> implementation" >> >> For me, it would be okay, but I would prefer a slightly more complex >> plan, purely to avoid the blame of the form "you demand fully rewindable >> code everywhere from others but just wrote an LFE-remixer that doesn't >> handle rewinds correctly". The plan is: >> >> 1. Implement functions to calculate the coefficients of the required IIR >> filters for LR2 and/or LR4. >> >> 2. Implement, in a separate file, some set of functions that would allow >> one to apply an arbitrary matrix of IIR filters on a memblockq. Make >> sure they are fully rewindable (that's the PR part), write a test. >> >> 3. Connect functions from (2) to the existing remixer implementation. If >> it turns out that it is impossible to form the rewind requests >> correctly, write a TODO item. >> >> (2), except the test, already sits on my laptop since the previous year >> in the form of a virtual sink. I just need to refactor it from the >> "parallel biquads" to the "chain of biquads" form (because both LR2 and >> LR4 have pairs of identical poles which are inexpressible in the >> parallel-biquads formulation) and remove the sink code. > > Reviving this thread due to renewed interest from management. In short, > we should probably go ahead and write this filter. I can certainly try > to do it, but I assume you will just complain about me breaking the > math. :-) That's OK. > Did you end up doing anything more with your existing code? Need a hand > anywhere? No. In fact, I have not looked at PulseAudio code (except Peter's patches) since the conference, and I don't have enough free time. The earliest date when I can continue is this Sunday. -- Alexander E. Patrakov