From 69ada326bca5eba13ed35324c958e2e7ae343cac Mon Sep 17 00:00:00 2001 From: vaclav Date: Thu, 30 May 2024 13:49:00 +0200 Subject: [PATCH 1/8] fix issue 1110: fix encoder crash in the stereo DTX bitrate switching condition; under NONBE_FIX_1110_STEREO_DTX_BRATE_SWITCHING --- lib_com/options.h | 2 ++ lib_dec/acelp_core_dec.c | 4 ++++ lib_dec/ivas_stereo_switching_dec.c | 11 +++++++++++ lib_enc/ivas_stereo_switching_enc.c | 11 +++++++++++ 4 files changed, 28 insertions(+) diff --git a/lib_com/options.h b/lib_com/options.h index c0a4dfe8fc..c4b041a5be 100644 --- a/lib_com/options.h +++ b/lib_com/options.h @@ -192,6 +192,8 @@ #define NONBE_FIX_1091_PMC_LOW_SIGNAL_BURSTS /* FhG: fix for #1091, fix limit calculation for the regularized inverse of Kx to avoid bursts in very low signals */ #define NONBE_FIX_1074_NOBJ_SIGNAL_OMASA_LBR /* Nok: issue 1074 fixing number of objects signaling in OMASA low rate */ #define NONBE_FIX_1096_NAN_VALUES_IN_DIRAC_TO_STEREO /* FhG: avoid sidegain DFT-Stereo param to be larger than 1 when converting from Dirac parameters */ +#define NONBE_FIX_1110_STEREO_DTX_BRATE_SWITCHING /* VA: issue 1110: fix encoder crash in the stereo DTX bitrate switching condition */ + /* ##################### End NON-BE switches ########################### */ /* ################## End DEVELOPMENT switches ######################### */ diff --git a/lib_dec/acelp_core_dec.c b/lib_dec/acelp_core_dec.c index 02637caf2d..a1ea41894b 100644 --- a/lib_dec/acelp_core_dec.c +++ b/lib_dec/acelp_core_dec.c @@ -231,7 +231,11 @@ ivas_error acelp_core_dec( st->hGSCDec->Last_frame_ener = (float) MAX_32; } +#ifdef NONBE_FIX_1110_STEREO_DTX_BRATE_SWITCHING + if ( st->hFdCngDec != NULL && ( st->element_mode == IVAS_CPE_DFT || st->element_mode == IVAS_CPE_TD ) && ( st->last_core_brate == SID_2k40 || st->last_core_brate == FRAME_NO_DATA ) ) +#else if ( ( st->element_mode == IVAS_CPE_DFT || st->element_mode == IVAS_CPE_TD ) && ( st->last_core_brate == SID_2k40 || st->last_core_brate == FRAME_NO_DATA ) ) +#endif { set_zero( st->hFdCngDec->hFdCngCom->olapBufferSynth2, FFTLEN ); set_zero( hStereoCng->olapBufferSynth22, FFTLEN ); diff --git a/lib_dec/ivas_stereo_switching_dec.c b/lib_dec/ivas_stereo_switching_dec.c index 8bf4047f81..e2f4e42813 100644 --- a/lib_dec/ivas_stereo_switching_dec.c +++ b/lib_dec/ivas_stereo_switching_dec.c @@ -1580,6 +1580,17 @@ void stereo_switching_dec( sts[1]->hTcxDec->conceal_eof_gain = sts[0]->hTcxDec->conceal_eof_gain; } +#ifdef NONBE_FIX_1110_STEREO_DTX_BRATE_SWITCHING + /* In case of DTX in bitrate switching, there can happen that last_core_brate = 0/2400 from MDCT stereo CNG */ + if ( hCPE->element_mode == IVAS_CPE_TD && hCPE->last_element_mode != IVAS_CPE_TD ) + { + if ( sts[1]->last_core_brate == FRAME_NO_DATA || sts[1]->last_core_brate == SID_2k40 ) + { + sts[1]->last_core_brate = sts[0]->last_core_brate; + } + } +#endif + return; } diff --git a/lib_enc/ivas_stereo_switching_enc.c b/lib_enc/ivas_stereo_switching_enc.c index c15b7418f0..4c873b0375 100644 --- a/lib_enc/ivas_stereo_switching_enc.c +++ b/lib_enc/ivas_stereo_switching_enc.c @@ -832,5 +832,16 @@ void stereo_switching_enc( sts[1]->hTcxCfg->tcx_curr_overlap_mode = sts[0]->hTcxCfg->tcx_curr_overlap_mode; } +#ifdef NONBE_FIX_1110_STEREO_DTX_BRATE_SWITCHING + /* In case of DTX in bitrate switching, there can happen that last_core_brate = 0/2400 from MDCT stereo CNG */ + if ( sts[0]->Opt_DTX_ON && hCPE->element_mode == IVAS_CPE_TD && hCPE->last_element_mode != IVAS_CPE_TD ) + { + if ( sts[1]->last_core_brate == FRAME_NO_DATA || sts[1]->last_core_brate == SID_2k40 ) + { + sts[1]->last_core_brate = sts[0]->last_core_brate; + } + } +#endif + return; } -- GitLab From 8e62df924e3dfa90f6b794a6e37aa13cb8cc6ed4 Mon Sep 17 00:00:00 2001 From: malenov Date: Mon, 3 Jun 2024 13:40:57 +0200 Subject: [PATCH 2/8] re-initialize stereo CNA after MDCT frames --- lib_dec/ivas_stereo_cng_dec.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/lib_dec/ivas_stereo_cng_dec.c b/lib_dec/ivas_stereo_cng_dec.c index aad8bad5b3..0f0ff9d7aa 100644 --- a/lib_dec/ivas_stereo_cng_dec.c +++ b/lib_dec/ivas_stereo_cng_dec.c @@ -923,6 +923,10 @@ void stereo_cna_update_params( } else { +#ifdef NONBE_FIX_1110_STEREO_DTX_BRATE_SWITCHING + hFdCngDec->first_cna_noise_updated = 0; +#endif + return; } -- GitLab From bbd68d0661f5c880a29448f43a8c46a2bf562513 Mon Sep 17 00:00:00 2001 From: malenov Date: Tue, 11 Jun 2024 14:34:20 +0200 Subject: [PATCH 3/8] do not restrict the fix to MDCT stereo only --- lib_dec/ivas_stereo_switching_dec.c | 23 ++++++++++++++--------- lib_enc/ivas_stereo_switching_enc.c | 24 ++++++++++++++---------- 2 files changed, 28 insertions(+), 19 deletions(-) diff --git a/lib_dec/ivas_stereo_switching_dec.c b/lib_dec/ivas_stereo_switching_dec.c index e2f4e42813..2c888f9518 100644 --- a/lib_dec/ivas_stereo_switching_dec.c +++ b/lib_dec/ivas_stereo_switching_dec.c @@ -1551,6 +1551,11 @@ void stereo_switching_dec( mvr2r( sts[0]->old_exc, sts[1]->old_exc, L_EXC_MEM_DEC ); mvr2r( sts[0]->lsf_old, sts[1]->lsf_old, M ); mvr2r( sts[0]->lsp_old, sts[1]->lsp_old, M ); + +#ifdef NONBE_FIX_1110_STEREO_DTX_BRATE_SWITCHING + sts[1]->last_core_brate = sts[0]->last_core_brate; +#endif + if ( hCPE->element_mode == IVAS_CPE_MDCT ) { sts[1]->last_core = sts[0]->last_core; @@ -1580,16 +1585,16 @@ void stereo_switching_dec( sts[1]->hTcxDec->conceal_eof_gain = sts[0]->hTcxDec->conceal_eof_gain; } -#ifdef NONBE_FIX_1110_STEREO_DTX_BRATE_SWITCHING +//#ifdef NONBE_FIX_1110_STEREO_DTX_BRATE_SWITCHING /* In case of DTX in bitrate switching, there can happen that last_core_brate = 0/2400 from MDCT stereo CNG */ - if ( hCPE->element_mode == IVAS_CPE_TD && hCPE->last_element_mode != IVAS_CPE_TD ) - { - if ( sts[1]->last_core_brate == FRAME_NO_DATA || sts[1]->last_core_brate == SID_2k40 ) - { - sts[1]->last_core_brate = sts[0]->last_core_brate; - } - } -#endif + //if ( hCPE->element_mode == IVAS_CPE_TD && hCPE->last_element_mode != IVAS_CPE_TD ) + //{ + // if ( sts[1]->last_core_brate == FRAME_NO_DATA || sts[1]->last_core_brate == SID_2k40 ) + // { + // sts[1]->last_core_brate = sts[0]->last_core_brate; + // } + //} +//#endif return; } diff --git a/lib_enc/ivas_stereo_switching_enc.c b/lib_enc/ivas_stereo_switching_enc.c index 4c873b0375..a1f67738c1 100644 --- a/lib_enc/ivas_stereo_switching_enc.c +++ b/lib_enc/ivas_stereo_switching_enc.c @@ -801,6 +801,10 @@ void stereo_switching_enc( mvr2r( sts[0]->lsf_old1, sts[1]->lsf_old1, M ); mvr2r( sts[0]->lsp_old1, sts[1]->lsp_old1, M ); +#ifdef NONBE_FIX_1110_STEREO_DTX_BRATE_SWITCHING + sts[1]->last_core_brate = sts[0]->last_core_brate; +#endif + sts[1]->GSC_noisy_speech = 0; if ( hCPE->element_mode == IVAS_CPE_MDCT ) { @@ -832,16 +836,16 @@ void stereo_switching_enc( sts[1]->hTcxCfg->tcx_curr_overlap_mode = sts[0]->hTcxCfg->tcx_curr_overlap_mode; } -#ifdef NONBE_FIX_1110_STEREO_DTX_BRATE_SWITCHING - /* In case of DTX in bitrate switching, there can happen that last_core_brate = 0/2400 from MDCT stereo CNG */ - if ( sts[0]->Opt_DTX_ON && hCPE->element_mode == IVAS_CPE_TD && hCPE->last_element_mode != IVAS_CPE_TD ) - { - if ( sts[1]->last_core_brate == FRAME_NO_DATA || sts[1]->last_core_brate == SID_2k40 ) - { - sts[1]->last_core_brate = sts[0]->last_core_brate; - } - } -#endif +//#ifdef NONBE_FIX_1110_STEREO_DTX_BRATE_SWITCHING +// /* In case of DTX in bitrate switching, there can happen that last_core_brate = 0/2400 from MDCT stereo CNG */ +// if ( sts[0]->Opt_DTX_ON && hCPE->element_mode == IVAS_CPE_TD && hCPE->last_element_mode != IVAS_CPE_TD ) +// { +// if ( sts[1]->last_core_brate == FRAME_NO_DATA || sts[1]->last_core_brate == SID_2k40 ) +// { +// sts[1]->last_core_brate = sts[0]->last_core_brate; +// } +// } +//#endif return; } -- GitLab From 796665313a8cb755cd757365e37d5e38d8a4bb7d Mon Sep 17 00:00:00 2001 From: malenov Date: Tue, 11 Jun 2024 14:40:15 +0200 Subject: [PATCH 4/8] add #define to options.h --- .gitignore | 75 ++++++++++++++++++++++++++++++++ CMakeLists.txt | 4 +- lib_com/options.h | 2 + lib_dec/ivas_tcx_core_dec.c | 12 +++++ lib_enc/ivas_stereo_classifier.c | 19 ++++++++ lib_enc/ivas_stereo_dft_enc.c | 2 +- 6 files changed, 111 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index 32b5db376a..163a7f82ec 100644 --- a/.gitignore +++ b/.gitignore @@ -88,3 +88,78 @@ coan_out_* /scripts/mem_analysis_enc_STEREO_sw.csv /scripts/mem_analysis_enc_STEREO_16k4_DTX.csv *.pwv +/dcr_ism1 +/bwe_clicks_ism1 +/BWD_issue +/.ipynb_checkpoints +/scripts/.ipynb_checkpoints +/scripts/wmops_analysis +/scripts/wmops_analysis_new +/tcx_hq_problem_ism1 +/scripts/dly_error_profiles/dly_profile_19_.dat +/build.txt +/bit.64k +/bit.32k +/bit +/binaural_loudness.ipynb +/tmp.txt +/syn.wav +/syn.ref +/syn.64k.0.csv +/syn.64k +/syn.32k +/stvST32c_-stereo_32000_32.bit +/split_renderer_config_768_3dof_cldfbpc.txt +/split_out_sba_lcld_20ms_out.wav +/split_out_sba_lcld_20ms.pkt +/split_out_mc_lc3plus_20ms_out.wav +/split_out_mc_lc3plus_20ms.pkt +/run_ivas_codec.sh +/report.html +/report-junit.xm +/out.wav +/ltv48_1ISM.cut14.wav.0.csv +/ltv48_1ISM.cut14.pcm +/ltv48_1ISM.cut14.dec.pcm.0.csv +/ltv48_1ISM.cut14.64k.dec.pcm.0.csv +/ltv48_1ISM.cut14.64k.dec.pcm +/ltv48_1ISM.cut14.32k.dec.pcm +/IvasBuilder.txt +/ivas.192 +/ism_loudness_stv48_48kHz.md +/ism_loudness_stv48_32kHz.md +/ism_loudness_sel48_48kHz.md +/ism_loudness_old.xlsx +/ism_loudness_ltv48_ISM4.md +/ism_loudness_ltv48_ISM3.md +/ism_loudness_ltv48_ISM2.md +/ism_loudness_ltv48_ISM1.md +/ism_loudness_ltv48_48kHz.md +/ism_loudness.xlsx +/ism_loudness.py +/HOA2_to_BINAURAL_ROOM_REVERBNone_rend_config_combined_20msNone_0-1000_2-500_1-500.wav +/git_blame_string.sh +/get_license_table.py +/enc_out_mc.pkt +/enc_out.pkt +/cut_ism.py +/scripts/Vlad_mergeNewsletters.py +/scripts/Vlad_extract_max_num_ind.py +/scripts/tables_obj.txt +/scripts/tables_exe.txt +/scripts/requirements.txt +/scripts/parseNewsletterWmops.py +/scripts/output.xlsx +/scripts/functions_obj.txt +/scripts/functions_exe.txt +/scripts/dep_tree.txt +/scripts/cmplx_evs_in_ivas.xlsx +/scripts/bit +/scripts/binaural_loudness.ipynb +/scripts/config/Vlad_self_test_ltv.prm +/scripts/config/Vlad_self_test.prm +/scripts/config/Vlad_ci_linux_ltv.json +/scripts/config/Vlad_ci_linux.json +/cmake-build +/bit.fix +/syn diff --git a/CMakeLists.txt b/CMakeLists.txt index 17799f0db0..61cfcae7d6 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -74,14 +74,14 @@ if(UNIX) set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -fsanitize=address") elseif("${CLANG}" MATCHES "3" OR "${CLANG}" MATCHES "usan") # NOTE: keep in sync with list in Makefile - set(USAN_CHECKS_ENABLE + set(USAN_CHECKS_LIST undefined # Default checks # Extra checks float-divide-by-zero implicit-conversion local-bounds ) - list(JOIN USAN_CHECKS_ENABLE "," USAN_CHECKS_ENABLE) + string(JOIN , USAN_CHECKS_ENABLE ${USAN_CHECKS_LIST}) set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fsanitize=${USAN_CHECKS_ENABLE} -fsanitize-recover=${USAN_CHECKS_ENABLE}") set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -fsanitize=${USAN_CHECKS_ENABLE} -fsanitize-recover=${USAN_CHECKS_ENABLE}") diff --git a/lib_com/options.h b/lib_com/options.h index 886c5966e5..0e0f6193cc 100644 --- a/lib_com/options.h +++ b/lib_com/options.h @@ -172,6 +172,8 @@ #define NONBE_FIX_1070_USAN_SEGFAULT_MC_TO_BIN_BTSW_HEADROT /* fix 1070 USAN: nullptr-with-offset and Segfaults in 7_1_4 to BINAURAL and BINAURAL_ROOM_REVERB decoding with bitrate switching and head rotation*/ #define REVERT_ZERO_FLUSH_TRESH /* FhG: issue 1069: revert threshold value introduced with !1518 due to significant complexity increase*/ +#define NONBE_FIX_1110_STEREO_DTX_BRATE_SWITCHING /* VA: issue 1110: fix encoder crash in the stereo DTX bitrate switching condition */ + /* ##################### End NON-BE switches ########################### */ /* ################## End DEVELOPMENT switches ######################### */ diff --git a/lib_dec/ivas_tcx_core_dec.c b/lib_dec/ivas_tcx_core_dec.c index 70e3706dc1..135caee1a7 100644 --- a/lib_dec/ivas_tcx_core_dec.c +++ b/lib_dec/ivas_tcx_core_dec.c @@ -514,6 +514,18 @@ void stereo_tcx_core_dec( } } +#ifdef DEBUG_MODE_TCX + { + int16_t tmp[L_FRAME48k]; + + for ( i = 0; i < st->L_frame; i++ ) + { + tmp[i] = ( int16_t )( synth[i] + 0.5f ); + } + dbgwrite( tmp, sizeof( int16_t ), st->L_frame, 1, "./res/stereo_tcx_dec_synth.pcm" ); + } +#endif + /*--------------------------------------------------------------------------------* * Post-processing *--------------------------------------------------------------------------------*/ diff --git a/lib_enc/ivas_stereo_classifier.c b/lib_enc/ivas_stereo_classifier.c index 60997fd27a..e1f40f7097 100644 --- a/lib_enc/ivas_stereo_classifier.c +++ b/lib_enc/ivas_stereo_classifier.c @@ -802,6 +802,14 @@ void xtalk_classifier_td( minimum( hStereoClassif->xtalk_score_buf, XTALK_SCORE_BUF_LEN, &scr_min ); maximum( hStereoClassif->xtalk_score_buf, XTALK_SCORE_BUF_LEN, &scr_max ); +#ifdef DEBUG_MODE_TD + edge_type = 0; + edge_detect( hStereoClassif->xtalk_score_buf, XTALK_SCORE_BUF_LEN, -0.2f, 1.0f, &edge, &edge_type ); + edge_0_1 = lin_interp( 1 - edge, 1.0f, 1.0f, 0.6f, 0.0f, 1 ); + dbgwrite( &score, sizeof( float ), 1, 1, "res/score.x" ); + dbgwrite( &edge_0_1, sizeof( float ), 1, 1, "res/edge_0_1.x" ); +#endif + if ( ( ( scr_min < 0.0f && scr_max > 0.2f ) || ( scr_max - scr_min > 0.5f ) ) ) { /* test rising edge (use 0 as edge_type because of newer->older buffer samples ordering) */ @@ -823,6 +831,8 @@ void xtalk_classifier_td( edge_0_1 = 0.0f; } + + /* weight raw score based on rising edge detector */ wedge = lin_interp( edge_0_1, 0.0f, 0.9f, 1.0f, 0.5f, 1 ); @@ -974,6 +984,13 @@ void xtalk_classifier_dft( minimum( hStereoClassif->xtalk_score_buf, XTALK_SCORE_BUF_LEN, &scr_min ); maximum( hStereoClassif->xtalk_score_buf, XTALK_SCORE_BUF_LEN, &scr_max ); +#ifdef DEBUG_MODE_TD + edge = redge_detect( hStereoClassif->xtalk_score_buf, XTALK_SCORE_BUF_LEN, -0.2f, 1.0f ); + edge_0_1 = lin_interp( 1 - edge, 1.0f, 1.0f, 0.83f, 0.0f, 1 ); + dbgwrite( &score, sizeof( float ), 1, 1, "res/score.x" ); + dbgwrite( &edge_0_1, sizeof( float ), 1, 1, "res/edge_0_1.x" ); +#endif + if ( scr_min < 0.2f && scr_max > 0.0f ) { edge = redge_detect( hStereoClassif->xtalk_score_buf, XTALK_SCORE_BUF_LEN, -0.2f, 1.0f ); @@ -984,6 +1001,8 @@ void xtalk_classifier_dft( edge_0_1 = 0.0f; } + + /* weight raw score based on rising edge detector */ wedge = lin_interp( edge_0_1, 0.0f, 0.95f, 1.0f, 0.3f, 1 ); hStereoClassif->xtalk_wscore = wedge * hStereoClassif->xtalk_wscore + ( 1 - wedge ) * score; diff --git a/lib_enc/ivas_stereo_dft_enc.c b/lib_enc/ivas_stereo_dft_enc.c index 4c6dd483e1..c527b70396 100755 --- a/lib_enc/ivas_stereo_dft_enc.c +++ b/lib_enc/ivas_stereo_dft_enc.c @@ -3297,7 +3297,7 @@ static float stereo_dft_calc_mean_ipd_change( ipd_mean_change /= gipd_band_max; #ifdef DEBUG_MODE_DFT - dbgwrite( ipd_change, sizeof( float ), hStereoDft->gipd_band_max, 1, "res/stereo_dft_ipd_change.pcm" ); + //dbgwrite( ipd_change, sizeof( float ), hStereoDft->gipd_band_max, 1, "res/stereo_dft_ipd_change.pcm" ); dbgwrite( &ipd_mean_change, sizeof( float ), 1, 1, "res/stereo_dft_ipd_mean_change.pcm" ); #endif -- GitLab From 989db2c9b5ae9a42b595b912d3b3a5725265a500 Mon Sep 17 00:00:00 2001 From: malenov Date: Tue, 11 Jun 2024 15:35:38 +0200 Subject: [PATCH 5/8] fix one more instance where sts[1]->last_core_brate is used --- lib_enc/acelp_core_enc.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/lib_enc/acelp_core_enc.c b/lib_enc/acelp_core_enc.c index 1a9c969b58..eca6e6d71c 100644 --- a/lib_enc/acelp_core_enc.c +++ b/lib_enc/acelp_core_enc.c @@ -379,7 +379,11 @@ ivas_error acelp_core_enc( * After inactive period, use the most up-to-date ISPs *-----------------------------------------------------------------*/ +#ifdef NONBE_FIX_1110_STEREO_DTX_BRATE_SWITCHING + if ( st->hDtxEnc != NULL && ( st->last_core_brate == FRAME_NO_DATA || st->last_core_brate == SID_2k40 ) ) +#else if ( st->last_core_brate == FRAME_NO_DATA || st->last_core_brate == SID_2k40 ) +#endif { mvr2r( st->hDtxEnc->lspCNG, st->lsp_old, M ); lsp2lsf( st->hDtxEnc->lspCNG, st->lsf_old, M, int_fs ); -- GitLab From 415adc7f108cc10980a4012a084ba3685e3b68c9 Mon Sep 17 00:00:00 2001 From: malenov Date: Thu, 13 Jun 2024 12:23:23 +0200 Subject: [PATCH 6/8] cleanup --- lib_dec/ivas_stereo_switching_dec.c | 11 ----------- lib_enc/ivas_stereo_switching_enc.c | 11 ----------- 2 files changed, 22 deletions(-) diff --git a/lib_dec/ivas_stereo_switching_dec.c b/lib_dec/ivas_stereo_switching_dec.c index 2c888f9518..6444378280 100644 --- a/lib_dec/ivas_stereo_switching_dec.c +++ b/lib_dec/ivas_stereo_switching_dec.c @@ -1585,17 +1585,6 @@ void stereo_switching_dec( sts[1]->hTcxDec->conceal_eof_gain = sts[0]->hTcxDec->conceal_eof_gain; } -//#ifdef NONBE_FIX_1110_STEREO_DTX_BRATE_SWITCHING - /* In case of DTX in bitrate switching, there can happen that last_core_brate = 0/2400 from MDCT stereo CNG */ - //if ( hCPE->element_mode == IVAS_CPE_TD && hCPE->last_element_mode != IVAS_CPE_TD ) - //{ - // if ( sts[1]->last_core_brate == FRAME_NO_DATA || sts[1]->last_core_brate == SID_2k40 ) - // { - // sts[1]->last_core_brate = sts[0]->last_core_brate; - // } - //} -//#endif - return; } diff --git a/lib_enc/ivas_stereo_switching_enc.c b/lib_enc/ivas_stereo_switching_enc.c index a1f67738c1..0c883721eb 100644 --- a/lib_enc/ivas_stereo_switching_enc.c +++ b/lib_enc/ivas_stereo_switching_enc.c @@ -836,16 +836,5 @@ void stereo_switching_enc( sts[1]->hTcxCfg->tcx_curr_overlap_mode = sts[0]->hTcxCfg->tcx_curr_overlap_mode; } -//#ifdef NONBE_FIX_1110_STEREO_DTX_BRATE_SWITCHING -// /* In case of DTX in bitrate switching, there can happen that last_core_brate = 0/2400 from MDCT stereo CNG */ -// if ( sts[0]->Opt_DTX_ON && hCPE->element_mode == IVAS_CPE_TD && hCPE->last_element_mode != IVAS_CPE_TD ) -// { -// if ( sts[1]->last_core_brate == FRAME_NO_DATA || sts[1]->last_core_brate == SID_2k40 ) -// { -// sts[1]->last_core_brate = sts[0]->last_core_brate; -// } -// } -//#endif - return; } -- GitLab From f67313c63d14ee4c4eccb5176fa7995cd4111256 Mon Sep 17 00:00:00 2001 From: malenov Date: Thu, 13 Jun 2024 12:42:15 +0200 Subject: [PATCH 7/8] clang format --- lib_dec/ivas_tcx_core_dec.c | 2 +- lib_enc/ivas_stereo_classifier.c | 2 -- 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/lib_dec/ivas_tcx_core_dec.c b/lib_dec/ivas_tcx_core_dec.c index 135caee1a7..2efb3ff1c4 100644 --- a/lib_dec/ivas_tcx_core_dec.c +++ b/lib_dec/ivas_tcx_core_dec.c @@ -520,7 +520,7 @@ void stereo_tcx_core_dec( for ( i = 0; i < st->L_frame; i++ ) { - tmp[i] = ( int16_t )( synth[i] + 0.5f ); + tmp[i] = (int16_t) ( synth[i] + 0.5f ); } dbgwrite( tmp, sizeof( int16_t ), st->L_frame, 1, "./res/stereo_tcx_dec_synth.pcm" ); } diff --git a/lib_enc/ivas_stereo_classifier.c b/lib_enc/ivas_stereo_classifier.c index e1f40f7097..55ceb014be 100644 --- a/lib_enc/ivas_stereo_classifier.c +++ b/lib_enc/ivas_stereo_classifier.c @@ -832,7 +832,6 @@ void xtalk_classifier_td( } - /* weight raw score based on rising edge detector */ wedge = lin_interp( edge_0_1, 0.0f, 0.9f, 1.0f, 0.5f, 1 ); @@ -1002,7 +1001,6 @@ void xtalk_classifier_dft( } - /* weight raw score based on rising edge detector */ wedge = lin_interp( edge_0_1, 0.0f, 0.95f, 1.0f, 0.3f, 1 ); hStereoClassif->xtalk_wscore = wedge * hStereoClassif->xtalk_wscore + ( 1 - wedge ) * score; -- GitLab From ee4b3457af6903b97ed9b1910221a9121b635267 Mon Sep 17 00:00:00 2001 From: malenov Date: Thu, 13 Jun 2024 13:19:34 +0200 Subject: [PATCH 8/8] clang format --- lib_enc/ivas_stereo_dft_enc.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib_enc/ivas_stereo_dft_enc.c b/lib_enc/ivas_stereo_dft_enc.c index c527b70396..4c6dd483e1 100755 --- a/lib_enc/ivas_stereo_dft_enc.c +++ b/lib_enc/ivas_stereo_dft_enc.c @@ -3297,7 +3297,7 @@ static float stereo_dft_calc_mean_ipd_change( ipd_mean_change /= gipd_band_max; #ifdef DEBUG_MODE_DFT - //dbgwrite( ipd_change, sizeof( float ), hStereoDft->gipd_band_max, 1, "res/stereo_dft_ipd_change.pcm" ); + dbgwrite( ipd_change, sizeof( float ), hStereoDft->gipd_band_max, 1, "res/stereo_dft_ipd_change.pcm" ); dbgwrite( &ipd_mean_change, sizeof( float ), 1, 1, "res/stereo_dft_ipd_mean_change.pcm" ); #endif -- GitLab