Loading lib_com/options.h +1 −0 Original line number Diff line number Diff line Loading @@ -112,6 +112,7 @@ #define HARMONIZE_2553_TonalConceal_Init /* FhG: Harmonize TonalMDCTConceal_Init with its ivas derivate */ #define HARMONIZE_2553_TonalConceal_SaveFreqSignal /* FhG: Harmonize TonalConceal_SaveFreqSignal with its ivas derivate */ #define HARMONIZE_2553_TonalConceal_SaveTimeSignal /* FhG: Harmonize TonalConceal_SaveTimeSignal with its ivas derivate */ #define FIX_BASOP_2593_E_BAND_N_INIT /* FhG: basop issue 2593: revise initialization of hItd->E_band_n */ /* #################### End BE switches ################################## */ Loading lib_enc/ivas_stat_enc.h +2 −0 Original line number Diff line number Diff line Loading @@ -88,8 +88,10 @@ typedef struct stereo_itd_data_struct Word16 prev_sum_nrg_L_lb_fx_e; Word32 prev_xcorr_lb_fx[STEREO_DFT_XCORR_LB_MAX]; Word16 prev_xcorr_lb_fx_e; #ifndef FIX_BASOP_2593_E_BAND_N_INIT Word32 E_band_n_fx[STEREO_DFT_ITD_VAD_BAND_NUM]; /*E_band_n_exp*/ Word16 E_band_n_exp[STEREO_DFT_ITD_VAD_BAND_NUM]; #endif Word32 xcorr_smooth_fx[STEREO_DFT_N_32k_ENC]; Word16 xcorr_smooth_fx_e[STEREO_DFT_N_32k_ENC]; Word32 lp_phat_peak_fx; /* low-pass GCC PHAT peak value */ // Q31 Loading lib_enc/ivas_stereo_dft_enc_fx.c +6 −2 Original line number Diff line number Diff line Loading @@ -49,7 +49,9 @@ #define STEREO_DFT_NRG_PAST_MAX_BAND 9 #define STEREO_DFT_NRG_PAST_MAX_BAND_LB 4 #define STEREO_DFT_DMX_CROSSOVER 211 /* crossover bin between binwise and bandwise DMX, ( 132 * ( (float) ( STEREO_DFT_N_NS_ENC ) / STEREO_DFT_N_NS ) + 0.5f ) */ #ifndef FIX_BASOP_2593_E_BAND_N_INIT #define ITD_VAD_E_BAND_N_INIT 200000 #endif #define ITD_SID_PREV_FRAMES 5 Loading Loading @@ -758,8 +760,10 @@ void stereo_enc_itd_init_fx( set32_fx( hItd->prev_xcorr_lb_fx, 0, STEREO_DFT_XCORR_LB_MAX ); hItd->prev_xcorr_lb_fx_e = 0; move16(); #ifndef FIX_BASOP_2593_E_BAND_N_INIT set32_fx( hItd->E_band_n_fx, ITD_VAD_E_BAND_N_INIT, STEREO_DFT_ITD_VAD_BAND_NUM ); set16_fx( hItd->E_band_n_exp, Q31, STEREO_DFT_ITD_VAD_BAND_NUM ); #endif hItd->vad_frm_cnt = 0; move16(); hItd->pre_vad = 0; Loading lib_enc/ivas_stereo_dft_enc_itd_fx.c +8 −0 Original line number Diff line number Diff line Loading @@ -931,6 +931,10 @@ void stereo_dft_enc_compute_itd_fx( Word16 num_cor_e, den_cor_cur_e, den_cor_prev_e /*, cor_lb_avrg_e*/; Word32 cor_lb[XCORR_LB_NUM_BANDS]; Word16 cor_lb_e[XCORR_LB_NUM_BANDS]; #ifdef FIX_BASOP_2593_E_BAND_N_INIT Word32 E_band_n_fx[STEREO_DFT_ITD_VAD_BAND_NUM]; /*E_band_n_exp*/ Word16 E_band_n_exp[STEREO_DFT_ITD_VAD_BAND_NUM]; #endif Word32 Spd_L[STEREO_DFT_N_32k_ENC / 2 + 1]; Word16 Spd_L_e[STEREO_DFT_N_32k_ENC / 2 + 1]; Word32 Spd_R[STEREO_DFT_N_32k_ENC / 2 + 1]; Loading Loading @@ -1446,7 +1450,11 @@ void stereo_dft_enc_compute_itd_fx( } // L_temp = sum2_32_fx( &Spd_L[1], 11, &L_temp_e ); sum_nrg_L_lb = BASOP_Util_Add_Mant32Exp( sum_nrg_L_lb, sum_nrg_L_lb_e, L_temp, L_temp_e, &sum_nrg_L_lb_e ); #ifdef FIX_BASOP_2593_E_BAND_N_INIT vad_flag_itd = stereo_dft_enc_itd_vad_fx( E_band_n_fx, E_band_n_exp, &( hItd->vad_frm_cnt ), Spd_L, Spd_L_e, Spd_R, Spd_R_e, &mssnr, &mssnr_e ); #else vad_flag_itd = stereo_dft_enc_itd_vad_fx( hItd->E_band_n_fx, hItd->E_band_n_exp, &( hItd->vad_frm_cnt ), Spd_L, Spd_L_e, Spd_R, Spd_R_e, &mssnr, &mssnr_e ); #endif vad_flag_itd = vad_flag_itd && vad_flag_dtx[0]; // if ( sum_nrg_L < EPSILON ) Loading Loading
lib_com/options.h +1 −0 Original line number Diff line number Diff line Loading @@ -112,6 +112,7 @@ #define HARMONIZE_2553_TonalConceal_Init /* FhG: Harmonize TonalMDCTConceal_Init with its ivas derivate */ #define HARMONIZE_2553_TonalConceal_SaveFreqSignal /* FhG: Harmonize TonalConceal_SaveFreqSignal with its ivas derivate */ #define HARMONIZE_2553_TonalConceal_SaveTimeSignal /* FhG: Harmonize TonalConceal_SaveTimeSignal with its ivas derivate */ #define FIX_BASOP_2593_E_BAND_N_INIT /* FhG: basop issue 2593: revise initialization of hItd->E_band_n */ /* #################### End BE switches ################################## */ Loading
lib_enc/ivas_stat_enc.h +2 −0 Original line number Diff line number Diff line Loading @@ -88,8 +88,10 @@ typedef struct stereo_itd_data_struct Word16 prev_sum_nrg_L_lb_fx_e; Word32 prev_xcorr_lb_fx[STEREO_DFT_XCORR_LB_MAX]; Word16 prev_xcorr_lb_fx_e; #ifndef FIX_BASOP_2593_E_BAND_N_INIT Word32 E_band_n_fx[STEREO_DFT_ITD_VAD_BAND_NUM]; /*E_band_n_exp*/ Word16 E_band_n_exp[STEREO_DFT_ITD_VAD_BAND_NUM]; #endif Word32 xcorr_smooth_fx[STEREO_DFT_N_32k_ENC]; Word16 xcorr_smooth_fx_e[STEREO_DFT_N_32k_ENC]; Word32 lp_phat_peak_fx; /* low-pass GCC PHAT peak value */ // Q31 Loading
lib_enc/ivas_stereo_dft_enc_fx.c +6 −2 Original line number Diff line number Diff line Loading @@ -49,7 +49,9 @@ #define STEREO_DFT_NRG_PAST_MAX_BAND 9 #define STEREO_DFT_NRG_PAST_MAX_BAND_LB 4 #define STEREO_DFT_DMX_CROSSOVER 211 /* crossover bin between binwise and bandwise DMX, ( 132 * ( (float) ( STEREO_DFT_N_NS_ENC ) / STEREO_DFT_N_NS ) + 0.5f ) */ #ifndef FIX_BASOP_2593_E_BAND_N_INIT #define ITD_VAD_E_BAND_N_INIT 200000 #endif #define ITD_SID_PREV_FRAMES 5 Loading Loading @@ -758,8 +760,10 @@ void stereo_enc_itd_init_fx( set32_fx( hItd->prev_xcorr_lb_fx, 0, STEREO_DFT_XCORR_LB_MAX ); hItd->prev_xcorr_lb_fx_e = 0; move16(); #ifndef FIX_BASOP_2593_E_BAND_N_INIT set32_fx( hItd->E_band_n_fx, ITD_VAD_E_BAND_N_INIT, STEREO_DFT_ITD_VAD_BAND_NUM ); set16_fx( hItd->E_band_n_exp, Q31, STEREO_DFT_ITD_VAD_BAND_NUM ); #endif hItd->vad_frm_cnt = 0; move16(); hItd->pre_vad = 0; Loading
lib_enc/ivas_stereo_dft_enc_itd_fx.c +8 −0 Original line number Diff line number Diff line Loading @@ -931,6 +931,10 @@ void stereo_dft_enc_compute_itd_fx( Word16 num_cor_e, den_cor_cur_e, den_cor_prev_e /*, cor_lb_avrg_e*/; Word32 cor_lb[XCORR_LB_NUM_BANDS]; Word16 cor_lb_e[XCORR_LB_NUM_BANDS]; #ifdef FIX_BASOP_2593_E_BAND_N_INIT Word32 E_band_n_fx[STEREO_DFT_ITD_VAD_BAND_NUM]; /*E_band_n_exp*/ Word16 E_band_n_exp[STEREO_DFT_ITD_VAD_BAND_NUM]; #endif Word32 Spd_L[STEREO_DFT_N_32k_ENC / 2 + 1]; Word16 Spd_L_e[STEREO_DFT_N_32k_ENC / 2 + 1]; Word32 Spd_R[STEREO_DFT_N_32k_ENC / 2 + 1]; Loading Loading @@ -1446,7 +1450,11 @@ void stereo_dft_enc_compute_itd_fx( } // L_temp = sum2_32_fx( &Spd_L[1], 11, &L_temp_e ); sum_nrg_L_lb = BASOP_Util_Add_Mant32Exp( sum_nrg_L_lb, sum_nrg_L_lb_e, L_temp, L_temp_e, &sum_nrg_L_lb_e ); #ifdef FIX_BASOP_2593_E_BAND_N_INIT vad_flag_itd = stereo_dft_enc_itd_vad_fx( E_band_n_fx, E_band_n_exp, &( hItd->vad_frm_cnt ), Spd_L, Spd_L_e, Spd_R, Spd_R_e, &mssnr, &mssnr_e ); #else vad_flag_itd = stereo_dft_enc_itd_vad_fx( hItd->E_band_n_fx, hItd->E_band_n_exp, &( hItd->vad_frm_cnt ), Spd_L, Spd_L_e, Spd_R, Spd_R_e, &mssnr, &mssnr_e ); #endif vad_flag_itd = vad_flag_itd && vad_flag_dtx[0]; // if ( sum_nrg_L < EPSILON ) Loading