From 0e9875bdff960b5134dcf203529fc2a25998e0ee Mon Sep 17 00:00:00 2001 From: gerstack Date: Tue, 10 Feb 2026 15:54:17 +0100 Subject: [PATCH 1/5] FIX 2385, getTcxonly_ivas_fx() --- lib_com/core_com_config_fx.c | 38 ++++++++++++++-------------------- lib_com/options.h | 1 + lib_dec/core_dec_init_fx.c | 4 ++++ lib_dec/ivas_tcx_core_dec_fx.c | 4 ++++ lib_enc/core_enc_switch_fx.c | 8 +++++++ 5 files changed, 33 insertions(+), 22 deletions(-) diff --git a/lib_com/core_com_config_fx.c b/lib_com/core_com_config_fx.c index cb9723487..94ff78ce6 100644 --- a/lib_com/core_com_config_fx.c +++ b/lib_com/core_com_config_fx.c @@ -186,16 +186,6 @@ Word16 getTcxonly_ivas_fx( Word16 tcxonly = 0; move16(); Word32 temp_flag; - if ( MCT_flag ) - { - temp_flag = IVAS_32k; - move32(); - } - else - { - temp_flag = IVAS_48k; - move32(); - } SWITCH( element_mode ) { @@ -207,24 +197,19 @@ Word16 getTcxonly_ivas_fx( } BREAK; case IVAS_SCE: + temp_flag = MAX_ACELP_BRATE; + move32(); if ( is_ism_format ) { - if ( GT_32( total_brate, MAX_ACELP_BRATE_ISM ) ) - { - tcxonly = 1; - move16(); - } + temp_flag = MAX_ACELP_BRATE_ISM; + move32(); } - else + if ( GT_32( total_brate, temp_flag ) ) { - if ( GT_32( total_brate, MAX_ACELP_BRATE ) ) - { - tcxonly = 1; - move16(); - } + tcxonly = 1; + move16(); } BREAK; - case IVAS_CPE_DFT: case IVAS_CPE_TD: if ( GT_32( total_brate, MAX_ACELP_BRATE ) ) @@ -234,6 +219,13 @@ Word16 getTcxonly_ivas_fx( } BREAK; case IVAS_CPE_MDCT: + temp_flag = IVAS_48k; + move32(); + if ( MCT_flag ) + { + temp_flag = IVAS_32k; + move32(); + } if ( GE_32( total_brate, temp_flag ) ) { tcxonly = 1; @@ -261,6 +253,7 @@ Word16 getTcxonly( return tcxonly; /*Q0*/ } +#ifndef FIX_2385_GETTCXONLY Word16 getTcxonly_fx( const Word16 element_mode, /* i : IVAS element mode Q0*/ const Word32 total_brate, /* i : total bitrate Q0*/ @@ -331,6 +324,7 @@ Word16 getTcxonly_fx( return tcxonly; /*Q0*/ } +#endif /* FIX_2385_GETTCXONLY */ /*-------------------------------------------------------------------* * getCtxHm() diff --git a/lib_com/options.h b/lib_com/options.h index 72cb319f0..30d9142f3 100644 --- a/lib_com/options.h +++ b/lib_com/options.h @@ -85,6 +85,7 @@ #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 FIX_1904_HARM_GSC_ENC /* VA: #1904 Harmonization of EVS and IVAS GSC code */ #define FIX_2388_INITTNSCONFIGURATION /* FhG: issue 2388 : harmonizing InitTnsConfiguration() function */ +#define FIX_2385_GETTCXONLY /* FhG: issue 2385 : harmonizing getTcxonly_ivas_fx() and getTcxonly_ivas_fx() functions */ #define FIX_2397_COPY_AQ_MDCT_CORE_BFI /* FhG: prevent copying of uninit memory in MDCT stereo core if bfi is set */ #define HARMONIZE_TBE /* VA: harmonize core-coder TBE function duplications */ #define FIX_2405_HARM_SMC_INIT /* VA, basop 2405, harmonisation of SMC init */ diff --git a/lib_dec/core_dec_init_fx.c b/lib_dec/core_dec_init_fx.c index 678d0b3d7..28f364478 100644 --- a/lib_dec/core_dec_init_fx.c +++ b/lib_dec/core_dec_init_fx.c @@ -1184,7 +1184,11 @@ void open_decoder_LPD_ivas_fx( } } +#ifdef FIX_2385_GETTCXONLY + st->tcxonly = getTcxonly_ivas_fx( st->element_mode, total_brate, MCT_flag, st->is_ism_format ); +#else st->tcxonly = getTcxonly_fx( st->element_mode, total_brate, MCT_flag, st->is_ism_format ); +#endif move16(); /* the TD TCX PLC in MODE1 still runs with 80ms subframes */ diff --git a/lib_dec/ivas_tcx_core_dec_fx.c b/lib_dec/ivas_tcx_core_dec_fx.c index 4c780bc1c..21ad99994 100644 --- a/lib_dec/ivas_tcx_core_dec_fx.c +++ b/lib_dec/ivas_tcx_core_dec_fx.c @@ -119,7 +119,11 @@ void stereo_tcx_init_dec_fx( IF( EQ_16( st->element_mode, IVAS_SCE ) ) { +#ifdef FIX_2385_GETTCXONLY + st->tcxonly = getTcxonly_ivas_fx( st->element_mode, L_mult0( st->bits_frame_nominal, FRAMES_PER_SEC ), MCT_flag, st->is_ism_format ); /* Q0 */ +#else st->tcxonly = getTcxonly_fx( st->element_mode, L_mult0( st->bits_frame_nominal, FRAMES_PER_SEC ), MCT_flag, st->is_ism_format ); /* Q0 */ +#endif /* FIX_2385_GETTCXONLY */ move16(); /* LPC quantization */ diff --git a/lib_enc/core_enc_switch_fx.c b/lib_enc/core_enc_switch_fx.c index 27c429ded..4cac0482c 100644 --- a/lib_enc/core_enc_switch_fx.c +++ b/lib_enc/core_enc_switch_fx.c @@ -255,7 +255,11 @@ void core_coder_mode_switch_ivas_fx( move16(); } +#ifdef FIX_2385_GETTCXONLY + tcxonly_tmp = getTcxonly_ivas_fx( st->element_mode, st->total_brate, MCT_flag, st->is_ism_format ); +#else tcxonly_tmp = getTcxonly_fx( st->element_mode, st->total_brate, MCT_flag, st->is_ism_format ); +#endif /* FIX_2385_GETTCXONLY */ if ( NE_32( tcxonly_tmp, st->tcxonly ) ) { @@ -271,7 +275,11 @@ void core_coder_mode_switch_ivas_fx( move16(); st->L_frame = extract_l( Mpy_32_32_r( sr_core, ONE_BY_FRAMES_PER_SEC_Q31 ) ); +#ifdef FIX_2385_GETTCXONLY + st->tcxonly = getTcxonly_ivas_fx( st->element_mode, st->total_brate, MCT_flag, st->is_ism_format ); +#else st->tcxonly = getTcxonly_fx( st->element_mode, st->total_brate, MCT_flag, st->is_ism_format ); +#endif /* FIX_2385_GETTCXONLY */ move16(); Word16 exp_tmp1 = 0; -- GitLab From 79179b4d5ece40b4f2923b4dcf9f5a3247113d57 Mon Sep 17 00:00:00 2001 From: gerstack Date: Tue, 10 Feb 2026 16:17:53 +0100 Subject: [PATCH 2/5] merge with main --- lib_dec/ivas_tcx_core_dec_fx.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib_dec/ivas_tcx_core_dec_fx.c b/lib_dec/ivas_tcx_core_dec_fx.c index 21ad99994..26093959a 100644 --- a/lib_dec/ivas_tcx_core_dec_fx.c +++ b/lib_dec/ivas_tcx_core_dec_fx.c @@ -197,7 +197,7 @@ void stereo_tcx_core_dec_fx( #ifdef FIX_2280_REDUCTION_UNNECESSARY_SCALING Word32 *signal_out_32_fx, /* o : synthesis @internal_Fs, Q11*/ #else - Word16 *signal_out_fx, /* o : synthesis @internal_Fs, Q0*/ + Word16 *signal_out_fx, /* o : synthesis @internal_Fs, Q0*/ #endif Word16 *signal_outFB_fx, /* o : synthesis @output_Fs, Q0*/ Word16 pitch_buf_fx[], /* o : Word16 pitch for each subframe, Q6*/ -- GitLab From 695929097159b6253cb77dad5d7d50961e9b595f Mon Sep 17 00:00:00 2001 From: gerstack Date: Tue, 10 Feb 2026 18:22:00 +0100 Subject: [PATCH 3/5] renamed getTcxonly_ivas_fx() to getTcxonly_fx() --- lib_com/core_com_config_fx.c | 9 +++++++++ lib_dec/core_dec_init_fx.c | 4 ---- lib_dec/ivas_tcx_core_dec_fx.c | 4 ---- lib_enc/core_enc_init_fx.c | 4 ++++ lib_enc/core_enc_switch_fx.c | 8 -------- lib_enc/ivas_cpe_enc_fx.c | 4 ++++ 6 files changed, 17 insertions(+), 16 deletions(-) diff --git a/lib_com/core_com_config_fx.c b/lib_com/core_com_config_fx.c index 94ff78ce6..6915ab7bb 100644 --- a/lib_com/core_com_config_fx.c +++ b/lib_com/core_com_config_fx.c @@ -176,12 +176,21 @@ Word16 get_codec_mode( * *-------------------------------------------------------------------*/ +#ifdef FIX_2385_GETTCXONLY +Word16 getTcxonly_fx( + const Word16 element_mode, /* i : IVAS element mode Q0*/ + const Word32 total_brate, /* i : total bitrate Q0*/ + const Word16 MCT_flag, /* i : hMCT handle allocated (1) or not (0) Q0*/ + const Word16 is_ism_format /* i : flag indicating ISM format Q0*/ +) +#else Word16 getTcxonly_ivas_fx( const Word16 element_mode, /* i : IVAS element mode Q0*/ const Word32 total_brate, /* i : total bitrate Q0*/ const Word16 MCT_flag, /* i : hMCT handle allocated (1) or not (0) Q0*/ const Word16 is_ism_format /* i : flag indicating ISM format Q0*/ ) +#endif /* FIX_2385_GETTCXONLY */ { Word16 tcxonly = 0; move16(); diff --git a/lib_dec/core_dec_init_fx.c b/lib_dec/core_dec_init_fx.c index 28f364478..678d0b3d7 100644 --- a/lib_dec/core_dec_init_fx.c +++ b/lib_dec/core_dec_init_fx.c @@ -1184,11 +1184,7 @@ void open_decoder_LPD_ivas_fx( } } -#ifdef FIX_2385_GETTCXONLY - st->tcxonly = getTcxonly_ivas_fx( st->element_mode, total_brate, MCT_flag, st->is_ism_format ); -#else st->tcxonly = getTcxonly_fx( st->element_mode, total_brate, MCT_flag, st->is_ism_format ); -#endif move16(); /* the TD TCX PLC in MODE1 still runs with 80ms subframes */ diff --git a/lib_dec/ivas_tcx_core_dec_fx.c b/lib_dec/ivas_tcx_core_dec_fx.c index 26093959a..b62e03bf8 100644 --- a/lib_dec/ivas_tcx_core_dec_fx.c +++ b/lib_dec/ivas_tcx_core_dec_fx.c @@ -119,11 +119,7 @@ void stereo_tcx_init_dec_fx( IF( EQ_16( st->element_mode, IVAS_SCE ) ) { -#ifdef FIX_2385_GETTCXONLY - st->tcxonly = getTcxonly_ivas_fx( st->element_mode, L_mult0( st->bits_frame_nominal, FRAMES_PER_SEC ), MCT_flag, st->is_ism_format ); /* Q0 */ -#else st->tcxonly = getTcxonly_fx( st->element_mode, L_mult0( st->bits_frame_nominal, FRAMES_PER_SEC ), MCT_flag, st->is_ism_format ); /* Q0 */ -#endif /* FIX_2385_GETTCXONLY */ move16(); /* LPC quantization */ diff --git a/lib_enc/core_enc_init_fx.c b/lib_enc/core_enc_init_fx.c index c944bc5f4..6dab50d76 100644 --- a/lib_enc/core_enc_init_fx.c +++ b/lib_enc/core_enc_init_fx.c @@ -941,7 +941,11 @@ void init_coder_ace_plus_ivas_fx( Word16 L_subfr; /* Bitrate */ +#ifdef FIX_2385_GETTCXONLY + st->tcxonly = getTcxonly_fx( st->element_mode, st->total_brate, MCT_flag, st->is_ism_format ); +#else st->tcxonly = getTcxonly_ivas_fx( st->element_mode, st->total_brate, MCT_flag, st->is_ism_format ); +#endif /* FIX_2385_GETTCXONLY */ move16(); /* Core Sampling Rate */ diff --git a/lib_enc/core_enc_switch_fx.c b/lib_enc/core_enc_switch_fx.c index 4cac0482c..27c429ded 100644 --- a/lib_enc/core_enc_switch_fx.c +++ b/lib_enc/core_enc_switch_fx.c @@ -255,11 +255,7 @@ void core_coder_mode_switch_ivas_fx( move16(); } -#ifdef FIX_2385_GETTCXONLY - tcxonly_tmp = getTcxonly_ivas_fx( st->element_mode, st->total_brate, MCT_flag, st->is_ism_format ); -#else tcxonly_tmp = getTcxonly_fx( st->element_mode, st->total_brate, MCT_flag, st->is_ism_format ); -#endif /* FIX_2385_GETTCXONLY */ if ( NE_32( tcxonly_tmp, st->tcxonly ) ) { @@ -275,11 +271,7 @@ void core_coder_mode_switch_ivas_fx( move16(); st->L_frame = extract_l( Mpy_32_32_r( sr_core, ONE_BY_FRAMES_PER_SEC_Q31 ) ); -#ifdef FIX_2385_GETTCXONLY - st->tcxonly = getTcxonly_ivas_fx( st->element_mode, st->total_brate, MCT_flag, st->is_ism_format ); -#else st->tcxonly = getTcxonly_fx( st->element_mode, st->total_brate, MCT_flag, st->is_ism_format ); -#endif /* FIX_2385_GETTCXONLY */ move16(); Word16 exp_tmp1 = 0; diff --git a/lib_enc/ivas_cpe_enc_fx.c b/lib_enc/ivas_cpe_enc_fx.c index be1caae83..493b21a50 100644 --- a/lib_enc/ivas_cpe_enc_fx.c +++ b/lib_enc/ivas_cpe_enc_fx.c @@ -816,7 +816,11 @@ ivas_error ivas_cpe_enc_fx( { Word32 internal_Fs; +#ifdef FIX_2385_GETTCXONLY + IF( getTcxonly_fx( IVAS_CPE_MDCT, imult1616( sts[0]->bits_frame_nominal, FRAMES_PER_SEC ), 0, sts[0]->is_ism_format ) == 0 ) +#else IF( getTcxonly_ivas_fx( IVAS_CPE_MDCT, imult1616( sts[0]->bits_frame_nominal, FRAMES_PER_SEC ), 0, sts[0]->is_ism_format ) == 0 ) +#endif /* FIX_2385_GETTCXONLY */ { internal_Fs = INT_FS_16k; move32(); -- GitLab From cdd173210dd465e856c98e3a38def8356e637b5f Mon Sep 17 00:00:00 2001 From: gerstack Date: Tue, 10 Feb 2026 18:26:21 +0100 Subject: [PATCH 4/5] clang format --- lib_dec/ivas_tcx_core_dec_fx.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib_dec/ivas_tcx_core_dec_fx.c b/lib_dec/ivas_tcx_core_dec_fx.c index b62e03bf8..4c780bc1c 100644 --- a/lib_dec/ivas_tcx_core_dec_fx.c +++ b/lib_dec/ivas_tcx_core_dec_fx.c @@ -193,7 +193,7 @@ void stereo_tcx_core_dec_fx( #ifdef FIX_2280_REDUCTION_UNNECESSARY_SCALING Word32 *signal_out_32_fx, /* o : synthesis @internal_Fs, Q11*/ #else - Word16 *signal_out_fx, /* o : synthesis @internal_Fs, Q0*/ + Word16 *signal_out_fx, /* o : synthesis @internal_Fs, Q0*/ #endif Word16 *signal_outFB_fx, /* o : synthesis @output_Fs, Q0*/ Word16 pitch_buf_fx[], /* o : Word16 pitch for each subframe, Q6*/ -- GitLab From 1c46576d15e4a056ba7323bfd7ab7dd9eea8da1b Mon Sep 17 00:00:00 2001 From: Markus Multrus Date: Wed, 11 Feb 2026 22:49:04 +0100 Subject: [PATCH 5/5] more harmonizations --- lib_com/core_com_config_fx.c | 13 +++++++++---- lib_com/prot_fx.h | 4 ++++ lib_dec/core_dec_init_fx.c | 11 +++++++++++ lib_dec/evs_dec_fx.c | 4 ++++ lib_enc/core_enc_init_fx.c | 4 ++++ lib_enc/core_enc_switch_fx.c | 8 ++++++++ 6 files changed, 40 insertions(+), 4 deletions(-) diff --git a/lib_com/core_com_config_fx.c b/lib_com/core_com_config_fx.c index 6915ab7bb..c379a4046 100644 --- a/lib_com/core_com_config_fx.c +++ b/lib_com/core_com_config_fx.c @@ -169,14 +169,13 @@ Word16 get_codec_mode( return codec_mode; /*Q0*/ } - +#ifdef FIX_2385_GETTCXONLY /*-------------------------------------------------------------------* - * getTcxonly_ivas() + * getTcxonly() * * *-------------------------------------------------------------------*/ -#ifdef FIX_2385_GETTCXONLY Word16 getTcxonly_fx( const Word16 element_mode, /* i : IVAS element mode Q0*/ const Word32 total_brate, /* i : total bitrate Q0*/ @@ -184,6 +183,12 @@ Word16 getTcxonly_fx( const Word16 is_ism_format /* i : flag indicating ISM format Q0*/ ) #else +/*-------------------------------------------------------------------* + * getTcxonly_ivas() + * + * + *-------------------------------------------------------------------*/ + Word16 getTcxonly_ivas_fx( const Word16 element_mode, /* i : IVAS element mode Q0*/ const Word32 total_brate, /* i : total bitrate Q0*/ @@ -245,6 +250,7 @@ Word16 getTcxonly_ivas_fx( return tcxonly; /*Q0*/ } +#ifndef FIX_2385_GETTCXONLY Word16 getTcxonly( const Word32 total_brate /* i : total bitrate */ @@ -262,7 +268,6 @@ Word16 getTcxonly( return tcxonly; /*Q0*/ } -#ifndef FIX_2385_GETTCXONLY Word16 getTcxonly_fx( const Word16 element_mode, /* i : IVAS element mode Q0*/ const Word32 total_brate, /* i : total bitrate Q0*/ diff --git a/lib_com/prot_fx.h b/lib_com/prot_fx.h index d3d45ab1d..7e354683a 100644 --- a/lib_com/prot_fx.h +++ b/lib_com/prot_fx.h @@ -3856,10 +3856,12 @@ Word16 get_cng_mode( Word16 get_codec_mode( const Word32 total_brate /* i : total bitrate */ ); +#ifndef FIX_2385_GETTCXONLY Word16 getTcxonly( const Word32 total_brate /* i : total bitrate */ ); +#endif Word16 getTcxonly_fx( const Word16 element_mode, /* i : IVAS element mode */ @@ -10438,6 +10440,7 @@ void configureFdCngEnc_ivas_fx( const Word16 bwidth, /* Q0 */ const Word32 total_brate /* Q0 */ ); +#ifndef FIX_2385_GETTCXONLY Word16 getTcxonly_ivas_fx( const Word16 element_mode, /* i : IVAS element mode */ @@ -10445,6 +10448,7 @@ Word16 getTcxonly_ivas_fx( const Word16 MCT_flag, /* i : hMCT handle allocated (1) or not (0)*/ const Word16 is_ism_format /* i : flag indicating ISM format */ ); +#endif void SetModeIndex_ivas_fx( Encoder_State *st, /* i : Encoder state */ diff --git a/lib_dec/core_dec_init_fx.c b/lib_dec/core_dec_init_fx.c index 678d0b3d7..18b20432a 100644 --- a/lib_dec/core_dec_init_fx.c +++ b/lib_dec/core_dec_init_fx.c @@ -32,6 +32,12 @@ void open_decoder_LPD_fx( TCX_LTP_DEC_HANDLE hTcxLtpDec; HQ_DEC_HANDLE hHQ_core; TCX_DEC_HANDLE hTcxDec; +#ifdef FIX_2385_GETTCXONLY + Word16 MCT_flag; + + MCT_flag = 0; /* TODO: workaround for future harmonization of functions */ + move16(); +#endif hBPF = st->hBPF; hBWE_TD = st->hBWE_TD; @@ -67,10 +73,15 @@ void open_decoder_LPD_fx( st->L_frameTCX_past = hTcxDec->L_frameTCX; move16(); } + +#ifdef FIX_2385_GETTCXONLY + st->tcxonly = getTcxonly_fx( st->element_mode, total_brate, MCT_flag, st->is_ism_format ); +#else st->tcxonly = getTcxonly( st->total_brate /*, st->is_ism_format Needed in the last version of float IVAS */ ); +#endif move16(); /* the TD TCX PLC in MODE1 still runs with 80ms subframes */ diff --git a/lib_dec/evs_dec_fx.c b/lib_dec/evs_dec_fx.c index 9dd8f1873..5d7424b53 100644 --- a/lib_dec/evs_dec_fx.c +++ b/lib_dec/evs_dec_fx.c @@ -245,7 +245,11 @@ ivas_error evs_dec_fx( test(); test(); test(); +#ifdef FIX_2385_GETTCXONLY + IF( st_fx->use_partial_copy && ( ( sub( st_fx->last_core, HQ_CORE ) == 0 ) || ( sub( st_fx->last_core, TCX_10_CORE ) == 0 ) || ( ( sub( st_fx->last_core, TCX_20_CORE ) == 0 ) && getTcxonly_fx( EVS_MONO, st_fx->last_total_brate, 0, 0 ) ) ) ) +#else IF( st_fx->use_partial_copy && ( ( sub( st_fx->last_core, HQ_CORE ) == 0 ) || ( sub( st_fx->last_core, TCX_10_CORE ) == 0 ) || ( ( sub( st_fx->last_core, TCX_20_CORE ) == 0 ) && getTcxonly( /*EVS_MONO, */ st_fx->last_total_brate /*, 0, 0*/ ) ) ) ) +#endif { st_fx->bfi = 1; move16(); diff --git a/lib_enc/core_enc_init_fx.c b/lib_enc/core_enc_init_fx.c index 6dab50d76..a97a6ff41 100644 --- a/lib_enc/core_enc_init_fx.c +++ b/lib_enc/core_enc_init_fx.c @@ -49,8 +49,12 @@ void init_coder_ace_plus_fx( TCX_ENC_HANDLE hTcxEnc = st->hTcxEnc; /* Bitrate */ +#ifdef FIX_2385_GETTCXONLY + st->tcxonly = (Word8) getTcxonly_fx( st->element_mode, st->total_brate, MCT_flag, st->is_ism_format ); +#else st->tcxonly = (Word8) getTcxonly( st->total_brate ); +#endif move16(); /* Core Sampling Rate */ diff --git a/lib_enc/core_enc_switch_fx.c b/lib_enc/core_enc_switch_fx.c index 27c429ded..5835c75f8 100644 --- a/lib_enc/core_enc_switch_fx.c +++ b/lib_enc/core_enc_switch_fx.c @@ -49,7 +49,11 @@ void core_coder_mode_switch_fx( switchWB = 1; /*force init when coming from MODE1*/ } +#ifdef FIX_2385_GETTCXONLY + tcxonly_tmp = getTcxonly_fx( st->element_mode, st->total_brate, MCT_flag, st->is_ism_format ); +#else tcxonly_tmp = getTcxonly( st->total_brate ); +#endif if ( NE_16( tcxonly_tmp, st->tcxonly ) ) { @@ -67,7 +71,11 @@ void core_coder_mode_switch_fx( move32(); st->L_frame = extract_l( Mult_32_16( st->sr_core, INV_FRAME_PER_SEC_Q15 ) ); assert( st->L_frame == st->sr_core / 50 ); +#ifdef FIX_2385_GETTCXONLY + st->tcxonly = (Word8) getTcxonly_fx( st->element_mode, st->total_brate, MCT_flag, st->is_ism_format ); +#else st->tcxonly = (Word8) getTcxonly( st->total_brate ); +#endif /* st->bits_frame_nominal = (int)( (float)st->L_frame/(float)st->fscale ) * (float)FSCALE_DENOM/128.0f * (float)st->bitrate/100.0f + 0.49f ; */ /* st->bits_frame_nominal = extract_l(L_shr(Mpy_32_16_1( L_shl(st->bitrate,8), mult_r(div_s(st->fscale, shl(st->L_frame,4)), FL2WORD16(FSCALE_DENOM/12800.f))), 6)); */ tmp32 = L_shl( st->total_brate, 1 ); /* (float)st->L_frame/(float)st->fscale * (float)FSCALE_DENOM/128.0f * (float)st->bitrate */ -- GitLab