Loading lib_com/options.h +1 −0 Original line number Diff line number Diff line Loading @@ -214,6 +214,7 @@ #define FIX_549_PARAM_ISM_BIN_GAIN /* FhG: Issue 549 : fix too quiet binaural output in ParamISM */ #define FIX_618_STEREO_SW_DIV_BY_ZERO /* VA: fix issue 618 - UBSAN: division-by-zero in stereo bitrate switching */ #define FIX_625_IDX_OOB /* FhG: Fix index out-of-bounds UBSAN error (issue 625) */ #define FIX_613_DIRAC_NULL_PTR_USAN /* Nokia: Issue #613: USAN in DirAC decoder setup */ #define MASA_AND_OBJECTS /* Nokia: Combination of MASA and objects */ Loading lib_dec/ivas_stereo_ica_dec.c +0 −2 Original line number Diff line number Diff line Loading @@ -148,8 +148,6 @@ void stereo_tca_dec( prevNCShift = (int16_t) abs( hStereoTCA->prevCorrLagStats ); currentNCShift = (int16_t) abs( hStereoTCA->corrLagStats ); /* IVAS_fmToDo: QCTodo: Need to address [16, 32] kHz @ Encoder --> 48 kHz Decoder. 48kHz-->48kHz is ok */ /*target_idx = (hStereoTCA->refChanIndx == L_CH_INDX) ? R_CH_INDX : L_CH_INDX;*/ if ( hCPE->element_mode == IVAS_CPE_TD && hCPE->last_element_mode == IVAS_CPE_TD ) { Loading lib_dec/ivas_stereo_icbwe_dec.c +0 −7 Original line number Diff line number Diff line Loading @@ -312,12 +312,6 @@ void stereo_icBWE_dec( specMapping = hStereoICBWE->prevSpecMapping; gsMapping = hStereoICBWE->prevgsMapping; #ifdef QC_DBG_ICBWE dbgwrite( &hStereoICBWE->refChanIndx_bwe, 2, 1, 1, "refChanIndx_bwe_dec.pcm" ); dbgwrite( &specMapping, 4, 1, 1, "spMapping_dec.pcm" ); dbgwrite( &gsMapping, 4, 1, 1, "gsMapping_dec.pcm" ); #endif if ( ( st->extl == SWB_TBE || st->extl == FB_TBE ) && st->flag_ACELP16k == 1 ) { mvr2r( voice_factors, nlMixFac, NB_SUBFR16k ); Loading Loading @@ -739,7 +733,6 @@ void stereo_icBWE_decproc( { if ( hCPE->element_mode == IVAS_CPE_TD ) { /* QC: TODO - TBV */ v_add( output[0], hStereoICBWE->memOutHB[hStereoICBWE->prev_refChanIndx_bwe], output[0], memOffset ); v_add( output[1], hStereoICBWE->memOutHB[!hStereoICBWE->prev_refChanIndx_bwe], output[1], memOffset ); } Loading lib_enc/ivas_masa_enc.c +6 −1 Original line number Diff line number Diff line Loading @@ -3255,12 +3255,15 @@ static int16_t encode_ratio_ism_subframe( { int16_t b, b_signif; int16_t diff_idx[MAX_NUM_OBJECTS]; int16_t nbits, nbits0, nbits1, GR_order, GR_order_sb, bits_pos0; int16_t nbits, nbits0, nbits1, GR_order, GR_order_sb; int16_t differential_subframe; int16_t ratio_ism_idx_ref[MAX_NUM_OBJECTS]; int16_t bits_index; int16_t nbits00, nbits11; int16_t idx_sep_obj_local; #ifdef DEBUGGING int16_t bits_pos0; #endif idx_sep_obj_local = idx_separated_obj; if ( idx_separated_obj > -1 ) Loading @@ -3274,7 +3277,9 @@ static int16_t encode_ratio_ism_subframe( nbits0 = 0; nbits1 = 0; #ifdef DEBUGGING bits_pos0 = hMetaData->nb_bits_tot; #endif differential_subframe = 1; /* the differences are taken with respect to previous subframe */ /* first subframe */ Loading lib_enc/ivas_stereo_dft_enc_itd.c +10 −9 Original line number Diff line number Diff line Loading @@ -1063,11 +1063,11 @@ void stereo_dft_enc_compute_itd( hStereoClassif->unclr_fv[E_sum_xcorr] = sum_xcorr; hStereoClassif->xtalk_fv[E_sum_xcorr] = sum_xcorr; #ifdef DEBUG_STEREO_CLF dbgwrite( &hStereoClassif->unclr_fv[E_cohSNR], sizeof( float ), 1, 1, "res/cohSNR.x" ); dbgwrite( &hStereoClassif->unclr_fv[E_es_em], sizeof( float ), 1, 1, "res/es_em.x" ); dbgwrite( &hStereoClassif->unclr_fv[E_d_prodL_prodR], sizeof( float ), 1, 1, "res/d_prodL_prodR.x" ); dbgwrite( &hStereoClassif->unclr_fv[E_sum_xcorr], sizeof( float ), 1, 1, "res/sum_xcorr.x" ); #if defined( DEBUG_MODE_DFT ) || defined( DEBUG_MODE_TD ) dbgwrite( &hStereoClassif->unclr_fv[E_cohSNR], sizeof( float ), 1, 1, "res/stereo_clf_cohSNR.x" ); dbgwrite( &hStereoClassif->unclr_fv[E_es_em], sizeof( float ), 1, 1, "res/stereo_clf_es_em.x" ); dbgwrite( &hStereoClassif->unclr_fv[E_d_prodL_prodR], sizeof( float ), 1, 1, "res/stereo_clf_d_prodL_prodR.x" ); dbgwrite( &hStereoClassif->unclr_fv[E_sum_xcorr], sizeof( float ), 1, 1, "res/stereo_clf_sum_xcorr.x" ); #endif } Loading Loading @@ -1117,12 +1117,12 @@ void stereo_dft_enc_compute_itd( hStereoClassif->unclr_fv[E_xcorr_itd_value] = total_max; hStereoClassif->xtalk_fv[E_xcorr_itd_value] = total_max; #ifdef DEBUG_STEREO_CLF #if defined( DEBUG_MODE_DFT ) || defined( DEBUG_MODE_TD ) { int16_t stmp = index - STEREO_DFT_ITD_MAX_ANA; dbgwrite( &stmp, sizeof( int16_t ), 1, 1, "res/raw_itd.x" ); } dbgwrite( &hStereoClassif->unclr_fv[E_xcorr_itd_value], sizeof( float ), 1, 1, "res/xcorr_itd_value.x" ); dbgwrite( &hStereoClassif->unclr_fv[E_xcorr_itd_value], sizeof( float ), 1, 1, "res/stereo_clf_raw_itd.x" ); #endif #ifdef DEBUG_MODE_DFT Loading Loading @@ -1347,9 +1347,10 @@ void stereo_dft_enc_compute_itd( /* collect UNCLR classifier parameters */ hStereoClassif->unclr_fv[E_ITD] = hItd->itd[k_offset]; #ifdef DEBUG_STEREO_CLF dbgwrite( &hItd->itd[k_offset], sizeof( float ), 1, 1, "res/ITD.x" ); #if defined( DEBUG_MODE_DFT ) || defined( DEBUG_MODE_TD ) dbgwrite( &hItd->itd[k_offset], sizeof( float ), 1, 1, "res/stereo_clf_ITD.x" ); #endif /* limit ITD range for MDCT stereo even more */ if ( hCPE->element_mode == IVAS_CPE_MDCT && fabsf( hItd->itd[k_offset] ) > ITD_MAX_MDCT ) { Loading Loading
lib_com/options.h +1 −0 Original line number Diff line number Diff line Loading @@ -214,6 +214,7 @@ #define FIX_549_PARAM_ISM_BIN_GAIN /* FhG: Issue 549 : fix too quiet binaural output in ParamISM */ #define FIX_618_STEREO_SW_DIV_BY_ZERO /* VA: fix issue 618 - UBSAN: division-by-zero in stereo bitrate switching */ #define FIX_625_IDX_OOB /* FhG: Fix index out-of-bounds UBSAN error (issue 625) */ #define FIX_613_DIRAC_NULL_PTR_USAN /* Nokia: Issue #613: USAN in DirAC decoder setup */ #define MASA_AND_OBJECTS /* Nokia: Combination of MASA and objects */ Loading
lib_dec/ivas_stereo_ica_dec.c +0 −2 Original line number Diff line number Diff line Loading @@ -148,8 +148,6 @@ void stereo_tca_dec( prevNCShift = (int16_t) abs( hStereoTCA->prevCorrLagStats ); currentNCShift = (int16_t) abs( hStereoTCA->corrLagStats ); /* IVAS_fmToDo: QCTodo: Need to address [16, 32] kHz @ Encoder --> 48 kHz Decoder. 48kHz-->48kHz is ok */ /*target_idx = (hStereoTCA->refChanIndx == L_CH_INDX) ? R_CH_INDX : L_CH_INDX;*/ if ( hCPE->element_mode == IVAS_CPE_TD && hCPE->last_element_mode == IVAS_CPE_TD ) { Loading
lib_dec/ivas_stereo_icbwe_dec.c +0 −7 Original line number Diff line number Diff line Loading @@ -312,12 +312,6 @@ void stereo_icBWE_dec( specMapping = hStereoICBWE->prevSpecMapping; gsMapping = hStereoICBWE->prevgsMapping; #ifdef QC_DBG_ICBWE dbgwrite( &hStereoICBWE->refChanIndx_bwe, 2, 1, 1, "refChanIndx_bwe_dec.pcm" ); dbgwrite( &specMapping, 4, 1, 1, "spMapping_dec.pcm" ); dbgwrite( &gsMapping, 4, 1, 1, "gsMapping_dec.pcm" ); #endif if ( ( st->extl == SWB_TBE || st->extl == FB_TBE ) && st->flag_ACELP16k == 1 ) { mvr2r( voice_factors, nlMixFac, NB_SUBFR16k ); Loading Loading @@ -739,7 +733,6 @@ void stereo_icBWE_decproc( { if ( hCPE->element_mode == IVAS_CPE_TD ) { /* QC: TODO - TBV */ v_add( output[0], hStereoICBWE->memOutHB[hStereoICBWE->prev_refChanIndx_bwe], output[0], memOffset ); v_add( output[1], hStereoICBWE->memOutHB[!hStereoICBWE->prev_refChanIndx_bwe], output[1], memOffset ); } Loading
lib_enc/ivas_masa_enc.c +6 −1 Original line number Diff line number Diff line Loading @@ -3255,12 +3255,15 @@ static int16_t encode_ratio_ism_subframe( { int16_t b, b_signif; int16_t diff_idx[MAX_NUM_OBJECTS]; int16_t nbits, nbits0, nbits1, GR_order, GR_order_sb, bits_pos0; int16_t nbits, nbits0, nbits1, GR_order, GR_order_sb; int16_t differential_subframe; int16_t ratio_ism_idx_ref[MAX_NUM_OBJECTS]; int16_t bits_index; int16_t nbits00, nbits11; int16_t idx_sep_obj_local; #ifdef DEBUGGING int16_t bits_pos0; #endif idx_sep_obj_local = idx_separated_obj; if ( idx_separated_obj > -1 ) Loading @@ -3274,7 +3277,9 @@ static int16_t encode_ratio_ism_subframe( nbits0 = 0; nbits1 = 0; #ifdef DEBUGGING bits_pos0 = hMetaData->nb_bits_tot; #endif differential_subframe = 1; /* the differences are taken with respect to previous subframe */ /* first subframe */ Loading
lib_enc/ivas_stereo_dft_enc_itd.c +10 −9 Original line number Diff line number Diff line Loading @@ -1063,11 +1063,11 @@ void stereo_dft_enc_compute_itd( hStereoClassif->unclr_fv[E_sum_xcorr] = sum_xcorr; hStereoClassif->xtalk_fv[E_sum_xcorr] = sum_xcorr; #ifdef DEBUG_STEREO_CLF dbgwrite( &hStereoClassif->unclr_fv[E_cohSNR], sizeof( float ), 1, 1, "res/cohSNR.x" ); dbgwrite( &hStereoClassif->unclr_fv[E_es_em], sizeof( float ), 1, 1, "res/es_em.x" ); dbgwrite( &hStereoClassif->unclr_fv[E_d_prodL_prodR], sizeof( float ), 1, 1, "res/d_prodL_prodR.x" ); dbgwrite( &hStereoClassif->unclr_fv[E_sum_xcorr], sizeof( float ), 1, 1, "res/sum_xcorr.x" ); #if defined( DEBUG_MODE_DFT ) || defined( DEBUG_MODE_TD ) dbgwrite( &hStereoClassif->unclr_fv[E_cohSNR], sizeof( float ), 1, 1, "res/stereo_clf_cohSNR.x" ); dbgwrite( &hStereoClassif->unclr_fv[E_es_em], sizeof( float ), 1, 1, "res/stereo_clf_es_em.x" ); dbgwrite( &hStereoClassif->unclr_fv[E_d_prodL_prodR], sizeof( float ), 1, 1, "res/stereo_clf_d_prodL_prodR.x" ); dbgwrite( &hStereoClassif->unclr_fv[E_sum_xcorr], sizeof( float ), 1, 1, "res/stereo_clf_sum_xcorr.x" ); #endif } Loading Loading @@ -1117,12 +1117,12 @@ void stereo_dft_enc_compute_itd( hStereoClassif->unclr_fv[E_xcorr_itd_value] = total_max; hStereoClassif->xtalk_fv[E_xcorr_itd_value] = total_max; #ifdef DEBUG_STEREO_CLF #if defined( DEBUG_MODE_DFT ) || defined( DEBUG_MODE_TD ) { int16_t stmp = index - STEREO_DFT_ITD_MAX_ANA; dbgwrite( &stmp, sizeof( int16_t ), 1, 1, "res/raw_itd.x" ); } dbgwrite( &hStereoClassif->unclr_fv[E_xcorr_itd_value], sizeof( float ), 1, 1, "res/xcorr_itd_value.x" ); dbgwrite( &hStereoClassif->unclr_fv[E_xcorr_itd_value], sizeof( float ), 1, 1, "res/stereo_clf_raw_itd.x" ); #endif #ifdef DEBUG_MODE_DFT Loading Loading @@ -1347,9 +1347,10 @@ void stereo_dft_enc_compute_itd( /* collect UNCLR classifier parameters */ hStereoClassif->unclr_fv[E_ITD] = hItd->itd[k_offset]; #ifdef DEBUG_STEREO_CLF dbgwrite( &hItd->itd[k_offset], sizeof( float ), 1, 1, "res/ITD.x" ); #if defined( DEBUG_MODE_DFT ) || defined( DEBUG_MODE_TD ) dbgwrite( &hItd->itd[k_offset], sizeof( float ), 1, 1, "res/stereo_clf_ITD.x" ); #endif /* limit ITD range for MDCT stereo even more */ if ( hCPE->element_mode == IVAS_CPE_MDCT && fabsf( hItd->itd[k_offset] ) > ITD_MAX_MDCT ) { Loading