[CIONLY] audio: src: enhancements for hifi4
This pull request introduces two enhancements to SRC fir_filter operations within the HiFi4 architecture.
The first enhancement addresses the use of deprecated multiply-accumulate (MAC) functions within the HiFi4-specific FIR filter implementation. The commit replaces these outdated functions with the current, recommended MAC functions as per the HiFi4 user manual. Specifically, AE_MULAAFP24S_HH_LL and AE_MULAAFD24_HH_LL have been replaced with AE_MULAAFD32S_HH_LL. This change ensures compatibility with the HiFi4 architecture and future-proofs the code against potential issues arising from the use of deprecated functions.
The second enhancement optimizes the output rounding and storage operations of the FIR filter. Previously, the code utilized separate intrinsics for rounding (AE_ROUND32F48SSYM) and storing (AE_S32_L_XP) the filter output. The updated implementation consolidates these two steps into a single operation using AE_S24X2RA64S_IP for dual-channel processing and AE_S24RA64S_XP for single-channel processing. This modification reduces the instruction count and simplifies the code by merging the rounding and storing operations.
Both commits are designed to maintain the existing functionality and performance of the SRC. However, due to the changes in rounding modes and intrinsic functions, extensive testing is recommended to confirm that the FIR filter's behavior remains consistent with the expected audio quality and system performance standards.