Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Audio: Multiband DRC: Use optimized 4th order IIR filter version #9808

Draft
wants to merge 3 commits into
base: main
Choose a base branch
from

Conversation

singalsu
Copy link
Collaborator

@singalsu singalsu commented Feb 3, 2025

The simpler 4th order hard-coded IIR version saves MCPS in in band split filter bank and emphasis/de-emphasis IIR filters.

The 4th filter with two biquads in series is commonly used in
crossover and multiband DRC components. The omitting of outer
loop for parallel biquads and check for null coefficients and
use of fixed loop count of two makes the critical code faster.

Signed-off-by: Seppo Ingalsuo <[email protected]>
This patch changes crossover component to use the optimized
4th order IIR function. The LR4 (Linkwitz-Riley 4th order)
filter bank is hard-coded to 4th order, so this change does
no add restrictions.

The filter bank is used by multiband DRC component. The saving
in three bands configuration is 5.2 MCPS in a HiFi5 platform.

Signed-off-by: Seppo Ingalsuo <[email protected]>
This patch changes in multiband DRC component the emphasis and
de-emphasis IIR filters to use the optimized 4th order IIR code.

The patch for crossover already covered the bands filter bank.
This change saves additional 2 MCPS in a HiFi5 build of the
component.

The change is not restricting configuration. The existing filters
are hard-coded to 4th order (SOF_EMP_DEEMP_BIQUADS).

Signed-off-by: Seppo Ingalsuo <[email protected]>
@singalsu
Copy link
Collaborator Author

singalsu commented Feb 3, 2025

WIP - I'll see if I can further improve the HiFi4 and HiFi5 IIR versions.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant