Missing sum in function stereo_dft_enc_update()
# Basic info - Float reference: - Encoder (float): 1ed0162c4902fad82774283ca86164c0fbe9d902 - Decoder (float): 1ed0162c4902fad82774283ca86164c0fbe9d902 - Fixed point: - Encoder (fixed): efc6c0cf3f8bc617ce0b633d6f85eb6df518a09b - Decoder (fixed): efc6c0cf3f8bc617ce0b633d6f85eb6df518a09b # Issue description Static analysis shows that in function `stereo_dft_enc_update_fx()` a missing sum exists. This is not proven to be a cause for bugs yet. In floating point we have: ``` hStereoDft->res_cod_line_max = (int16_t) ( 0.5f + ( hStereoDft->band_limits[hStereoDft->res_cod_band_max] - 1 ) * 2.f * hStereoDft->N / (float) ( hStereoDft->NFFT ) ); hStereoDft->res_cod_line_max = 8 * ( hStereoDft->res_cod_line_max / 8 ); ``` but in fixed point implementation the sum with 0.5 is forgotten: ``` Word32 tmp = L_shl( L_mult0( sub( hStereoDft->band_limits[hStereoDft->res_cod_band_max], 1 ), hStereoDft->N ), 1 ); Word16 exp; tmp = BASOP_Util_Divide3232_Scale_newton( tmp, hStereoDft->NFFT, &exp ); ``` Please fix this.
issue