Loading lib_com/ivas_prot.h +4 −0 Original line number Diff line number Diff line Loading @@ -1559,6 +1559,10 @@ int16_t read_BS_adapt_GR_sg( void stereo_dft_hybrid_ITD_flag( STEREO_DFT_CONFIG_DATA_HANDLE hConfig, /* o : DFT stereo configuration */ const int32_t input_Fs /* i : CPE element sampling rate */ #ifdef HYBRID_ITD_MAX , const int16_t hybrid_itd_max /* i : flag for hybrid ITD for very large ITDs */ #endif ); void stereo_dft_enc_compute_itd( Loading lib_com/options.h +3 −0 Original line number Diff line number Diff line Loading @@ -218,6 +218,9 @@ #define FIX_DIRAC_LS_SYNTHESIS_CONFIG_479 /* FhG: fix for issue 479, broken LS output with DirAC at high BRs */ #define HYBRID_ITD_MAX /* FhG: Improvement for DFT-stereo for cases with large ITDs */ /* ################## End DEVELOPMENT switches ######################### */ /* clang-format on */ Loading lib_enc/ivas_cpe_enc.c +6 −1 Original line number Diff line number Diff line Loading @@ -333,7 +333,12 @@ ivas_error ivas_cpe_enc( if ( hCPE->element_mode == IVAS_CPE_DFT ) { stereo_dft_hybrid_ITD_flag( hCPE->hStereoDft->hConfig, input_Fs ); stereo_dft_hybrid_ITD_flag( hCPE->hStereoDft->hConfig, input_Fs #ifdef HYBRID_ITD_MAX , hCPE->hStereoDft->hItd->hybrid_itd_max #endif ); /* Time Domain ITD compensation using extrapolation */ #ifdef DEBUG_MODE_DFT Loading lib_enc/ivas_stat_enc.h +4 −0 Original line number Diff line number Diff line Loading @@ -81,6 +81,10 @@ typedef struct stereo_itd_data_struct int16_t prev_itd1; int16_t prev_itd2; #ifdef HYBRID_ITD_MAX /*flag for hybrid ITD for very large ITDs*/ int16_t hybrid_itd_max; #endif } ITD_DATA, *ITD_DATA_HANDLE; typedef struct dft_ana_struct Loading lib_enc/ivas_stereo_dft_enc.c +11 −1 Original line number Diff line number Diff line Loading @@ -294,9 +294,16 @@ ivas_error stereo_dft_enc_create( hStereoDft_loc->hConfig->force_mono_transmission = 0; stereo_dft_config( hStereoDft_loc->hConfig, IVAS_24k4, &tmpS, &tmpS ); stereo_dft_hybrid_ITD_flag( hStereoDft_loc->hConfig, input_Fs ); stereo_dft_enc_open( hStereoDft_loc, input_Fs, max_bwidth ); stereo_dft_hybrid_ITD_flag( hStereoDft_loc->hConfig, input_Fs #ifdef HYBRID_ITD_MAX , hStereoDft_loc->hItd->hybrid_itd_max #endif ); *hStereoDft = hStereoDft_loc; return IVAS_ERR_OK; Loading Loading @@ -560,6 +567,9 @@ void stereo_enc_itd_init( hItd->prev_itd1 = 0; hItd->prev_itd2 = 0; #ifdef HYBRID_ITD_MAX hItd->hybrid_itd_max = 0; #endif return; } Loading Loading
lib_com/ivas_prot.h +4 −0 Original line number Diff line number Diff line Loading @@ -1559,6 +1559,10 @@ int16_t read_BS_adapt_GR_sg( void stereo_dft_hybrid_ITD_flag( STEREO_DFT_CONFIG_DATA_HANDLE hConfig, /* o : DFT stereo configuration */ const int32_t input_Fs /* i : CPE element sampling rate */ #ifdef HYBRID_ITD_MAX , const int16_t hybrid_itd_max /* i : flag for hybrid ITD for very large ITDs */ #endif ); void stereo_dft_enc_compute_itd( Loading
lib_com/options.h +3 −0 Original line number Diff line number Diff line Loading @@ -218,6 +218,9 @@ #define FIX_DIRAC_LS_SYNTHESIS_CONFIG_479 /* FhG: fix for issue 479, broken LS output with DirAC at high BRs */ #define HYBRID_ITD_MAX /* FhG: Improvement for DFT-stereo for cases with large ITDs */ /* ################## End DEVELOPMENT switches ######################### */ /* clang-format on */ Loading
lib_enc/ivas_cpe_enc.c +6 −1 Original line number Diff line number Diff line Loading @@ -333,7 +333,12 @@ ivas_error ivas_cpe_enc( if ( hCPE->element_mode == IVAS_CPE_DFT ) { stereo_dft_hybrid_ITD_flag( hCPE->hStereoDft->hConfig, input_Fs ); stereo_dft_hybrid_ITD_flag( hCPE->hStereoDft->hConfig, input_Fs #ifdef HYBRID_ITD_MAX , hCPE->hStereoDft->hItd->hybrid_itd_max #endif ); /* Time Domain ITD compensation using extrapolation */ #ifdef DEBUG_MODE_DFT Loading
lib_enc/ivas_stat_enc.h +4 −0 Original line number Diff line number Diff line Loading @@ -81,6 +81,10 @@ typedef struct stereo_itd_data_struct int16_t prev_itd1; int16_t prev_itd2; #ifdef HYBRID_ITD_MAX /*flag for hybrid ITD for very large ITDs*/ int16_t hybrid_itd_max; #endif } ITD_DATA, *ITD_DATA_HANDLE; typedef struct dft_ana_struct Loading
lib_enc/ivas_stereo_dft_enc.c +11 −1 Original line number Diff line number Diff line Loading @@ -294,9 +294,16 @@ ivas_error stereo_dft_enc_create( hStereoDft_loc->hConfig->force_mono_transmission = 0; stereo_dft_config( hStereoDft_loc->hConfig, IVAS_24k4, &tmpS, &tmpS ); stereo_dft_hybrid_ITD_flag( hStereoDft_loc->hConfig, input_Fs ); stereo_dft_enc_open( hStereoDft_loc, input_Fs, max_bwidth ); stereo_dft_hybrid_ITD_flag( hStereoDft_loc->hConfig, input_Fs #ifdef HYBRID_ITD_MAX , hStereoDft_loc->hItd->hybrid_itd_max #endif ); *hStereoDft = hStereoDft_loc; return IVAS_ERR_OK; Loading Loading @@ -560,6 +567,9 @@ void stereo_enc_itd_init( hItd->prev_itd1 = 0; hItd->prev_itd2 = 0; #ifdef HYBRID_ITD_MAX hItd->hybrid_itd_max = 0; #endif return; } Loading