Loading lib_com/common_api_types.h +0 −5 Original line number Diff line number Diff line Loading @@ -317,11 +317,6 @@ typedef struct _IVAS_ROOM_ACOUSTICS_CONFIG { Word16 override; Word16 nBands; /* Number of frequency bands for which reverb properties are provided, integer, range [2..256] */ float pFc_input[IVAS_CLDFB_NO_CHANNELS_MAX]; /* Center frequencies for which following values are provided: */ float pAcoustic_rt60[IVAS_CLDFB_NO_CHANNELS_MAX]; /* - The room's T60 per center frequency */ float pAcoustic_dsr[IVAS_CLDFB_NO_CHANNELS_MAX]; /* - The room's Diffuse to Source Ratio per center frequency */ float acousticPreDelay; /* Time elapsed between input signal and late reverberation start, float, range [0.001..10] */ float inputPreDelay; /* Offset in seconds from where DSR is computed in the RIR (0 = at source), float, range [0.001..10] */ Word32 pFc_input_fx[IVAS_CLDFB_NO_CHANNELS_MAX]; /*Q16 Center frequencies for which following values are provided: */ Word32 pAcoustic_rt60_fx[IVAS_CLDFB_NO_CHANNELS_MAX]; /*Q26 - The room's T60 per center frequency */ Word32 pAcoustic_dsr_fx[IVAS_CLDFB_NO_CHANNELS_MAX]; /*Q30 - The room's Diffuse to Source Ratio per center frequency */ Loading lib_com/options.h +1 −0 Original line number Diff line number Diff line Loading @@ -84,6 +84,7 @@ #define FIX_1766_TCX2ACELP_BWE_ISSUE /* VA : Fix rare BWE issue when switching from TCX to ACELP */ #define FIX_1781_SPECTRAL_GAPS /* FhG: Change internal calculation of tcx_noise_factor_ivas_fx() to 32-bit*/ #define FIX_ISSUE_1811_EXCEEDING_W_SHIFTS /* FhG: limit exceeding 64bit shifts */ #define FIX_1843_IO_QFACTOR_INIT /* FhG: initialize CRend's io_qfactor also in IVAS_rend */ /* #################### Start BASOP porting switches ############################ */ Loading lib_dec/ivas_binRenderer_internal_fx.c +2 −2 Original line number Diff line number Diff line Loading @@ -981,8 +981,8 @@ static void ivas_binaural_obtain_DMX_fx( ELSE { Word16 div = divide3232( P_in_fx[bandIdx], P_out_fx ); Word16 exp = 0; // divide3232 returns Q15 + following Q16 shift factEQ_fx = Sqrt32( L_shl( div, Q16 ), &exp ); Word16 exp = 16; // divide3232 returns Q15 factEQ_fx = Sqrt32( div, &exp ); factEQ_fx = L_shl( factEQ_fx, sub( exp, 1 ) ); // Q30 } if ( factEQ_fx <= 0 ) Loading lib_dec/ivas_svd_dec_fx.c +1 −1 Original line number Diff line number Diff line Loading @@ -1055,7 +1055,7 @@ static void biDiagonalReductionLeft_fx( { temp = W_add( temp, L_shr( Mpy_32_32( singularVectors[jCh][currChannel], singularVectors[jCh][iCh] ), sub( max_e, add( singularVectors_e[jCh][currChannel], singularVectors_e[jCh][iCh] ) ) ) ); } Word16 nrm = W_norm( temp ); nrm = W_norm( temp ); nrm = sub( nrm, 32 ); norm_x = W_shl_sat_l( temp, nrm ); norm_x_e = sub( max_e, nrm ); Loading lib_rend/ivas_prot_rend_fx.h +9 −23 Original line number Diff line number Diff line Loading @@ -1117,35 +1117,21 @@ void ivas_reverb_calc_color_levels_fx( const Word32 *pT60_filter_coeff, //input in Q31 Word32 *pTarget_color_L, //output in Q30 Word32 *pTarget_color_R); //output in Q30 ivas_error ivas_reverb_prepare_cldfb_params( const IVAS_ROOM_ACOUSTICS_CONFIG_DATA *pInput_params, const HRTFS_STATISTICS_HANDLE hHrtfStatistics, const int32_t output_Fs, float *pOutput_t60, float *pOutput_ene ); void ivas_reverb_interpolate_acoustic_data_fx( const Word16 input_table_size, const Word32 *pInput_fc, //input in Q16 const Word32 *pInput_t60, //input in Q26 const Word32 *pInput_dsr, //input in Q30 const Word16 output_table_size, const Word32 *pOutput_fc, const Word32 output_Fs, Word32 *pOutput_t60, Word32 *pOutput_dsr, Word16 *pOutput_t60_e, //output e Word16 *pOutput_dsr_e //output e ); void ivas_reverb_interpolate_energies_fx( Word32 *pOutput_ene ); void ivas_reverb_interp_on_freq_grid_fx( const Word16 input_table_size, const Word32 *pInput_fc, //input in Q16 const Word32 *pInput_ene_l, //input in Q28 const Word32 *pInput_ene_r, //input in Q28 const Word32 *pInput_fc, //input center frequencies in Q16 const Word32 *pInput_grid, //input data vector in an arbitrary Q-format const Word16 output_table_size, const Word32 *pOutput_fc, Word32 *pOutput_ene_l_m, // output m Word32 *pOutput_ene_r_m, // output m Word16 *pOutput_ene_l_e, //output e Word16 *pOutput_ene_r_e //output e Word32 *pOutput_grid //output in the same Q-format as input ); /*---------------------------------------------------------------------------------* * Shoebox Prototypes Loading Loading
lib_com/common_api_types.h +0 −5 Original line number Diff line number Diff line Loading @@ -317,11 +317,6 @@ typedef struct _IVAS_ROOM_ACOUSTICS_CONFIG { Word16 override; Word16 nBands; /* Number of frequency bands for which reverb properties are provided, integer, range [2..256] */ float pFc_input[IVAS_CLDFB_NO_CHANNELS_MAX]; /* Center frequencies for which following values are provided: */ float pAcoustic_rt60[IVAS_CLDFB_NO_CHANNELS_MAX]; /* - The room's T60 per center frequency */ float pAcoustic_dsr[IVAS_CLDFB_NO_CHANNELS_MAX]; /* - The room's Diffuse to Source Ratio per center frequency */ float acousticPreDelay; /* Time elapsed between input signal and late reverberation start, float, range [0.001..10] */ float inputPreDelay; /* Offset in seconds from where DSR is computed in the RIR (0 = at source), float, range [0.001..10] */ Word32 pFc_input_fx[IVAS_CLDFB_NO_CHANNELS_MAX]; /*Q16 Center frequencies for which following values are provided: */ Word32 pAcoustic_rt60_fx[IVAS_CLDFB_NO_CHANNELS_MAX]; /*Q26 - The room's T60 per center frequency */ Word32 pAcoustic_dsr_fx[IVAS_CLDFB_NO_CHANNELS_MAX]; /*Q30 - The room's Diffuse to Source Ratio per center frequency */ Loading
lib_com/options.h +1 −0 Original line number Diff line number Diff line Loading @@ -84,6 +84,7 @@ #define FIX_1766_TCX2ACELP_BWE_ISSUE /* VA : Fix rare BWE issue when switching from TCX to ACELP */ #define FIX_1781_SPECTRAL_GAPS /* FhG: Change internal calculation of tcx_noise_factor_ivas_fx() to 32-bit*/ #define FIX_ISSUE_1811_EXCEEDING_W_SHIFTS /* FhG: limit exceeding 64bit shifts */ #define FIX_1843_IO_QFACTOR_INIT /* FhG: initialize CRend's io_qfactor also in IVAS_rend */ /* #################### Start BASOP porting switches ############################ */ Loading
lib_dec/ivas_binRenderer_internal_fx.c +2 −2 Original line number Diff line number Diff line Loading @@ -981,8 +981,8 @@ static void ivas_binaural_obtain_DMX_fx( ELSE { Word16 div = divide3232( P_in_fx[bandIdx], P_out_fx ); Word16 exp = 0; // divide3232 returns Q15 + following Q16 shift factEQ_fx = Sqrt32( L_shl( div, Q16 ), &exp ); Word16 exp = 16; // divide3232 returns Q15 factEQ_fx = Sqrt32( div, &exp ); factEQ_fx = L_shl( factEQ_fx, sub( exp, 1 ) ); // Q30 } if ( factEQ_fx <= 0 ) Loading
lib_dec/ivas_svd_dec_fx.c +1 −1 Original line number Diff line number Diff line Loading @@ -1055,7 +1055,7 @@ static void biDiagonalReductionLeft_fx( { temp = W_add( temp, L_shr( Mpy_32_32( singularVectors[jCh][currChannel], singularVectors[jCh][iCh] ), sub( max_e, add( singularVectors_e[jCh][currChannel], singularVectors_e[jCh][iCh] ) ) ) ); } Word16 nrm = W_norm( temp ); nrm = W_norm( temp ); nrm = sub( nrm, 32 ); norm_x = W_shl_sat_l( temp, nrm ); norm_x_e = sub( max_e, nrm ); Loading
lib_rend/ivas_prot_rend_fx.h +9 −23 Original line number Diff line number Diff line Loading @@ -1117,35 +1117,21 @@ void ivas_reverb_calc_color_levels_fx( const Word32 *pT60_filter_coeff, //input in Q31 Word32 *pTarget_color_L, //output in Q30 Word32 *pTarget_color_R); //output in Q30 ivas_error ivas_reverb_prepare_cldfb_params( const IVAS_ROOM_ACOUSTICS_CONFIG_DATA *pInput_params, const HRTFS_STATISTICS_HANDLE hHrtfStatistics, const int32_t output_Fs, float *pOutput_t60, float *pOutput_ene ); void ivas_reverb_interpolate_acoustic_data_fx( const Word16 input_table_size, const Word32 *pInput_fc, //input in Q16 const Word32 *pInput_t60, //input in Q26 const Word32 *pInput_dsr, //input in Q30 const Word16 output_table_size, const Word32 *pOutput_fc, const Word32 output_Fs, Word32 *pOutput_t60, Word32 *pOutput_dsr, Word16 *pOutput_t60_e, //output e Word16 *pOutput_dsr_e //output e ); void ivas_reverb_interpolate_energies_fx( Word32 *pOutput_ene ); void ivas_reverb_interp_on_freq_grid_fx( const Word16 input_table_size, const Word32 *pInput_fc, //input in Q16 const Word32 *pInput_ene_l, //input in Q28 const Word32 *pInput_ene_r, //input in Q28 const Word32 *pInput_fc, //input center frequencies in Q16 const Word32 *pInput_grid, //input data vector in an arbitrary Q-format const Word16 output_table_size, const Word32 *pOutput_fc, Word32 *pOutput_ene_l_m, // output m Word32 *pOutput_ene_r_m, // output m Word16 *pOutput_ene_l_e, //output e Word16 *pOutput_ene_r_e //output e Word32 *pOutput_grid //output in the same Q-format as input ); /*---------------------------------------------------------------------------------* * Shoebox Prototypes Loading