Commit e0deab8e authored by multrus's avatar multrus
Browse files

basop issue 2593: revise initialization of hItd->E_band_n

parent ce3749b6
Loading
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -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 ################################## */

+2 −0
Original line number Diff line number Diff line
@@ -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
+6 −2
Original line number Diff line number Diff line
@@ -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


@@ -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;
+8 −0
Original line number Diff line number Diff line
@@ -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];
@@ -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 )