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

[stable-v2.9] Tools: Topology2: Add IIR, FIR, DRC to HDA analog playback #8943

Conversation

singalsu
Copy link
Collaborator

This patch replaces pipeline mixout-gain-dai-copier-playback with mixout-gain-efx-dai-copier-playback. The purpose is to allow enhance of audio playback quality with equalizers (IIR and FIR) and dynamic range control (DRC).

The components are programmed by default to passthrough for minimal overhead. They can be activated via sof-ctl or UCM with ALSA controls.

  • Post Mixer Analog Playback IIR Eq bytes
  • Post Mixer Analog Playback FIR Eq bytes
  • Post Mixer Analog Playback DRC bytes
  • Post Mixer Analog Playback DRC switch

The recommendation is to keep headphone playback flat and enable processing only when HDA output is in speaker mode.

This patch replaces pipeline mixout-gain-dai-copier-playback with
mixout-gain-efx-dai-copier-playback. The purpose is to allow
enhance of audio playback quality with equalizers (IIR and FIR)
and dynamic range control (DRC).

The components are programmed by default to passthrough for minimal
overhead. They can be activated via sof-ctl or UCM with ALSA controls.

- Post Mixer Analog Playback IIR Eq bytes
- Post Mixer Analog Playback FIR Eq bytes
- Post Mixer Analog Playback DRC bytes
- Post Mixer Analog Playback DRC switch

The recommendation is to keep headphone playback flat and enable
processing only when HDA output is in speaker mode.

Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
@singalsu singalsu marked this pull request as ready for review March 14, 2024 09:39
@kv2019i kv2019i changed the title Tools: Topology2: Add IIR, FIR, DRC to HDA analog playback [stable-v2.9] Tools: Topology2: Add IIR, FIR, DRC to HDA analog playback Mar 14, 2024
@singalsu
Copy link
Collaborator Author

@kv2019i The CI Jenkins fails look to me unrelated with this patch.

Copy link
Member

@plbossart plbossart left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I appreciate what @singalsu is trying to do but IMHO the way by which we add features is not quite right. see comment below.

@@ -28,7 +31,7 @@ Object.Dai.HDA [
]

Object.Pipeline {
mixout-gain-dai-copier-playback [
mixout-gain-efx-dai-copier-playback [
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sorry, I think it's the wrong way of proceeding. I talked to @ranj063 on this many months ago and what we need is a way to have nested pipelines, where additional elements are added to a baseline.

So the baseline is mixout-dai-copier, and we should be able to add gain, eq, drc, 3rd party with extensions rather than the creation of a new pipeline all the time.

Let's not add this by default, we will pay it dearly when we want to trim down the firmware for performance or early FPGA work with limited resources.

@singalsu singalsu closed this Mar 15, 2024
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.

2 participants