[non-BE][split-non-BE][allow-regression] Resolve "Difference in probably comfort noise of MASA 1 TC LTV signal rendering to binaural"
Reason why this change is needed
- As the figure in issue shows, there is an annoying growing diff in seemingly comfort noise. Ittiam already analyzed this and suspected that there is a loss of precision.
- Further analysis and debugging
lp_noiseis estimated ever so slightly differently (with BASOP being underestimated) in noisy_speech_detection between float and BASOP which causes BASOP and float to give different noisy speech flags. This seems to cascade in difference and the result is a growing diff.
Description of the change
- Two things are done:
- Two IIR filter coefficients are calculated to sum exactly to one (
ONE_IN_Q15) instead ofMAX_16. - Modify
dotWord32_16_Mant32Exp(BASOP function only used in this path) to increase accuracy.
- Two IIR filter coefficients are calculated to sum exactly to one (
Affected operating points
- Non-BE in decoder only.
- Can affect all paths that use the affected functions in
fd_cng_dec_fx.c. At least MASA 1TC. Maybe some other paths as well.
Closes #1765