Skip to content

Conversation

@singalsu
Copy link
Collaborator

@singalsu singalsu commented Feb 9, 2022

This patch optimizes the remaining EQ functions eq_iir_s32_s16_pass()
and eq_iir_s32_s24_pass() to not use audio stream read/write
frag functions.

Signed-off-by: Seppo Ingalsuo seppo.ingalsuo@linux.intel.com

Copy link
Member

@lgirdwood lgirdwood left a comment

Choose a reason for hiding this comment

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

Whats the speed improvement ?

@singalsu
Copy link
Collaborator Author

singalsu commented Feb 10, 2022

Whats the speed improvement ?

I did this test. In sof-hda-generic-2ch.tplg I can capture 32-32, 32-32, 32-16 conversion modes of IIR. The 32-32 was already handled well by 1:1 stream copy function with 6 MCPS. The 32-16 bits case improved 22.4 MCPS to 6.4 MCPS (-16 MCPS), the 32-24 bits case improved 23.6 MCPS to 6.8 MCPS (-16.8 MCPS). I'll add this to commit text.

Screenshot from 2022-02-10 16-48-55

This patch optimizes the remaining EQ functions eq_iir_s32_s16_pass()
and eq_iir_s32_s24_pass() to not use audio stream read/write
frag functions.

This patch did not change x-x bit case that was already handled
efficiently by 1:1 stream copy function with 6 MCPS. The 32-16 bits
case improved 22.4 MCPS to 6.4 MCPS (-16 MCPS), the 32-24 bits case
improved 23.6 MCPS to 6.8 MCPS (-16.8 MCPS).

Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
@singalsu singalsu force-pushed the iir_passthrough_optimize branch from 7fac18c to cc9250b Compare February 10, 2022 15:05
@singalsu singalsu marked this pull request as ready for review February 10, 2022 15:06
@singalsu singalsu requested a review from lgirdwood February 10, 2022 15:09
@lgirdwood lgirdwood merged commit 16c1db5 into thesofproject:main Feb 21, 2022
@singalsu singalsu deleted the iir_passthrough_optimize branch September 15, 2022 13:16
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