[non-BE] Resolve "Wrong decimation index calculation in ivas_lfe_tdplc_fx"
- Related issues: #2630 (closed)
- Requested reviewers: @malenovskyvl
Reason why this change is needed
- In ivas_lfe_tdplc(), the float refrence calculation is as follows:
rec_frame_us[i] = rec_frame_us[( i * 48000 ) / output_Fs];
But BASOP:
idx = BASOP_Util_Divide3232_Scale( Mpy_32_32( L_shl( i, 16 ), L_shl( 44100, 15 ) ), output_Fs, &temp_q );
idx = shr( idx, add( sub( 15, temp_q ), 1 ) );
This computes idx = i * 22050 / output_Fs instead of i * 48000 / output_Fs.
Description of the change
- decimation index uses 48000 (was 44100) and the extra >>1 is dropped.
Affected operating points
- non-BE
Edited by Mohammadreza Naghibzadeh