-
Notifications
You must be signed in to change notification settings - Fork 349
Closed
Labels
P2Critical bugs or normal featuresCritical bugs or normal featuresenhancementNew feature or requestNew feature or request
Milestone
Description
The current gain value in kernel to firmware IPC does not support > 0 dB gain and also is not very accurate at low gains due to using only lowest 17 bits of the 32 bit IPC value.
- Larger than 1.0x or 0 dB gain are useful in audio capture from microphones where the signal level can be low.
- The Q1.16 format gain can't support monotonically 0.1 dB gain steps at < -50 dB gains. Though it's a minor issue since the smallest supported steps in SOF kernel are 0.5 dB.
- Adding Q16.16 volume support to FW would be a fairly small task and would not break compatibility with current kernel. Due to very large integer part in fraction and due to DSP multiply instruction limitation the FW would need to extract the lowest 24 bits and use the Q16.16 gain as Q8.16.
- Other format such as Q7.25 would address both issues but need changes at both kernel and FW side. In this case the DSP could always use as many bits for multiply from MSB side of the 32 bit word.
Metadata
Metadata
Labels
P2Critical bugs or normal featuresCritical bugs or normal featuresenhancementNew feature or requestNew feature or request