Loading lib_rend/ivas_reverb_filter_design_fx.c +1 −1 Original line number Diff line number Diff line Loading @@ -671,7 +671,7 @@ void ivas_reverb_calc_color_levels_fx( const Word32 output_Fs, const Word16 freq_count, const Word16 loop_count, const Word32 *pFc, // input in Q14 //Input is actually in Q16 const Word32 *pFc, // input in Q16 const Word32 *pAcoustic_dsr, // input in Q31 const Word32 *pHrtf_avg_pwr_L, // input in Q28 const Word32 *pHrtf_avg_pwr_R, // input in Q28 Loading lib_rend/ivas_reverb_fx.c +1 −3 Original line number Diff line number Diff line Loading @@ -670,7 +670,6 @@ static ivas_error compute_t60_coeffs_fx( } ELSE { // tmp = shr( tmp, add( e, 1 ) ); -> does not work, because e is computed as an offset from 20?? Therefore the offset must be adjusted wrt 20 tmp = shr( tmp, sub( 5, e ) ); // scaling tmp to Q15 target_gains_db_fx[bin_idx] = mult( shr( min120q8, 1 ), tmp ); // Q8 } Loading Loading @@ -1280,7 +1279,6 @@ static void set_reverb_acoustic_data_fx( { L_tmp = Mpy_32_32( pRt60_fx[bin_idx], ln_1e6_inverted_fx ); // Q26 // exp_argument_fx = BASOP_Util_Divide3232_Scale( delay_diff_fx, L_tmp, &exp_argument_e );// exp_argument_fx = BASOP_Util_Divide3232_Scale_newton( delay_diff_fx, L_tmp, &exp_argument_e ); exp_argument_fx = L_shr_sat( exp_argument_fx, sub( 6, exp_argument_e ) ); // Q26 Loading Loading @@ -1501,7 +1499,7 @@ ivas_error ivas_reverb_open_fx( freq_step_fx = L_mult0( extract_l( L_shr( output_Fs, 2 ) ), div_s( 1, ( nr_fc_fft_filter - 1 ) ) ); /*Q14:0.5f * output_Fs / ( nr_fc_fft_filter - 1 )*/ FOR( bin_idx = 0; bin_idx < nr_fc_fft_filter; bin_idx++ ) { params.pFc_fx[bin_idx] = W_extract_l( W_mult0_32_32( freq_step_fx, bin_idx ) ); /*Q14*/ // Initial comment says Q14, but these values align with floating point only if they are considered to be in Q16 params.pFc_fx[bin_idx] = W_extract_l( W_mult0_32_32( freq_step_fx, bin_idx ) ); /*Q16*/ } test(); Loading Loading
lib_rend/ivas_reverb_filter_design_fx.c +1 −1 Original line number Diff line number Diff line Loading @@ -671,7 +671,7 @@ void ivas_reverb_calc_color_levels_fx( const Word32 output_Fs, const Word16 freq_count, const Word16 loop_count, const Word32 *pFc, // input in Q14 //Input is actually in Q16 const Word32 *pFc, // input in Q16 const Word32 *pAcoustic_dsr, // input in Q31 const Word32 *pHrtf_avg_pwr_L, // input in Q28 const Word32 *pHrtf_avg_pwr_R, // input in Q28 Loading
lib_rend/ivas_reverb_fx.c +1 −3 Original line number Diff line number Diff line Loading @@ -670,7 +670,6 @@ static ivas_error compute_t60_coeffs_fx( } ELSE { // tmp = shr( tmp, add( e, 1 ) ); -> does not work, because e is computed as an offset from 20?? Therefore the offset must be adjusted wrt 20 tmp = shr( tmp, sub( 5, e ) ); // scaling tmp to Q15 target_gains_db_fx[bin_idx] = mult( shr( min120q8, 1 ), tmp ); // Q8 } Loading Loading @@ -1280,7 +1279,6 @@ static void set_reverb_acoustic_data_fx( { L_tmp = Mpy_32_32( pRt60_fx[bin_idx], ln_1e6_inverted_fx ); // Q26 // exp_argument_fx = BASOP_Util_Divide3232_Scale( delay_diff_fx, L_tmp, &exp_argument_e );// exp_argument_fx = BASOP_Util_Divide3232_Scale_newton( delay_diff_fx, L_tmp, &exp_argument_e ); exp_argument_fx = L_shr_sat( exp_argument_fx, sub( 6, exp_argument_e ) ); // Q26 Loading Loading @@ -1501,7 +1499,7 @@ ivas_error ivas_reverb_open_fx( freq_step_fx = L_mult0( extract_l( L_shr( output_Fs, 2 ) ), div_s( 1, ( nr_fc_fft_filter - 1 ) ) ); /*Q14:0.5f * output_Fs / ( nr_fc_fft_filter - 1 )*/ FOR( bin_idx = 0; bin_idx < nr_fc_fft_filter; bin_idx++ ) { params.pFc_fx[bin_idx] = W_extract_l( W_mult0_32_32( freq_step_fx, bin_idx ) ); /*Q14*/ // Initial comment says Q14, but these values align with floating point only if they are considered to be in Q16 params.pFc_fx[bin_idx] = W_extract_l( W_mult0_32_32( freq_step_fx, bin_idx ) ); /*Q16*/ } test(); Loading