Commit 6eb051d0 authored by multrus's avatar multrus
Browse files

basop issue 2593: revise initialization of hItd->E_band_n

parent 91dbe989
Loading
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -168,6 +168,7 @@
#define FIX_2570_BUF_OVFL                               /* Orange: basop issue 2570: global-buffer-overflow in lib_rend/ivas_objectRenderer_sources_fx.c */
#define FIX_1594_TDM_LAST_RATIO                         /* VA: float issue 1594: remove obsolete argument 'tdm_last_ratio' from stereo_memory_enc () */
#define FIX_1550_WRONG_RENDER_FRAMESIZE_PRINTOUT        /* Dolby: float issue 1550: Wrong render framesize printout */
#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
@@ -58,7 +58,9 @@ typedef struct stereo_itd_data_struct
    int16_t itd_cnt;      /* Consecutive valid ITD counter */
    float prev_sum_nrg_L_lb;
    float prev_xcorr_lb[STEREO_DFT_XCORR_LB_MAX];
#ifndef FIX_BASOP_2593_E_BAND_N_INIT
    float E_band_n[STEREO_DFT_ITD_VAD_BAND_NUM];
#endif
    int16_t vad_frm_cnt;
    int16_t pre_vad;
    int16_t itd_nonzero_cnt;
+6 −2
Original line number Diff line number Diff line
@@ -61,7 +61,9 @@ static FILE *pF = NULL;
#define STEREO_DFT_NRG_PAST_MAX_BAND    9
#define STEREO_DFT_NRG_PAST_MAX_BAND_LB 4
#define STEREO_DFT_DMX_CROSSOVER        ( int16_t )( 132 * ( (float) ( STEREO_DFT_N_NS_ENC ) / STEREO_DFT_N_NS ) + 0.5f ) /* crossover bin between binwise and bandwise DMX */
#ifndef FIX_BASOP_2593_E_BAND_N_INIT
#define ITD_VAD_E_BAND_N_INIT 200000
#endif
#define ITD_SID_PREV_FRAMES 5


@@ -542,7 +544,9 @@ void stereo_enc_itd_init(
    hItd->itd_cnt = 0;
    hItd->prev_sum_nrg_L_lb = 0.f;
    set_zero( hItd->prev_xcorr_lb, STEREO_DFT_XCORR_LB_MAX );
#ifndef FIX_BASOP_2593_E_BAND_N_INIT
    set_f( hItd->E_band_n, (float) ITD_VAD_E_BAND_N_INIT, STEREO_DFT_ITD_VAD_BAND_NUM );
#endif
    hItd->vad_frm_cnt = 0;
    hItd->pre_vad = 0;
    hItd->itd_nonzero_cnt = 0;
+7 −0
Original line number Diff line number Diff line
@@ -625,6 +625,9 @@ void stereo_dft_enc_compute_itd(
    float xcorr_lb[STEREO_DFT_XCORR_LB_MAX];
    float num_cor, den_cor_cur, den_cor_prev, cor_lb_avrg;
    float cor_lb[XCORR_LB_NUM_BANDS];
#ifdef FIX_BASOP_2593_E_BAND_N_INIT
    float E_band_n[STEREO_DFT_ITD_VAD_BAND_NUM];
#endif
    float Spd_L[STEREO_DFT_N_32k_ENC / 2 + 1];
    float Spd_R[STEREO_DFT_N_32k_ENC / 2 + 1];
    int16_t vad_flag_itd;
@@ -815,7 +818,11 @@ void stereo_dft_enc_compute_itd(
    mvr2r( &Spd_L[1], &xcorr_lb[1], STEREO_DFT_XCORR_LB_MAX - 1 );
    sum_nrg_L_lb = sum_nrg_L_lb + sum_f( &Spd_L[1], 11 );

#ifdef FIX_BASOP_2593_E_BAND_N_INIT
    vad_flag_itd = stereo_dft_enc_itd_vad( E_band_n, &( hItd->vad_frm_cnt ), Spd_L, Spd_R, &mssnr );
#else
    vad_flag_itd = stereo_dft_enc_itd_vad( hItd->E_band_n, &( hItd->vad_frm_cnt ), Spd_L, Spd_R, &mssnr );
#endif

    vad_flag_itd = vad_flag_itd && vad_flag_dtx[0];