Skip to content

ApplyFdCng call stack converted to fixed point.

Sandesh Venkatesh requested to merge perform_noise_estimation_fxd into main

[x] The sections specific to IVAS which were disabled and were in floating point are implemented in fixed point for ApplyFdCng() and its sub-functions.
[x] ApplyFdCng_fx() is integrated at all call locations from stereo_tcx_core_dec().

Functions converted:

  • Converted IVAS specific code disabled under macros (IVAS_CODE_CNG and IVAS_CODE_CNG_FIX185_PLC_FADEOUT)
    • in ApplyFdCng() and perform_noise_estimation_dec() and created separate copies of them.
    • in minimum_statistics() and created separate copy minimum_statistics_fx()
  • lin_interp_fx(): present in tools_fx.c

Function(s) converted due to incorrect outputs from the existing EVS versions:

  • Analysis_STFT(): it was giving deviated outputs for fftBuffer after processing of some frames due to incorrect olapBufferAna coefficients, a copy AnalysisSTFT_fx() is implemented for this which uses similar flow as that of the floating point version.

Tools created:

  • v_multc_att3232: Attenuation of a vector,, attenuation factor in Q31
  • v_L_mult_1616 : Multiplication of two Word16 vectors, Output in Word32
  • v_L_mult_3216 : Multiplication of Word32 vector with Word16 vector, Output in Word32

pytest results: 358 failed, 227 passed, 381 skipped for original, +10dB and -10dB inputs.

MLD:
Original: 7 cases > 5
8.596422 9.193538 10.831529 10.852825 12.477127 22.267653 22.510826

+10dB: 29 cases > 5
5.202569 5.211496 5.354801 5.383359 5.663041 5.663041 5.852197 6.327166 6.476101 6.612843 6.970016 7.061856 7.340285 7.782791 7.857953 8.255487 10.755767 10.755767 11.33441 14.461291 15.203112 16.607782 16.9758 17.577856 19.374035 19.76078 23.788851 27.369797 39.378357

-10dB: 5 cases > 5
5.964953 6.009441 9.042313 14.816738 15.979668

Edited by Sandesh Venkatesh

Merge request reports

Loading