From 8ee8334f12c6b3b5500da179e67a3270baf1ca24 Mon Sep 17 00:00:00 2001 From: Erik Norvell Date: Mon, 23 Mar 2026 08:29:27 +0100 Subject: [PATCH 1/5] Add FIX_BASOP_2469_OBJ_EDIT_TD_REND_GAIN to correct TD renderer gain range --- lib_com/options.h | 2 +- lib_rend/ivas_objectRenderer_mix_fx.c | 4 +++ lib_rend/ivas_objectRenderer_sfx_fx.c | 34 +++++++++++++++++++++-- lib_rend/ivas_objectRenderer_sources_fx.c | 26 +++++++++++++++++ lib_rend/ivas_prot_rend_fx.h | 9 ++++++ lib_rend/ivas_stat_rend.h | 15 ++++++++++ 6 files changed, 86 insertions(+), 4 deletions(-) diff --git a/lib_com/options.h b/lib_com/options.h index eb5d8a66e..b9560f634 100644 --- a/lib_com/options.h +++ b/lib_com/options.h @@ -98,7 +98,7 @@ #define FIX_BASOP_2451_HQ_FEC_SELECTOR /* Eri: Resolve basop issue 2451, wrong condition on env_stab_plc_fx */ #define FIX_2398_PRECISSION_ORIENTATION_TRACKING /* FhG: use refinement of Sqrt32 within certain functions*/ - +#define FIX_BASOP_2469_OBJ_EDIT_TD_REND_GAIN /* Eri: Basop issue 2469: TD renderer gain has wrong Q and does not support the object editing gain range */ /* ##################### End NON-BE switches ########################### */ diff --git a/lib_rend/ivas_objectRenderer_mix_fx.c b/lib_rend/ivas_objectRenderer_mix_fx.c index a6a26609f..ac97c93a7 100644 --- a/lib_rend/ivas_objectRenderer_mix_fx.c +++ b/lib_rend/ivas_objectRenderer_mix_fx.c @@ -177,7 +177,11 @@ ivas_error TDREND_MIX_Init_fx( ) { ivas_error error; +#ifdef FIX_BASOP_2469_OBJ_EDIT_TD_REND_GAIN + hBinRendererTd->Gain_fx = ONE_IN_Q29; +#else hBinRendererTd->Gain_fx = ONE_IN_Q14; +#endif move16(); /* Init source list */ /* Spatial settings */ diff --git a/lib_rend/ivas_objectRenderer_sfx_fx.c b/lib_rend/ivas_objectRenderer_sfx_fx.c index 1c899f95b..0c1df6765 100644 --- a/lib_rend/ivas_objectRenderer_sfx_fx.c +++ b/lib_rend/ivas_objectRenderer_sfx_fx.c @@ -278,8 +278,12 @@ void TDREND_firfilt_fx( Word32 *mem_fx, /* i/o: filter memory Qx */ const Word16 subframe_length, /* i : Length of signal Q0 */ const Word16 filterlength, /* i : Filter length Q0 */ - const Word32 Gain_fx, /* i : Gain Q30 */ - const Word32 prevGain_fx /* i : Previous gain Q30 */ +#ifdef FIX_BASOP_2469_OBJ_EDIT_TD_REND_GAIN + const Word32 Gain_fx, /* i : Gain Q29 */ +#else + const Word32 Gain_fx, /* i : Gain Q30 */ +#endif + const Word32 prevGain_fx /* i : Previous gain Q30 */ ) { /* NOTE: this function is implemented with the assumption that the exponent/Q-factor of input signal will not change. */ @@ -289,15 +293,29 @@ void TDREND_firfilt_fx( Word32 *p_filter_fx; // exp(filter_e) Word16 i, j; Word32 tmp_fx; +#ifdef FIX_BASOP_2469_OBJ_EDIT_TD_REND_GAIN + Word32 step_fx /* Q29 */, gain_tmp_fx /* Q29 */, gain_delta_fx /* Q29 */; +#else Word32 step_fx /* Q31 */, gain_tmp_fx /* Q31 */, gain_delta_fx /* Q30 */; +#endif Word16 tmp_e; Word64 tmp64_fx; Word16 shift = sub( filter_e, 32 ); - gain_delta_fx = L_sub( Gain_fx, prevGain_fx ); // Q30 +#ifdef FIX_BASOP_2469_OBJ_EDIT_TD_REND_GAIN + gain_delta_fx = L_sub( Gain_fx, prevGain_fx ); // Q29 +#else + gain_delta_fx = L_sub( Gain_fx, prevGain_fx ); // Q30 +#endif step_fx = L_deposit_h( BASOP_Util_Divide3232_Scale( gain_delta_fx, subframe_length, &tmp_e ) ); // exp(tmp_e) +#ifdef FIX_BASOP_2469_OBJ_EDIT_TD_REND_GAIN + tmp_e = sub( tmp_e, Q31 ); + step_fx = L_shl_sat( step_fx, tmp_e ); // Q29 + gain_tmp_fx = prevGain_fx; // Q29 +#else tmp_e = sub( tmp_e, Q30 ); step_fx = L_shl_sat( step_fx, tmp_e ); // Q31 gain_tmp_fx = L_shl_sat( prevGain_fx, 1 ); // Q31 +#endif /* Handle memory */ p_signal_fx = buffer_fx + sub( filterlength, 1 ); // Qx @@ -325,8 +343,13 @@ void TDREND_firfilt_fx( tmp_fx = W_shl_sat_l( tmp64_fx, shift ); // Qx /* Apply linear gain interpolation in case of abrupt gain changes */ +#ifdef FIX_BASOP_2469_OBJ_EDIT_TD_REND_GAIN + gain_tmp_fx = L_add_sat( gain_tmp_fx, step_fx ); /* Saturating values which just exceeds 4, Q29*/ + signal_fx[i] = L_shl( Mpy_32_32( tmp_fx, gain_tmp_fx ), 2 ); // Qx +#else gain_tmp_fx = L_add_sat( gain_tmp_fx, step_fx ); /* Saturating values which just exceeds 1, Q31*/ signal_fx[i] = Mpy_32_32( tmp_fx, gain_tmp_fx ); // Qx +#endif move32(); v_add_fx( filter_fx, filter_delta_fx, filter_fx, filterlength ); // exp(filter_e) } @@ -349,8 +372,13 @@ void TDREND_firfilt_fx( tmp_fx = W_shl_sat_l( tmp64_fx, shift ); // Qx /* Apply linear gain interpolation in case of abrupt gain changes */ +#ifdef FIX_BASOP_2469_OBJ_EDIT_TD_REND_GAIN + gain_tmp_fx = L_add_sat( gain_tmp_fx, step_fx ); /* Saturating values which just exceeds 4, Q29*/ + signal_fx[i] = L_shl( Mpy_32_32( tmp_fx, gain_tmp_fx ), 2 ); // Qx +#else gain_tmp_fx = L_add_sat( gain_tmp_fx, step_fx ); /* Saturating values which just exceeds 1, Q31*/ signal_fx[i] = Mpy_32_32( tmp_fx, gain_tmp_fx ); // Qx +#endif move32(); } diff --git a/lib_rend/ivas_objectRenderer_sources_fx.c b/lib_rend/ivas_objectRenderer_sources_fx.c index 222a5b0f8..f3a2444e3 100644 --- a/lib_rend/ivas_objectRenderer_sources_fx.c +++ b/lib_rend/ivas_objectRenderer_sources_fx.c @@ -403,7 +403,16 @@ void TDREND_SRC_REND_UpdateFiltersFromSpatialParams_fx( } /* Update total gains */ +#ifdef FIX_BASOP_2469_OBJ_EDIT_TD_REND_GAIN + { + Word32 tmp1, tmp2; + tmp1 = L_shl( Mpy_32_16( extract_h( *SrcRend_p->SrcGain_p_fx ), extract_l( *SrcRend_p->SrcGain_p_fx ), *SrcRend_p->DirGain_p_fx ), 1 ); /* Q29 */ + tmp2 = L_shl( Mpy_32_16( extract_h( hBinRendererTd->Gain_fx ), extract_l( hBinRendererTd->Gain_fx ), *SrcRend_p->DistGain_p_fx ), 1 ); /* Q29 */ + *Gain = L_shl( Mpy_32_32( tmp1, tmp2 ), 2 ); /* Q29 */ + } +#else *Gain = L_shl( Mpy_32_32( L_shl( L_mult( *SrcRend_p->SrcGain_p_fx, *SrcRend_p->DirGain_p_fx ), 1 ), L_shl( L_mult( *SrcRend_p->DistGain_p_fx, hBinRendererTd->Gain_fx ), 1 ) ), 1 ); // Q30 +#endif move32(); /* Delta for interpolation, in case the angular step exceeds MAX_ANGULAR_STEP=0.01f */ @@ -692,11 +701,21 @@ static void TDREND_SRC_SPATIAL_SetDistAtten( --------------------------------------------------------------------*/ static void TDREND_SRC_SPATIAL_SetGain( +#ifdef FIX_BASOP_2469_OBJ_EDIT_TD_REND_GAIN + const TDREND_SRC_t *Src_p, /* i : Source */ + const Word32 Gain /* i : Gain Q29 */ +#else const TDREND_SRC_t *Src_p, /* i : Directional attenuation specification */ const Word32 Gain /* i : Front-pointing vector */ +#endif ) { +#ifdef FIX_BASOP_2469_OBJ_EDIT_TD_REND_GAIN + Src_p->SrcRend_p->SrcGain_p_fx[0] = Gain; /* Q29 */ + move32(); +#else Src_p->SrcRend_p->SrcGain_p_fx[0] = shl_sat( extract_h( Gain ), Q1 ); // TODO: Check incoming Q-value and fix this +#endif return; } @@ -978,10 +997,17 @@ void TDREND_SRC_Init_fx( move32(); Src_p->elev_prev_fx = 0; // Q22 move32(); +#ifdef FIX_BASOP_2469_OBJ_EDIT_TD_REND_GAIN + Src_p->Gain_fx = ONE_IN_Q29; // Q29 + move32(); + Src_p->prevGain_fx = ONE_IN_Q29; // Q29 + move32(); +#else Src_p->Gain_fx = ONE_IN_Q30; // Q30 move32(); Src_p->prevGain_fx = ONE_IN_Q30; // Q30 move32(); +#endif return; } diff --git a/lib_rend/ivas_prot_rend_fx.h b/lib_rend/ivas_prot_rend_fx.h index 92caf486f..017d66237 100644 --- a/lib_rend/ivas_prot_rend_fx.h +++ b/lib_rend/ivas_prot_rend_fx.h @@ -817,7 +817,11 @@ void TDREND_SRC_REND_UpdateFiltersFromSpatialParams_fx( Word16 *intp_count, /* o : Interpolation count */ Word16 *filterlength, /* o : Length of filters */ Word16 *itd, /* o : ITD value */ +#ifdef FIX_BASOP_2469_OBJ_EDIT_TD_REND_GAIN + Word32 *Gain, /* o : Gain value Q29 */ +#else Word32 *Gain, /* o : Gain value Q30 */ +#endif TDREND_SRC_t *Src_p /* i/o: Source pointer */ ); @@ -897,8 +901,13 @@ void TDREND_firfilt_fx( Word32 *mem_fx, /* i/o: filter memory Qx */ const Word16 subframe_length, /* i : Length of signal */ const Word16 filterlength, /* i : Filter length */ +#ifdef FIX_BASOP_2469_OBJ_EDIT_TD_REND_GAIN + const Word32 Gain_fx, /* i : Gain Q29 */ + const Word32 prevGain_fx /* i : Previous gain Q29 */ +#else const Word32 Gain_fx, /* i : Gain Q30 */ const Word32 prevGain_fx /* i : Previous gain Q30 */ +#endif ); diff --git a/lib_rend/ivas_stat_rend.h b/lib_rend/ivas_stat_rend.h index 00a5ba805..079a620d1 100644 --- a/lib_rend/ivas_stat_rend.h +++ b/lib_rend/ivas_stat_rend.h @@ -1208,9 +1208,15 @@ typedef struct TDREND_SRC_REND_s /* Gains */ Word16 SrcGainUpdated; +#ifdef FIX_BASOP_2469_OBJ_EDIT_TD_REND_GAIN + Word32 SrcGain_p_fx[SPAT_BIN_MAX_INPUT_CHANNELS]; /* Q29 */ + Word32 SrcGainMin_p_fx[SPAT_BIN_MAX_INPUT_CHANNELS]; /* Q29 */ + Word32 SrcGainMax_p_fx[SPAT_BIN_MAX_INPUT_CHANNELS]; /* Q29 */ +#else Word16 SrcGain_p_fx[SPAT_BIN_MAX_INPUT_CHANNELS]; // Q14 Word16 SrcGainMin_p_fx[SPAT_BIN_MAX_INPUT_CHANNELS]; Word16 SrcGainMax_p_fx[SPAT_BIN_MAX_INPUT_CHANNELS]; +#endif Word16 DirGain_p_fx[SPAT_BIN_MAX_INPUT_CHANNELS]; // Q14 Word16 DistGain_p_fx[SPAT_BIN_MAX_INPUT_CHANNELS]; // Q14 } TDREND_SRC_REND_t; @@ -1247,8 +1253,13 @@ typedef struct Word16 hrf_right_prev_e; Word32 azim_prev_fx; Word32 elev_prev_fx; +#ifdef FIX_BASOP_2469_OBJ_EDIT_TD_REND_GAIN + Word32 Gain_fx; // Q29 + Word32 prevGain_fx; // Q29 +#else Word32 Gain_fx; // Q30 Word32 prevGain_fx; // Q30 +#endif } TDREND_SRC_t; @@ -1261,7 +1272,11 @@ typedef struct ivas_binaural_td_rendering_struct Word16 MaxSrcInd; TDREND_SRC_t *Sources[MAX_NUM_TDREND_CHANNELS]; +#ifdef FIX_BASOP_2469_OBJ_EDIT_TD_REND_GAIN + Word32 Gain_fx; /* Q29 */ +#else Word16 Gain_fx; /* Q14 */ +#endif TDREND_MIX_Listener_t *Listener_p; /* The virtual listener */ TDREND_HRFILT_FiltSet_t *HrFiltSet_p; /* HR filter set */ -- GitLab From de9f32accb9138597ef484cabbe795ed3b079050 Mon Sep 17 00:00:00 2001 From: Erik Norvell Date: Mon, 23 Mar 2026 15:33:26 +0100 Subject: [PATCH 2/5] Fixed init of TD renderer gain --- lib_rend/ivas_objectRenderer_sources_fx.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/lib_rend/ivas_objectRenderer_sources_fx.c b/lib_rend/ivas_objectRenderer_sources_fx.c index f3a2444e3..3fdfb9e6d 100644 --- a/lib_rend/ivas_objectRenderer_sources_fx.c +++ b/lib_rend/ivas_objectRenderer_sources_fx.c @@ -270,12 +270,21 @@ static void TDREND_SRC_REND_Init_fx( /* SrcGain */ FOR( nC = 0; nC < SPAT_BIN_MAX_INPUT_CHANNELS; nC++ ) { +#ifdef FIX_BASOP_2469_OBJ_EDIT_TD_REND_GAIN + SrcRend_p->SrcGainMin_p_fx[nC] = 0; /* Q29 */ + move16(); + SrcRend_p->SrcGain_p_fx[nC] = ONE_IN_Q29; /* Q29 */ + move16(); + SrcRend_p->SrcGainMax_p_fx[nC] = 2137321728 /* Q29, 3.9810719f, +12 dB */; + move16(); +#else SrcRend_p->SrcGainMin_p_fx[nC] = 0; /* Q15 */ move16(); SrcRend_p->SrcGain_p_fx[nC] = ONE_IN_Q14; // Q14 move16(); SrcRend_p->SrcGainMax_p_fx[nC] = 32767; // TODO: make it 2, this is one in Q15, i thinki, need to change Q for that move16(); +#endif } SrcRend_p->SrcGainUpdated = FALSE; move16(); -- GitLab From 40b255e1870adc280648b21a12df0e2def9f6120 Mon Sep 17 00:00:00 2001 From: Erik Norvell Date: Tue, 24 Mar 2026 15:04:26 +0100 Subject: [PATCH 3/5] Add missing update of init for non-diegetic panning operation --- lib_rend/ivas_objectRenderer_sources_fx.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/lib_rend/ivas_objectRenderer_sources_fx.c b/lib_rend/ivas_objectRenderer_sources_fx.c index 3fdfb9e6d..be8be77ea 100644 --- a/lib_rend/ivas_objectRenderer_sources_fx.c +++ b/lib_rend/ivas_objectRenderer_sources_fx.c @@ -471,7 +471,11 @@ void TDREND_SRC_REND_UpdateFiltersFromSpatialParams_fx( { *itd = 0; // Q0 move16(); +#ifdef FIX_BASOP_2469_OBJ_EDIT_TD_REND_GAIN + *Gain = ONE_IN_Q29; /* Q29 */ +#else *Gain = ONE_IN_Q30; // Q30 +#endif move32(); set32_fx( hrf_left, 0, *filterlength ); set32_fx( hrf_right, 0, *filterlength ); -- GitLab From bbb4299bf339be0fe0be918b50ea0ff7a18953d5 Mon Sep 17 00:00:00 2001 From: Erik Norvell Date: Wed, 25 Mar 2026 09:26:25 +0100 Subject: [PATCH 4/5] Fixes of a few related comments on Q-values for TD renderer gain --- lib_rend/ivas_objectRenderer_fx.c | 4 ++++ lib_rend/ivas_objectRenderer_sfx_fx.c | 8 +++++--- lib_rend/ivas_objectRenderer_sources_fx.c | 14 +++++++++++--- 3 files changed, 20 insertions(+), 6 deletions(-) diff --git a/lib_rend/ivas_objectRenderer_fx.c b/lib_rend/ivas_objectRenderer_fx.c index daa06bbf4..19e0d450a 100644 --- a/lib_rend/ivas_objectRenderer_fx.c +++ b/lib_rend/ivas_objectRenderer_fx.c @@ -665,7 +665,11 @@ ivas_error TDREND_Update_object_positions_fx( { return error; } +#ifdef FIX_BASOP_2469_OBJ_EDIT_TD_REND_GAIN + if ( ( error = TDREND_MIX_SRC_SetGain( hBinRendererTd, nS, hIsmMetaData[nS]->gain_fx ) ) != IVAS_ERR_OK ) +#else if ( ( error = TDREND_MIX_SRC_SetGain( hBinRendererTd, nS, hIsmMetaData[nS]->gain_fx ) ) != IVAS_ERR_OK ) // TODO: Check Gain has correct Q-value +#endif { return error; } diff --git a/lib_rend/ivas_objectRenderer_sfx_fx.c b/lib_rend/ivas_objectRenderer_sfx_fx.c index 0c1df6765..82c6f1cad 100644 --- a/lib_rend/ivas_objectRenderer_sfx_fx.c +++ b/lib_rend/ivas_objectRenderer_sfx_fx.c @@ -279,11 +279,13 @@ void TDREND_firfilt_fx( const Word16 subframe_length, /* i : Length of signal Q0 */ const Word16 filterlength, /* i : Filter length Q0 */ #ifdef FIX_BASOP_2469_OBJ_EDIT_TD_REND_GAIN - const Word32 Gain_fx, /* i : Gain Q29 */ + const Word32 Gain_fx, /* i : Gain Q29 */ + const Word32 prevGain_fx /* i : Previous gain Q29 */ #else - const Word32 Gain_fx, /* i : Gain Q30 */ -#endif + const Word32 Gain_fx, /* i : Gain Q30 */ const Word32 prevGain_fx /* i : Previous gain Q30 */ +#endif + ) { /* NOTE: this function is implemented with the assumption that the exponent/Q-factor of input signal will not change. */ diff --git a/lib_rend/ivas_objectRenderer_sources_fx.c b/lib_rend/ivas_objectRenderer_sources_fx.c index be8be77ea..7809eec7f 100644 --- a/lib_rend/ivas_objectRenderer_sources_fx.c +++ b/lib_rend/ivas_objectRenderer_sources_fx.c @@ -139,7 +139,11 @@ ivas_error TDREND_MIX_SRC_SetDir_fx( ivas_error TDREND_MIX_SRC_SetGain( BINAURAL_TD_OBJECT_RENDERER_HANDLE hBinRendererTd, /* i/o: TD renderer handle */ const Word16 SrcInd, /* i : Source index */ - const Word32 Gain /* i : Gain */ +#ifdef FIX_BASOP_2469_OBJ_EDIT_TD_REND_GAIN + const Word32 Gain /* i : Gain Q29 */ +#else + const Word32 Gain /* i : Gain */ +#endif ) { TDREND_SRC_SPATIAL_SetGain( hBinRendererTd->Sources[SrcInd], Gain ); @@ -321,8 +325,12 @@ void TDREND_SRC_REND_UpdateFiltersFromSpatialParams_fx( Word16 *intp_count, /* o : Interpolation count Q0 */ Word16 *filterlength, /* o : Length of filters Q0 */ Word16 *itd, /* o : ITD value Q0 */ - Word32 *Gain, /* o : Gain value Q30 */ - TDREND_SRC_t *Src_p /* i/o: Source pointer */ +#ifdef FIX_BASOP_2469_OBJ_EDIT_TD_REND_GAIN + Word32 *Gain, /* o : Gain value Q29 */ +#else + Word32 *Gain, /* o : Gain value Q30 */ +#endif + TDREND_SRC_t *Src_p /* i/o: Source pointer */ ) { TDREND_MIX_Listener_t *Listener_p; -- GitLab From 3bf44e12c166853a784fb0a473f07b2308afa3ec Mon Sep 17 00:00:00 2001 From: Erik Norvell Date: Wed, 25 Mar 2026 13:05:03 +0100 Subject: [PATCH 5/5] Added minor cleanup and correction of moves under FIX_BASOP_2469_OBJ_EDIT_TD_REND_GAIN --- lib_rend/ivas_objectRenderer_mix_fx.c | 4 +++- lib_rend/ivas_objectRenderer_sfx_fx.c | 1 + lib_rend/ivas_objectRenderer_sources_fx.c | 6 +----- lib_rend/ivas_stat_rend.h | 4 +--- 4 files changed, 6 insertions(+), 9 deletions(-) diff --git a/lib_rend/ivas_objectRenderer_mix_fx.c b/lib_rend/ivas_objectRenderer_mix_fx.c index ac97c93a7..3d7e42a7e 100644 --- a/lib_rend/ivas_objectRenderer_mix_fx.c +++ b/lib_rend/ivas_objectRenderer_mix_fx.c @@ -179,10 +179,12 @@ ivas_error TDREND_MIX_Init_fx( ivas_error error; #ifdef FIX_BASOP_2469_OBJ_EDIT_TD_REND_GAIN hBinRendererTd->Gain_fx = ONE_IN_Q29; + move32(); #else hBinRendererTd->Gain_fx = ONE_IN_Q14; -#endif move16(); +#endif + /* Init source list */ /* Spatial settings */ IF( MixSpatSpec_p != NULL ) diff --git a/lib_rend/ivas_objectRenderer_sfx_fx.c b/lib_rend/ivas_objectRenderer_sfx_fx.c index 82c6f1cad..3649d9c98 100644 --- a/lib_rend/ivas_objectRenderer_sfx_fx.c +++ b/lib_rend/ivas_objectRenderer_sfx_fx.c @@ -313,6 +313,7 @@ void TDREND_firfilt_fx( tmp_e = sub( tmp_e, Q31 ); step_fx = L_shl_sat( step_fx, tmp_e ); // Q29 gain_tmp_fx = prevGain_fx; // Q29 + move32(); #else tmp_e = sub( tmp_e, Q30 ); step_fx = L_shl_sat( step_fx, tmp_e ); // Q31 diff --git a/lib_rend/ivas_objectRenderer_sources_fx.c b/lib_rend/ivas_objectRenderer_sources_fx.c index 7809eec7f..7a278a8bb 100644 --- a/lib_rend/ivas_objectRenderer_sources_fx.c +++ b/lib_rend/ivas_objectRenderer_sources_fx.c @@ -275,12 +275,8 @@ static void TDREND_SRC_REND_Init_fx( FOR( nC = 0; nC < SPAT_BIN_MAX_INPUT_CHANNELS; nC++ ) { #ifdef FIX_BASOP_2469_OBJ_EDIT_TD_REND_GAIN - SrcRend_p->SrcGainMin_p_fx[nC] = 0; /* Q29 */ - move16(); SrcRend_p->SrcGain_p_fx[nC] = ONE_IN_Q29; /* Q29 */ - move16(); - SrcRend_p->SrcGainMax_p_fx[nC] = 2137321728 /* Q29, 3.9810719f, +12 dB */; - move16(); + move32(); #else SrcRend_p->SrcGainMin_p_fx[nC] = 0; /* Q15 */ move16(); diff --git a/lib_rend/ivas_stat_rend.h b/lib_rend/ivas_stat_rend.h index 079a620d1..ea5fbcd4e 100644 --- a/lib_rend/ivas_stat_rend.h +++ b/lib_rend/ivas_stat_rend.h @@ -1209,9 +1209,7 @@ typedef struct TDREND_SRC_REND_s /* Gains */ Word16 SrcGainUpdated; #ifdef FIX_BASOP_2469_OBJ_EDIT_TD_REND_GAIN - Word32 SrcGain_p_fx[SPAT_BIN_MAX_INPUT_CHANNELS]; /* Q29 */ - Word32 SrcGainMin_p_fx[SPAT_BIN_MAX_INPUT_CHANNELS]; /* Q29 */ - Word32 SrcGainMax_p_fx[SPAT_BIN_MAX_INPUT_CHANNELS]; /* Q29 */ + Word32 SrcGain_p_fx[SPAT_BIN_MAX_INPUT_CHANNELS]; /* Q29 */ #else Word16 SrcGain_p_fx[SPAT_BIN_MAX_INPUT_CHANNELS]; // Q14 Word16 SrcGainMin_p_fx[SPAT_BIN_MAX_INPUT_CHANNELS]; -- GitLab