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

Tools: Topology2: Add IIR, FIR, DRC to HDA analog playback #8934

Merged
merged 1 commit into from
Mar 14, 2024

Conversation

singalsu
Copy link
Collaborator

@singalsu singalsu commented Mar 12, 2024

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.

@singalsu
Copy link
Collaborator Author

Topology before and after pictures:
before-sof-hda-generic-4ch
after-sof-hda-generic-4ch

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 12, 2024 13:45
Copy link
Contributor

@jsarha jsarha left a comment

Choose a reason for hiding this comment

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

Wouldn't changing HDA_CONFIG=mix to HDA_CONFIG=efx in generic hda topology build rules do mostly the same thing as this PR? Thou there is a bit more stuff in cavs-mixin-mixout-efx-hda.conf than in this PR.

@singalsu
Copy link
Collaborator Author

Wouldn't changing HDA_CONFIG=mix to HDA_CONFIG=efx in generic hda topology build rules do mostly the same thing as this PR? Thou there is a bit more stuff in cavs-mixin-mixout-efx-hda.conf than in this PR.

Yes you are right. I was thinking to keep efx as development topology, with more features added soon, and copy them eventually to default topology names once the new features are considered stabilized.

@kv2019i
Copy link
Collaborator

kv2019i commented Mar 14, 2024

@kv2019i kv2019i merged commit 727ad82 into thesofproject:main Mar 14, 2024
38 of 44 checks passed
fredoh9 added a commit to fredoh9/sof that referenced this pull request Mar 18, 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.

3 participants