From 47fbbdc860a9f24e91d8916307eb4b28fb6c2a53 Mon Sep 17 00:00:00 2001 From: Fabian Bauer Date: Thu, 18 Jun 2026 10:53:41 +0200 Subject: [PATCH 01/12] HARMONIZE_2644_SOME_INITS_Stage1-8 : init_acelp_fx --- lib_com/options.h | 7 +++++ lib_enc/core_enc_init_fx.c | 54 ++++++++++++++++++++++++++++++++------ 2 files changed, 53 insertions(+), 8 deletions(-) diff --git a/lib_com/options.h b/lib_com/options.h index 64354c999..de79d7305 100644 --- a/lib_com/options.h +++ b/lib_com/options.h @@ -87,6 +87,13 @@ #define TMP_1342_WORKAROUND_DEC_FLUSH_BROKEN_IN_SR /* FhG: Temporary workaround for incorrect implementation of decoder flush with split rendering */ #define NONBE_1122_KEEP_EVS_MODE_UNCHANGED /* FhG: Disables fix for issue 1122 in EVS mode to keep BE tests green. This switch should be removed once the 1122 fix is added to EVS via a CR. */ +#define HARMONIZE_2644_SOME_INITS_Stage1 /* FhG: Harmonize with float: init_acelp, init_tcx, init_coder_ace_plus, init_core_sig_ana, init_modes, init_sig_buffers, init_tcx_cfg*/ +#define HARMONIZE_2644_SOME_INITS_Stage2 +#define HARMONIZE_2644_SOME_INITS_Stage3 +#define HARMONIZE_2644_SOME_INITS_Stage4 +#define HARMONIZE_2644_SOME_INITS_Stage5 +#define HARMONIZE_2644_SOME_INITS_Stage6 + /* #################### End BE switches ################################## */ /* #################### Start NON-BE switches ############################ */ diff --git a/lib_enc/core_enc_init_fx.c b/lib_enc/core_enc_init_fx.c index 23d58603d..bc47e5d7c 100644 --- a/lib_enc/core_enc_init_fx.c +++ b/lib_enc/core_enc_init_fx.c @@ -814,13 +814,18 @@ static void init_acelp_fx( Encoder_State *st, Word16 L_frame_old, const Word16 s { set16_fx( hLPDmem->syn, 0, 1 + M ); set16_fx( hLPDmem->mem_syn_r, 0, L_SYN_MEM ); + +#ifndef HARMONIZE_2644_SOME_INITS_Stage1 IF( GT_16( st->element_mode, EVS_MONO ) ) { +#endif hLPDmem->q_lpd_syn = Q15; hLPDmem->q_mem_syn = Q15; move16(); move16(); +#ifndef HARMONIZE_2644_SOME_INITS_Stage1 } +#endif } IF( st->hTcxEnc != NULL ) @@ -833,15 +838,23 @@ static void init_acelp_fx( Encoder_State *st, Word16 L_frame_old, const Word16 s } ELSE /*Rate switching*/ { - IF( st->last_core == ACELP_CORE ) - { - lerp( hTcxEnc->Txnq, hTcxEnc->Txnq, shr( st->L_frame, 1 ), shr( L_frame_old, 1 ) ); - } - ELSE +#ifdef HARMONIZE_2644_SOME_INITS_Stage2 + IF( st->hTcxEnc != NULL ) { - lerp( hTcxEnc->Txnq, hTcxEnc->Txnq, st->hTcxCfg->tcx_mdct_window_length, st->hTcxCfg->tcx_mdct_window_length_old ); +#endif + IF( st->last_core == ACELP_CORE ) + { + lerp( hTcxEnc->Txnq, hTcxEnc->Txnq, shr( st->L_frame, 1 ), shr( L_frame_old, 1 ) ); + } + ELSE + { + lerp( hTcxEnc->Txnq, hTcxEnc->Txnq, st->hTcxCfg->tcx_mdct_window_length, st->hTcxCfg->tcx_mdct_window_length_old ); + } + hTcxEnc->acelp_zir = hTcxEnc->Txnq + shr( st->L_frame, 1 ); +#ifdef HARMONIZE_2644_SOME_INITS_Stage2 } - hTcxEnc->acelp_zir = hTcxEnc->Txnq + shr( st->L_frame, 1 ); +#endif + /* Rate switching */ IF( EQ_16( st->last_codec_mode, MODE1 ) && st->element_mode == EVS_MONO ) @@ -882,22 +895,30 @@ static void init_acelp_fx( Encoder_State *st, Word16 L_frame_old, const Word16 s move16(); set16_fx( hLPDmem->old_exc, 0, L_EXC_MEM ); set16_fx( hLPDmem->syn, 0, 1 + M ); +#ifndef HARMONIZE_2644_SOME_INITS_Stage3 IF( GT_16( st->element_mode, EVS_MONO ) ) { +#endif hLPDmem->q_lpd_syn = Q15; move16(); hLPDmem->q_lpd_old_exc = Q15; move16(); +#ifndef HARMONIZE_2644_SOME_INITS_Stage3 } +#endif hLPDmem->mem_w0 = 0; move16(); set16_fx( hLPDmem->mem_syn, 0, M ); set16_fx( hLPDmem->mem_syn2, 0, M ); +#ifndef HARMONIZE_2644_SOME_INITS_Stage3 IF( GT_16( st->element_mode, EVS_MONO ) ) { +#endif hLPDmem->q_mem_syn = Q15; move16(); +#ifndef HARMONIZE_2644_SOME_INITS_Stage3 } +#endif } /* unquantized LPC*/ @@ -1003,11 +1024,16 @@ static void init_acelp_fx( Encoder_State *st, Word16 L_frame_old, const Word16 s move16(); set16_fx( hLPDmem->old_exc, 0, L_EXC_MEM ); move16(); +#ifndef HARMONIZE_2644_SOME_INITS_Stage4 IF( GT_16( st->element_mode, EVS_MONO ) ) { +#endif hLPDmem->q_lpd_old_exc = Q15; move16(); +#ifndef HARMONIZE_2644_SOME_INITS_Stage4 } +#endif + /*Resamp others memories*/ /*Size of LPC syn memory*/ /* 1.25/20.0 = 1.0/16.0 -> shift 4 to the right. */ @@ -1040,6 +1066,7 @@ static void init_acelp_fx( Encoder_State *st, Word16 L_frame_old, const Word16 s } ELSE IF( !st->tcxonly && EQ_16( st->L_frame, L_FRAME16k ) && GT_32( st->last_total_brate, ACELP_32k ) ) { + /* necessary in BASOP only, due to different representations of st->lsf_old */ lsp2lsf_fx( st->lsp_old_fx, st->lsf_old_fx, M, st->sr_core ); } } @@ -1062,8 +1089,9 @@ static void init_acelp_fx( Encoder_State *st, Word16 L_frame_old, const Word16 s if ( hLPDmem != NULL ) { + /* struct dispMem_fx dm_fx is member in basop, float[8] array in float */ hLPDmem->dm_fx.prev_state = 0; - move16(); /* This corresponds to st_fx->dispMem in FLP */ + move16(); hLPDmem->dm_fx.prev_gain_code = 0; move32(); @@ -1093,22 +1121,32 @@ static void init_acelp_fx( Encoder_State *st, Word16 L_frame_old, const Word16 s /*BPF parameters for adjusting gain in function of background noise*/ IF( EQ_16( st->codec_mode, MODE2 ) ) { + /* in floating point implementation, different buffers are used: lp_error_ener <-> pst_lp_ener, mem_error <-> pst_mem_deemp_err */ + st->mem_bpf_fx.lp_error_ener = L_deposit_l( 0 ); move32(); +#ifndef HARMONIZE_2644_SOME_INITS_Stage5 if ( GT_16( st->element_mode, EVS_MONO ) ) { +#endif st->pst_lp_ener_fx = 0; move16(); +#ifndef HARMONIZE_2644_SOME_INITS_Stage5 } +#endif IF( EQ_16( st->last_codec_mode, MODE1 ) ) { st->mem_bpf_fx.lp_error = 0; move32(); +#ifndef HARMONIZE_2644_SOME_INITS_Stage6 if ( GT_16( st->element_mode, EVS_MONO ) ) { +#endif st->pst_mem_deemp_err_fx = 0; move16(); +#ifndef HARMONIZE_2644_SOME_INITS_Stage6 } +#endif } } -- GitLab From 94cf805a1f2fcb2d7871165b64aa75fc1258aa7f Mon Sep 17 00:00:00 2001 From: Fabian Bauer Date: Thu, 18 Jun 2026 11:55:11 +0200 Subject: [PATCH 02/12] HARMONIZE_2644_SOME_INITS_Stage7-8 : init_tcx_fx --- lib_com/options.h | 3 +++ lib_enc/core_enc_init_fx.c | 51 +++++++++++++++++++++++++++++++------- 2 files changed, 45 insertions(+), 9 deletions(-) diff --git a/lib_com/options.h b/lib_com/options.h index de79d7305..39c3ebc1a 100644 --- a/lib_com/options.h +++ b/lib_com/options.h @@ -94,6 +94,9 @@ #define HARMONIZE_2644_SOME_INITS_Stage5 #define HARMONIZE_2644_SOME_INITS_Stage6 +#define HARMONIZE_2644_SOME_INITS_Stage7 +#define HARMONIZE_2644_SOME_INITS_Stage8 + /* #################### End BE switches ################################## */ /* #################### Start NON-BE switches ############################ */ diff --git a/lib_enc/core_enc_init_fx.c b/lib_enc/core_enc_init_fx.c index bc47e5d7c..f2b653100 100644 --- a/lib_enc/core_enc_init_fx.c +++ b/lib_enc/core_enc_init_fx.c @@ -464,6 +464,7 @@ static void init_tcx_fx( st->hTcxEnc->spectrum_e[0] = st->hTcxEnc->spectrum_e[1] = 0; move16(); move16(); + init_tcx_cfg_fx( st->hTcxCfg, total_brate, st->sr_core, st->input_Fs, st->L_frame, st->bwidth, hTcxEnc->L_frameTCX, st->fscale, st->preemph_fac, st->tcxonly, st->rf_mode, st->igf, st->hIGFEnc != NULL ? st->hIGFEnc->infoStopFrequency : 0, st->element_mode, st->ini_frame, MCT_flag, fscaleFB ); @@ -477,6 +478,7 @@ static void init_tcx_fx( move16(); hTcxEnc->noiseLevelMemory_cnt = 0; move16(); + set16_fx( hTcxEnc->ltpGainMemory_fx, 0, N_LTP_GAIN_MEMS ); set8_fx( hTcxEnc->memQuantZeros, 0, L_FRAME_PLUS ); @@ -491,28 +493,33 @@ static void init_tcx_fx( IF( st->ini_frame == 0 ) { hTcxEnc->tcxltp_pitch_int_past = st->L_frame; + move16(); hTcxEnc->tcxltp_pitch_fr_past = 0; + move16(); hTcxEnc->tcxltp_gain_past = 0; + move16(); hTcxEnc->tcxltp_norm_corr_past = 0; move16(); + +#ifndef HARMONIZE_2644_SOME_INITS_Stage7 IF( GT_16( st->element_mode, EVS_MONO ) ) { +#endif hTcxEnc->tcxltp_norm_corr_mem = 0; - hTcxEnc->kernel_switch_corr_past = 0; - hTcxEnc->kernel_symmetry_past = 0; /* MDCT_IV & 1 */ - hTcxEnc->enc_ste_pre_corr_past = 0; - hTcxEnc->tfm_mem_fx = 1610612736; /* 0.75 in Q31 */ - hTcxEnc->tcxltp_on_mem = 0; - move16(); - move16(); move16(); + hTcxEnc->kernel_switch_corr_past = 0; move16(); + hTcxEnc->kernel_symmetry_past = 0; /* MDCT_IV & 1 */ move16(); + hTcxEnc->enc_ste_pre_corr_past = 0; move16(); + hTcxEnc->tfm_mem_fx = 1610612736; /* 0.75 in Q31 */ move16(); + hTcxEnc->tcxltp_on_mem = 0; move16(); +#ifndef HARMONIZE_2644_SOME_INITS_Stage7 } - move16(); +#endif } ELSE IF( NE_16( st->L_frame, L_frame_old ) && !( ( GE_32( total_brate, ACELP_16k40 ) && LE_32( total_brate, ACELP_24k40 ) ) && ( EQ_32( total_brate, last_total_brate ) ) && ( EQ_16( st->last_bwidth, st->bwidth ) ) ) ) @@ -520,6 +527,18 @@ static void init_tcx_fx( Word16 pitres, pitres_old; Word16 pit, pit_old; +#ifdef HARMONIZE_2644_SOME_INITS_Stage8 + if ( EQ_16( 160, shr( L_frame_old, sub( 7, norm_s( L_frame_old ) ) ) ) ) /*if ( L_frame_old%160==0 )*/ + { + pitres_old = 6; + move16(); + } + ELSE + { + pitres_old = 4; + move16(); + } +#else pitres_old = 4; move16(); if ( EQ_16( 160, shr( L_frame_old, sub( 7, norm_s( L_frame_old ) ) ) ) ) /*if ( L_frame_old%160==0 )*/ @@ -527,10 +546,24 @@ static void init_tcx_fx( pitres_old = 6; move16(); } +#endif /*pit_old = (float)st->tcxltp_pitch_int_past + (float)st->tcxltp_pitch_fr_past/(float)pitres_old;*/ pit_old = add( hTcxEnc->tcxltp_pitch_int_past, mult_r( hTcxEnc->tcxltp_pitch_fr_past, div_s( 1, pitres_old ) ) ); +#ifdef HARMONIZE_2644_SOME_INITS_Stage8 + if ( EQ_16( 160, shr( st->L_frame, sub( 7, norm_s( st->L_frame ) ) ) ) ) /*if ( st->L_frame%160==0 )*/ + { + pitres = 6; + move16(); + } + ELSE + { + pitres = 4; + move16(); + } + +#else pitres = 4; move16(); if ( EQ_16( 160, shr( st->L_frame, sub( 7, norm_s( st->L_frame ) ) ) ) ) /*if ( st->L_frame%160==0 )*/ @@ -538,7 +571,7 @@ static void init_tcx_fx( pitres = 6; move16(); } - +#endif /*pit = pit_old * (float)st->L_frame/(float)L_frame_old;*/ pit = shl_sat( mult_r( pit_old, div_s( st->L_frame, shl( L_frame_old, 2 ) ) ), 2 ); /* Note : the saturation here that can happens when FS == 32kHz*/ -- GitLab From 1c5c36f5e6c8870556f00119c32da519922324e9 Mon Sep 17 00:00:00 2001 From: Fabian Bauer Date: Thu, 18 Jun 2026 12:44:06 +0200 Subject: [PATCH 03/12] HARMONIZE_2644_SOME_INITS_Stage9 : erase currEnergyLookAhead_fx --- lib_com/options.h | 1 + lib_enc/core_enc_init_fx.c | 1 + lib_enc/ivas_stereo_switching_enc_fx.c | 6 ++++++ lib_enc/stat_enc.h | 3 +++ 4 files changed, 11 insertions(+) diff --git a/lib_com/options.h b/lib_com/options.h index 39c3ebc1a..61df3287f 100644 --- a/lib_com/options.h +++ b/lib_com/options.h @@ -96,6 +96,7 @@ #define HARMONIZE_2644_SOME_INITS_Stage7 #define HARMONIZE_2644_SOME_INITS_Stage8 +#define HARMONIZE_2644_SOME_INITS_Stage9 /* #################### End BE switches ################################## */ diff --git a/lib_enc/core_enc_init_fx.c b/lib_enc/core_enc_init_fx.c index f2b653100..2a283bb31 100644 --- a/lib_enc/core_enc_init_fx.c +++ b/lib_enc/core_enc_init_fx.c @@ -247,6 +247,7 @@ void init_coder_ace_plus_fx( IF( EQ_16( st->element_mode, EVS_MONO ) ) { + /*Basop obviously uses different variables for this - float inits it in another place */ st->energyCoreLookahead_Fx = 0; move16(); } diff --git a/lib_enc/ivas_stereo_switching_enc_fx.c b/lib_enc/ivas_stereo_switching_enc_fx.c index 57f1c4fac..dbc095839 100644 --- a/lib_enc/ivas_stereo_switching_enc_fx.c +++ b/lib_enc/ivas_stereo_switching_enc_fx.c @@ -813,8 +813,11 @@ void stereo_switching_enc_fx( IF( sts[0]->cldfbSynTd != NULL ) { cldfb_reset_memory_fx( sts[0]->cldfbSynTd ); +#ifndef HARMONIZE_2644_SOME_INITS_Stage9 + /*basop uses another variable - */ sts[0]->currEnergyLookAhead_fx = 130996; /* Q31 */ move32(); +#endif } test(); @@ -843,8 +846,11 @@ void stereo_switching_enc_fx( IF( sts[1]->cldfbSynTd != NULL ) { cldfb_reset_memory_fx( sts[1]->cldfbSynTd ); +#ifndef HARMONIZE_2644_SOME_INITS_Stage9 + /*basop uses another variable - */ sts[1]->currEnergyLookAhead_fx = 130996; /* Q31 */ move32(); +#endif } } diff --git a/lib_enc/stat_enc.h b/lib_enc/stat_enc.h index 34f3c56bc..cf0cf7a81 100644 --- a/lib_enc/stat_enc.h +++ b/lib_enc/stat_enc.h @@ -1631,7 +1631,10 @@ typedef struct enc_core_structure Word16 prevTempFlatness_fx; /* exponent is AVG_FLAT_E Q7 in EVS */ /* Q4 in IVAS */ Word32 prevTempFlatness_32fx; /* Q21 in IVAS */ +#ifndef HARMONIZE_2644_SOME_INITS_Stage9 + /*basop uses another variable - */ Word32 currEnergyLookAhead_fx; // Q31 +#endif Word32 prevEnergyHF_fx; Word32 currEnergyHF_fx; Word16 currEnergyHF_e_fx; /* exponent of currEnergyHF and prevEnergyHF */ -- GitLab From 86077a7bd77cf44ff2b1e765b9a28837fb55ff07 Mon Sep 17 00:00:00 2001 From: Fabian Bauer Date: Mon, 22 Jun 2026 10:40:04 +0200 Subject: [PATCH 04/12] HARMONIZE_2644_SOME_INITS_Stage10-12 : init_coder_ace_plus --- lib_com/options.h | 6 ++++++ lib_enc/core_enc_init_fx.c | 17 +++++++++++++++++ lib_enc/stat_enc.h | 5 +++++ 3 files changed, 28 insertions(+) diff --git a/lib_com/options.h b/lib_com/options.h index 61df3287f..7802033a3 100644 --- a/lib_com/options.h +++ b/lib_com/options.h @@ -98,6 +98,12 @@ #define HARMONIZE_2644_SOME_INITS_Stage8 #define HARMONIZE_2644_SOME_INITS_Stage9 +#define HARMONIZE_2644_SOME_INITS_Stage10 +#define HARMONIZE_2644_SOME_INITS_Stage11 +#define HARMONIZE_2644_SOME_INITS_Stage12 +#define HARMONIZE_2644_SOME_INITS_Stage13 + + /* #################### End BE switches ################################## */ /* #################### Start NON-BE switches ############################ */ diff --git a/lib_enc/core_enc_init_fx.c b/lib_enc/core_enc_init_fx.c index 2a283bb31..d16d3e940 100644 --- a/lib_enc/core_enc_init_fx.c +++ b/lib_enc/core_enc_init_fx.c @@ -217,16 +217,22 @@ void init_coder_ace_plus_fx( { st->acelpFramesCount = 0; move16(); +#ifndef HARMONIZE_2644_SOME_INITS_Stage10 IF( EQ_16( st->element_mode, EVS_MONO ) ) { +#endif st->prevTempFlatness_fx = 128 /*1.0f Q7*/; move16(); +#ifndef HARMONIZE_2644_SOME_INITS_Stage10 } ELSE { +#endif st->prevTempFlatness_32fx = ONE_IN_Q21 /*1.0f Q21*/; move32(); +#ifndef HARMONIZE_2644_SOME_INITS_Stage10 } +#endif } /* Initialize TBE */ @@ -245,12 +251,14 @@ void init_coder_ace_plus_fx( st->currEnergyHF_e_fx = 0; move16(); +#ifndef HARMONIZE_2644_SOME_INITS_Stage11 IF( EQ_16( st->element_mode, EVS_MONO ) ) { /*Basop obviously uses different variables for this - float inits it in another place */ st->energyCoreLookahead_Fx = 0; move16(); } +#endif /* Initialize LPC analysis/quantization */ test(); @@ -291,12 +299,16 @@ void init_coder_ace_plus_fx( { st->hIGFEnc->infoTotalBitsWritten = 0; move16(); +#ifndef HARMONIZE_2644_SOME_INITS_Stage12 /* TODO mul: check, why in BASOP we can't reset st->hIGFEnc->infoTotalBitsPerFrameWritten w/o affecting bit-exactness */ if ( GT_16( st->element_mode, EVS_MONO ) ) { +#endif st->hIGFEnc->infoTotalBitsPerFrameWritten = 0; move16(); +#ifndef HARMONIZE_2644_SOME_INITS_Stage12 } +#endif } /* Initialize Core Signal Analysis Module */ @@ -394,11 +406,16 @@ void init_coder_ace_plus_fx( st->mem_bpf_fx.noise_shift_old = 0; move16(); } +#ifndef HARMONIZE_2644_SOME_INITS_Stage13 ELSE { +#ifdef HARMONIZE_2644_SOME_INITS_Stage13 + // Not needed anymore? +#endif set32_fx( st->mem_bpf_fx1, 0, 2 * L_FILT16k ); set32_fx( st->mem_error_bpf_fx, 0, 2 * L_FILT16k ); } +#endif IF( st->ini_frame == 0 ) { diff --git a/lib_enc/stat_enc.h b/lib_enc/stat_enc.h index cf0cf7a81..9cc4386cb 100644 --- a/lib_enc/stat_enc.h +++ b/lib_enc/stat_enc.h @@ -1672,8 +1672,13 @@ typedef struct enc_core_structure /*Adaptive BPF*/ Word16 bpf_gain_param; +#ifndef HARMONIZE_2644_SOME_INITS_Stage13 +#ifdef HARMONIZE_2644_SOME_INITS_Stage13 + // Not needed anymore? +#endif Word32 mem_bpf_fx1[2 * L_FILT16k]; Word32 mem_error_bpf_fx[2 * L_FILT16k]; +#endif Word16 bpf_T[NB_SUBFR16k]; Word16 bpf_gainT[NB_SUBFR16k]; -- GitLab From 62f3dd6523510524706bef0548f211dff2421129 Mon Sep 17 00:00:00 2001 From: Fabian Bauer Date: Tue, 23 Jun 2026 07:03:18 +0200 Subject: [PATCH 05/12] HARMONIZE_2644_SOME_INITS_Stage10-11 : init_coder_ace_plus --- lib_com/options.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib_com/options.h b/lib_com/options.h index 8584ef107..290e78b7b 100644 --- a/lib_com/options.h +++ b/lib_com/options.h @@ -101,8 +101,8 @@ #define HARMONIZE_2644_SOME_INITS_Stage10 #define HARMONIZE_2644_SOME_INITS_Stage11 -#define HARMONIZE_2644_SOME_INITS_Stage12 -#define HARMONIZE_2644_SOME_INITS_Stage13 +//#define HARMONIZE_2644_SOME_INITS_Stage12 +//#define HARMONIZE_2644_SOME_INITS_Stage13 /* #################### End BE switches ################################## */ -- GitLab From 46bd0271af183074e343c96ab6d57b237e235133 Mon Sep 17 00:00:00 2001 From: Fabian Bauer Date: Tue, 23 Jun 2026 14:59:33 +0200 Subject: [PATCH 06/12] HARMONIZE_2644_SOME_INITS_Stage10,11,13 : init_coder_ace_plus --- lib_com/options.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib_com/options.h b/lib_com/options.h index 290e78b7b..de5f7ccc8 100644 --- a/lib_com/options.h +++ b/lib_com/options.h @@ -102,7 +102,7 @@ #define HARMONIZE_2644_SOME_INITS_Stage10 #define HARMONIZE_2644_SOME_INITS_Stage11 //#define HARMONIZE_2644_SOME_INITS_Stage12 -//#define HARMONIZE_2644_SOME_INITS_Stage13 +#define HARMONIZE_2644_SOME_INITS_Stage13 /* #################### End BE switches ################################## */ -- GitLab From 38f309d9acb3eac823e550c3786323ad9477f20a Mon Sep 17 00:00:00 2001 From: Fabian Bauer Date: Tue, 23 Jun 2026 15:13:28 +0200 Subject: [PATCH 07/12] print target bits --- apps/encoder.c | 4 ++-- lib_enc/cod_tcx_fx.c | 1 + lib_enc/core_enc_2div_fx.c | 2 +- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/apps/encoder.c b/apps/encoder.c index ee36bd580..4a06f735e 100644 --- a/apps/encoder.c +++ b/apps/encoder.c @@ -923,9 +923,9 @@ int main( } frame++; - if ( !arg.quietModeEnabled ) + //if ( !arg.quietModeEnabled ) /*TODO ber: reactivate this line, just development*/ { - fprintf( stdout, "%-8d\b\b\b\b\b\b\b\b", frame ); + fprintf( stdout, "%-8d\b\b\b\b\b\b\b\b", frame ); } #ifdef WMOPS diff --git a/lib_enc/cod_tcx_fx.c b/lib_enc/cod_tcx_fx.c index aba8e0a54..f83978274 100644 --- a/lib_enc/cod_tcx_fx.c +++ b/lib_enc/cod_tcx_fx.c @@ -3565,6 +3565,7 @@ void coder_tcx_fx( if ( st->igf ) { nb_bits = sub( nb_bits, st->hIGFEnc->infoTotalBitsPerFrameWritten ); + printf( "\n nb_bits: %d\n", nb_bits ); /*TODO ber: del this line, just development*/ } IF( hTcxCfg->fIsTNSAllowed != 0 ) { diff --git a/lib_enc/core_enc_2div_fx.c b/lib_enc/core_enc_2div_fx.c index b5494d89d..4e7d191db 100644 --- a/lib_enc/core_enc_2div_fx.c +++ b/lib_enc/core_enc_2div_fx.c @@ -294,7 +294,7 @@ void core_encode_twodiv_fx( } target_bits = sub( target_bits, st->hIGFEnc->infoTotalBitsPerFrameWritten ); - + printf( "\n target_bits: %d\n", target_bits ); /*TODO ber: del this line, just development*/ IF( st->enablePlcWaveadjust ) { -- GitLab From 585b2a2342731c0da7c8d80e29cba2e5dc7a820a Mon Sep 17 00:00:00 2001 From: Fabian Bauer Date: Tue, 23 Jun 2026 15:13:38 +0200 Subject: [PATCH 08/12] Revert "print target bits" This reverts commit 38f309d9acb3eac823e550c3786323ad9477f20a. --- apps/encoder.c | 4 ++-- lib_enc/cod_tcx_fx.c | 1 - lib_enc/core_enc_2div_fx.c | 2 +- 3 files changed, 3 insertions(+), 4 deletions(-) diff --git a/apps/encoder.c b/apps/encoder.c index 4a06f735e..ee36bd580 100644 --- a/apps/encoder.c +++ b/apps/encoder.c @@ -923,9 +923,9 @@ int main( } frame++; - //if ( !arg.quietModeEnabled ) /*TODO ber: reactivate this line, just development*/ + if ( !arg.quietModeEnabled ) { - fprintf( stdout, "%-8d\b\b\b\b\b\b\b\b", frame ); + fprintf( stdout, "%-8d\b\b\b\b\b\b\b\b", frame ); } #ifdef WMOPS diff --git a/lib_enc/cod_tcx_fx.c b/lib_enc/cod_tcx_fx.c index f83978274..aba8e0a54 100644 --- a/lib_enc/cod_tcx_fx.c +++ b/lib_enc/cod_tcx_fx.c @@ -3565,7 +3565,6 @@ void coder_tcx_fx( if ( st->igf ) { nb_bits = sub( nb_bits, st->hIGFEnc->infoTotalBitsPerFrameWritten ); - printf( "\n nb_bits: %d\n", nb_bits ); /*TODO ber: del this line, just development*/ } IF( hTcxCfg->fIsTNSAllowed != 0 ) { diff --git a/lib_enc/core_enc_2div_fx.c b/lib_enc/core_enc_2div_fx.c index 4e7d191db..b5494d89d 100644 --- a/lib_enc/core_enc_2div_fx.c +++ b/lib_enc/core_enc_2div_fx.c @@ -294,7 +294,7 @@ void core_encode_twodiv_fx( } target_bits = sub( target_bits, st->hIGFEnc->infoTotalBitsPerFrameWritten ); - printf( "\n target_bits: %d\n", target_bits ); /*TODO ber: del this line, just development*/ + IF( st->enablePlcWaveadjust ) { -- GitLab From b18e5fac8f497b777fe0bed3567dacc431ffdef1 Mon Sep 17 00:00:00 2001 From: Fabian Bauer Date: Tue, 23 Jun 2026 15:42:07 +0200 Subject: [PATCH 09/12] HARMONIZE_2644_SOME_INITS_Stage14,15 : init_core_sig_ana --- lib_com/options.h | 3 +++ lib_enc/core_enc_init_fx.c | 43 +++++++++++++++++++++++++++++++++++++- 2 files changed, 45 insertions(+), 1 deletion(-) diff --git a/lib_com/options.h b/lib_com/options.h index b883036e9..16ce46700 100644 --- a/lib_com/options.h +++ b/lib_com/options.h @@ -104,6 +104,9 @@ //#define HARMONIZE_2644_SOME_INITS_Stage12 #define HARMONIZE_2644_SOME_INITS_Stage13 +#define HARMONIZE_2644_SOME_INITS_Stage14 +#define HARMONIZE_2644_SOME_INITS_Stage15 + /* #################### End BE switches ################################## */ diff --git a/lib_enc/core_enc_init_fx.c b/lib_enc/core_enc_init_fx.c index d16d3e940..16bf0ab2e 100644 --- a/lib_enc/core_enc_init_fx.c +++ b/lib_enc/core_enc_init_fx.c @@ -785,8 +785,11 @@ static void init_core_sig_ana_fx( Encoder_State *st ) /* Pre-emphasis factor and memory */ +#ifndef HARMONIZE_2644_SOME_INITS_Stage14 st->preemph_fac = PREEMPH_FAC_SWB; /*SWB*/ move16(); +#endif + IF( LT_16( st->fscale, ( 16000 * FSCALE_DENOM ) / 12800 ) ) { st->preemph_fac = PREEMPH_FAC; /*WB*/ @@ -797,16 +800,28 @@ static void init_core_sig_ana_fx( Encoder_State *st ) st->preemph_fac = PREEMPH_FAC_16k; /*WB*/ move16(); } +#ifdef HARMONIZE_2644_SOME_INITS_Stage14 + ELSE + { + st->preemph_fac = PREEMPH_FAC_SWB; /*SWB*/ + move16(); + } +#endif + +#ifndef HARMONIZE_2644_SOME_INITS_Stage15 if ( EQ_16( st->element_mode, EVS_MONO ) ) { st->hTcxCfg->preemph_fac = st->preemph_fac; move16(); } +#endif +#ifndef HARMONIZE_2644_SOME_INITS_Stage14 st->gamma = GAMMA1; move16(); st->inv_gamma = GAMMA1_INV; move16(); +#endif IF( EQ_32( st->sr_core, 16000 ) ) { st->gamma = GAMMA16k; @@ -814,8 +829,17 @@ static void init_core_sig_ana_fx( Encoder_State *st ) st->inv_gamma = GAMMA16k_INV; move16(); } +#ifdef HARMONIZE_2644_SOME_INITS_Stage14 + ELSE + { + st->gamma = GAMMA1; + move16(); + st->inv_gamma = GAMMA1_INV; + move16(); + } +#endif - +#ifndef HARMONIZE_2644_SOME_INITS_Stage14 st->min_band = 1; move16(); st->max_band = 16; @@ -828,7 +852,24 @@ static void init_core_sig_ana_fx( Encoder_State *st ) st->max_band = 19; move16(); } +#endif +#ifdef HARMONIZE_2644_SOME_INITS_Stage14 + IF( NE_16( st->narrowBand, 0 ) ) + { + st->min_band = 0; + move16(); + st->max_band = 19; + move16(); + } + ELSE + { + st->min_band = 1; + move16(); + st->max_band = 16; + move16(); + } +#endif return; } -- GitLab From d635743144304c4a8ce8c6ddeaf18b0b1fcc9474 Mon Sep 17 00:00:00 2001 From: Fabian Bauer Date: Wed, 24 Jun 2026 09:25:45 +0200 Subject: [PATCH 10/12] HARMONIZE_2644_SOME_INITS_Stage14,15 : init_core_sig_ana --- lib_com/options.h | 2 +- lib_enc/core_enc_init_fx.c | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/lib_com/options.h b/lib_com/options.h index 4b32307b0..d910792b7 100644 --- a/lib_com/options.h +++ b/lib_com/options.h @@ -111,7 +111,7 @@ #define HARMONIZE_2644_SOME_INITS_Stage13 #define HARMONIZE_2644_SOME_INITS_Stage14 -//#define HARMONIZE_2644_SOME_INITS_Stage15 +#define HARMONIZE_2644_SOME_INITS_Stage15 /* #################### End BE switches ################################## */ diff --git a/lib_enc/core_enc_init_fx.c b/lib_enc/core_enc_init_fx.c index 16bf0ab2e..05de9dc14 100644 --- a/lib_enc/core_enc_init_fx.c +++ b/lib_enc/core_enc_init_fx.c @@ -857,16 +857,16 @@ static void init_core_sig_ana_fx( Encoder_State *st ) #ifdef HARMONIZE_2644_SOME_INITS_Stage14 IF( NE_16( st->narrowBand, 0 ) ) { - st->min_band = 0; + st->min_band = 1; move16(); - st->max_band = 19; + st->max_band = 16; move16(); } ELSE { - st->min_band = 1; + st->min_band = 0; move16(); - st->max_band = 16; + st->max_band = 19; move16(); } #endif -- GitLab From 743dbcc542940ec44af1730ec014420ca238b73c Mon Sep 17 00:00:00 2001 From: Fabian Bauer Date: Wed, 24 Jun 2026 09:25:45 +0200 Subject: [PATCH 11/12] HARMONIZE_2644_SOME_INITS_Stage14 : init_core_sig_ana delete stage16,17, init_sig_buffers not harmonized(IVAS/EVS). yet --- lib_enc/core_enc_init_fx.c | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/lib_enc/core_enc_init_fx.c b/lib_enc/core_enc_init_fx.c index 16bf0ab2e..3f58cad98 100644 --- a/lib_enc/core_enc_init_fx.c +++ b/lib_enc/core_enc_init_fx.c @@ -26,7 +26,6 @@ static void init_tcx_fx( Encoder_State *st, const Word16 L_frame_old, const Word static void init_modes_fx( Encoder_State *st, const Word32 last_total_brate ); static void init_sig_buffers_ivas_fx( Encoder_State *st, const Word16 L_frame_old, const Word16 L_subfr, const Word32 last_total_brate ); - void init_sig_buffers_fx( Encoder_State *st, const Word16 L_frame_old, const Word16 L_subfr ) { @@ -857,16 +856,16 @@ static void init_core_sig_ana_fx( Encoder_State *st ) #ifdef HARMONIZE_2644_SOME_INITS_Stage14 IF( NE_16( st->narrowBand, 0 ) ) { - st->min_band = 0; + st->min_band = 1; move16(); - st->max_band = 19; + st->max_band = 16; move16(); } ELSE { - st->min_band = 1; + st->min_band = 0; move16(); - st->max_band = 16; + st->max_band = 19; move16(); } #endif -- GitLab From 5616b223dbcf3c18b92679cd0f3de949bc77e610 Mon Sep 17 00:00:00 2001 From: Fabian Bauer Date: Wed, 24 Jun 2026 13:15:56 +0200 Subject: [PATCH 12/12] HARMONIZE_2644_SOME_INITS_Stage14,15 : init_core_sig_ana --- lib_com/options.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib_com/options.h b/lib_com/options.h index 4b32307b0..d910792b7 100644 --- a/lib_com/options.h +++ b/lib_com/options.h @@ -111,7 +111,7 @@ #define HARMONIZE_2644_SOME_INITS_Stage13 #define HARMONIZE_2644_SOME_INITS_Stage14 -//#define HARMONIZE_2644_SOME_INITS_Stage15 +#define HARMONIZE_2644_SOME_INITS_Stage15 /* #################### End BE switches ################################## */ -- GitLab