Skip to content

Commit

Permalink
Audio: SRC: Optimize HiFi4 version code
Browse files Browse the repository at this point in the history
This patch applies to HiF4 part of the optimizations done for HiFi5
version.

- As a fix for code the coefficients read align register is primed
  for 16 bit coefficients version. Without priming the load works
  correctly only for aligned addresses.
- The FIR filter functions are separated for stereo and any channels
  count versions. It avoids channels count check for every
  intermediate and final sample value.
- The 32 bit coefficients version is similarly separated for stereo
  and any channels version.
- The data loads are changed to more efficient 32 bits without
  s24 conversion. The dual-MAC is changed to 32x32 with Q17.47
  format.
- The data store is changed in stereo version to 64 bit store of
  stereo frame.
- In src_polyphase_stage_cir() function the filters process loops
  are separated for stereo and for any channels count.

The MCPS is improved from 18.03 to 16.00 MCPS in stereo 32 bit
44.1 kHz to 48 kHz conversion.

Signed-off-by: Seppo Ingalsuo <[email protected]>
  • Loading branch information
singalsu authored and lgirdwood committed Feb 12, 2025
1 parent 8894584 commit 0401893
Showing 1 changed file with 229 additions and 199 deletions.
Loading

0 comments on commit 0401893

Please sign in to comment.