From 187bdc2b4ca5013062f4ece21425dfcf17399ab2 Mon Sep 17 00:00:00 2001 From: Dominik Weckbecker Date: Mon, 11 Aug 2025 12:47:41 +0200 Subject: [PATCH 01/19] port required part of object-editing API under FIX_189_OBJ_EDITING_API --- lib_com/ivas_prot.h | 12 +++++++++++ lib_com/options.h | 2 ++ lib_dec/ivas_jbm_dec.c | 4 ++++ lib_dec/ivas_osba_dec.c | 45 +++++++++++++++++++++++++++++++++++++++++ 4 files changed, 63 insertions(+) diff --git a/lib_com/ivas_prot.h b/lib_com/ivas_prot.h index 9d2384043..7a3bb3984 100644 --- a/lib_com/ivas_prot.h +++ b/lib_com/ivas_prot.h @@ -5611,6 +5611,18 @@ ivas_error ivas_osba_render_sf( float *output_f[] /* o : rendered time signal */ ); +#ifdef FIX_1849_OBJ_EDITING_API +void ivas_osba_stereo_add_channels( + float *tc_f[], /* i : transport channels */ + float *output_f[], /* i/o: output channels */ + const float gain, /* i : gain bed value */ + const int16_t nchan_out, /* i : number of output channels */ + const int16_t nchan_ism, /* i : number of ISM channels */ + const int16_t ism_mode, /* i : ISM mode */ + const int16_t n_samples_to_render /* i : output frame length per channel */ +); +#endif + void ivas_osba_data_close( SBA_ISM_DATA_HANDLE *hSbaIsmData /* i/o: OSBA rendering handle */ ); diff --git a/lib_com/options.h b/lib_com/options.h index 2128f5987..009f47ba0 100644 --- a/lib_com/options.h +++ b/lib_com/options.h @@ -205,6 +205,8 @@ #define NONBE_FIX_981_PARAMBIN_DEFAULT_EARLY_PART /* Nokia: Set default early part energy correction to unity for BINAURAL_ROOM_REVERB */ #define NONBE_FIX_1174_MCMASA_LBR_LOOP_ERROR /* Nokia: Fix issue 1174 by removing the unnecessary inner loop causing problems. */ +#define FIX_1849_OBJ_EDITING_API + /* #################### End BASOP porting switches ############################ */ /* clang-format on */ diff --git a/lib_dec/ivas_jbm_dec.c b/lib_dec/ivas_jbm_dec.c index 1a916d7fd..974e5360a 100644 --- a/lib_dec/ivas_jbm_dec.c +++ b/lib_dec/ivas_jbm_dec.c @@ -1238,10 +1238,14 @@ ivas_error ivas_jbm_dec_render( ivas_ism_render_sf( st_ivas, st_ivas->renderer_type, p_output, *nSamplesRendered ); /* add already rendered SBA part */ +#ifdef FIX_1849_OBJ_EDITING_API + ivas_osba_stereo_add_channels( p_tc, p_output, 1.0f, nchan_out, st_ivas->nchan_ism, st_ivas->ism_mode, *nSamplesRendered ); +#else for ( n = 0; n < nchan_out; n++ ) { v_add( p_output[n], p_tc[n + st_ivas->nchan_ism], p_output[n], *nSamplesRendered ); } +#endif } else if ( st_ivas->renderer_type == RENDERER_OSBA_AMBI || st_ivas->renderer_type == RENDERER_OSBA_LS || st_ivas->renderer_type == RENDERER_BINAURAL_FASTCONV_ROOM ) { diff --git a/lib_dec/ivas_osba_dec.c b/lib_dec/ivas_osba_dec.c index 535f1edb2..b7bd3be3d 100644 --- a/lib_dec/ivas_osba_dec.c +++ b/lib_dec/ivas_osba_dec.c @@ -302,3 +302,48 @@ ivas_error ivas_osba_render_sf( return IVAS_ERR_OK; } + +#ifdef FIX_1849_OBJ_EDITING_API +/*-------------------------------------------------------------------------* + * ivas_osba_stereo_add_channels() + * + * + *-------------------------------------------------------------------------*/ + +void ivas_osba_stereo_add_channels( + float *tc_f[], /* i : transport channels */ + float *output_f[], /* i/o: output channels */ + const float gain, /* i : gain bed value */ + const int16_t nchan_out, /* i : number of output channels */ + const int16_t nchan_ism, /* i : number of ISM channels */ + const int16_t ism_mode, /* i : ISM mode */ + const int16_t n_samples_to_render /* i : output frame length per channel */ +) +{ + int16_t n; + + if ( ism_mode == ISM_SBA_MODE_DISC ) + { + if ( gain != 1.0f ) + { + assert(0 && "Object editing is not implemented in this branch!"); + } + else + { + for ( n = 0; n < nchan_out; n++ ) + { + v_add( output_f[n], tc_f[n + nchan_ism], output_f[n], n_samples_to_render ); + } + } + } + else + { + for ( n = 0; n < nchan_out; n++ ) + { + v_add( output_f[n], tc_f[n + nchan_ism], output_f[n], n_samples_to_render ); + } + } + + return; +} +#endif \ No newline at end of file -- GitLab From 2035c6fbffbe783b84f4fa789ae21555511fb142 Mon Sep 17 00:00:00 2001 From: Dominik Weckbecker Date: Mon, 11 Aug 2025 12:57:25 +0200 Subject: [PATCH 02/19] fix formatting --- lib_dec/ivas_osba_dec.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/lib_dec/ivas_osba_dec.c b/lib_dec/ivas_osba_dec.c index b7bd3be3d..cc2baf66f 100644 --- a/lib_dec/ivas_osba_dec.c +++ b/lib_dec/ivas_osba_dec.c @@ -307,7 +307,7 @@ ivas_error ivas_osba_render_sf( /*-------------------------------------------------------------------------* * ivas_osba_stereo_add_channels() * - * + * *-------------------------------------------------------------------------*/ void ivas_osba_stereo_add_channels( @@ -326,7 +326,7 @@ void ivas_osba_stereo_add_channels( { if ( gain != 1.0f ) { - assert(0 && "Object editing is not implemented in this branch!"); + assert( 0 && "Object editing is not implemented in this branch!" ); } else { @@ -346,4 +346,4 @@ void ivas_osba_stereo_add_channels( return; } -#endif \ No newline at end of file +#endif -- GitLab From 7d346792b17b63d6ee5126946e62a1f995b42ce5 Mon Sep 17 00:00:00 2001 From: Dominik Weckbecker Date: Mon, 11 Aug 2025 13:51:48 +0200 Subject: [PATCH 03/19] port NONBE_FIX_1262_OSBA_STEREO from float --- lib_com/ivas_prot.h | 2 ++ lib_com/options.h | 1 + lib_dec/ivas_jbm_dec.c | 6 ++++++ lib_dec/ivas_osba_dec.c | 15 +++++++++++++++ 4 files changed, 24 insertions(+) diff --git a/lib_com/ivas_prot.h b/lib_com/ivas_prot.h index 7a3bb3984..397657054 100644 --- a/lib_com/ivas_prot.h +++ b/lib_com/ivas_prot.h @@ -5618,7 +5618,9 @@ void ivas_osba_stereo_add_channels( const float gain, /* i : gain bed value */ const int16_t nchan_out, /* i : number of output channels */ const int16_t nchan_ism, /* i : number of ISM channels */ +#ifndef NONBE_FIX_1262_OSBA_STEREO const int16_t ism_mode, /* i : ISM mode */ +#endif const int16_t n_samples_to_render /* i : output frame length per channel */ ); #endif diff --git a/lib_com/options.h b/lib_com/options.h index 009f47ba0..54507238b 100644 --- a/lib_com/options.h +++ b/lib_com/options.h @@ -206,6 +206,7 @@ #define NONBE_FIX_1174_MCMASA_LBR_LOOP_ERROR /* Nokia: Fix issue 1174 by removing the unnecessary inner loop causing problems. */ #define FIX_1849_OBJ_EDITING_API +#define NONBE_FIX_1262_OSBA_STEREO /* #################### End BASOP porting switches ############################ */ diff --git a/lib_dec/ivas_jbm_dec.c b/lib_dec/ivas_jbm_dec.c index 974e5360a..b5a9c4080 100644 --- a/lib_dec/ivas_jbm_dec.c +++ b/lib_dec/ivas_jbm_dec.c @@ -1239,7 +1239,13 @@ ivas_error ivas_jbm_dec_render( /* add already rendered SBA part */ #ifdef FIX_1849_OBJ_EDITING_API + +#ifdef NONBE_FIX_1262_OSBA_STEREO + ivas_osba_stereo_add_channels( p_tc, p_output, 1.0f, nchan_out, st_ivas->nchan_ism, *nSamplesRendered ); +#else ivas_osba_stereo_add_channels( p_tc, p_output, 1.0f, nchan_out, st_ivas->nchan_ism, st_ivas->ism_mode, *nSamplesRendered ); +#endif + #else for ( n = 0; n < nchan_out; n++ ) { diff --git a/lib_dec/ivas_osba_dec.c b/lib_dec/ivas_osba_dec.c index cc2baf66f..a87430b01 100644 --- a/lib_dec/ivas_osba_dec.c +++ b/lib_dec/ivas_osba_dec.c @@ -316,14 +316,18 @@ void ivas_osba_stereo_add_channels( const float gain, /* i : gain bed value */ const int16_t nchan_out, /* i : number of output channels */ const int16_t nchan_ism, /* i : number of ISM channels */ +#ifndef NONBE_FIX_1262_OSBA_STEREO const int16_t ism_mode, /* i : ISM mode */ +#endif const int16_t n_samples_to_render /* i : output frame length per channel */ ) { int16_t n; +#ifndef NONBE_FIX_1262_OSBA_STEREO if ( ism_mode == ISM_SBA_MODE_DISC ) { +#endif if ( gain != 1.0f ) { assert( 0 && "Object editing is not implemented in this branch!" ); @@ -335,6 +339,7 @@ void ivas_osba_stereo_add_channels( v_add( output_f[n], tc_f[n + nchan_ism], output_f[n], n_samples_to_render ); } } +#ifndef NONBE_FIX_1262_OSBA_STEREO } else { @@ -343,6 +348,16 @@ void ivas_osba_stereo_add_channels( v_add( output_f[n], tc_f[n + nchan_ism], output_f[n], n_samples_to_render ); } } +#endif + + +#ifdef NONBE_FIX_1262_OSBA_STEREO + for ( n = 0; n < nchan_out; n++ ) + { + v_multc( output_f[n], 0.5f, output_f[n], n_samples_to_render ); + } +#endif + return; } -- GitLab From b613ce89d90cbdc40411d596d9de826f97e479bd Mon Sep 17 00:00:00 2001 From: Dominik Weckbecker Date: Mon, 11 Aug 2025 13:56:16 +0200 Subject: [PATCH 04/19] fix formatting --- lib_dec/ivas_osba_dec.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/lib_dec/ivas_osba_dec.c b/lib_dec/ivas_osba_dec.c index a87430b01..c631229b1 100644 --- a/lib_dec/ivas_osba_dec.c +++ b/lib_dec/ivas_osba_dec.c @@ -311,13 +311,13 @@ ivas_error ivas_osba_render_sf( *-------------------------------------------------------------------------*/ void ivas_osba_stereo_add_channels( - float *tc_f[], /* i : transport channels */ - float *output_f[], /* i/o: output channels */ - const float gain, /* i : gain bed value */ - const int16_t nchan_out, /* i : number of output channels */ - const int16_t nchan_ism, /* i : number of ISM channels */ + float *tc_f[], /* i : transport channels */ + float *output_f[], /* i/o: output channels */ + const float gain, /* i : gain bed value */ + const int16_t nchan_out, /* i : number of output channels */ + const int16_t nchan_ism, /* i : number of ISM channels */ #ifndef NONBE_FIX_1262_OSBA_STEREO - const int16_t ism_mode, /* i : ISM mode */ + const int16_t ism_mode, /* i : ISM mode */ #endif const int16_t n_samples_to_render /* i : output frame length per channel */ ) -- GitLab From 3abdfe140b26842cd42fc1d6b790686c596ee81d Mon Sep 17 00:00:00 2001 From: Dominik Weckbecker Date: Mon, 11 Aug 2025 15:05:15 +0200 Subject: [PATCH 05/19] port NONBE_1339_FIXOSBA_EXT_LOUDNESS from float MR 2159 --- lib_com/options.h | 2 ++ lib_dec/ivas_jbm_dec.c | 8 ++++++++ 2 files changed, 10 insertions(+) diff --git a/lib_com/options.h b/lib_com/options.h index 54507238b..3ff875e0b 100644 --- a/lib_com/options.h +++ b/lib_com/options.h @@ -207,6 +207,8 @@ #define FIX_1849_OBJ_EDITING_API #define NONBE_FIX_1262_OSBA_STEREO +#define NONBE_1339_FIXOSBA_EXT_LOUDNESS + /* #################### End BASOP porting switches ############################ */ diff --git a/lib_dec/ivas_jbm_dec.c b/lib_dec/ivas_jbm_dec.c index b5a9c4080..bbaf8a7d5 100644 --- a/lib_dec/ivas_jbm_dec.c +++ b/lib_dec/ivas_jbm_dec.c @@ -1304,6 +1304,14 @@ ivas_error ivas_jbm_dec_render( { set_zero( p_output[n], *nSamplesRendered ); } + +#ifdef NONBE_1339_FIXOSBA_EXT_LOUDNESS + for ( n = 0; n < st_ivas->hDecoderConfig->nchan_out; n++ ) + { + v_multc( p_output[n], 0.5f, p_output[n], *nSamplesRendered ); + } +#endif + } } } -- GitLab From ec0a9888bb290f76c94b61b8ebfb70f997048f1b Mon Sep 17 00:00:00 2001 From: Dominik Weckbecker Date: Mon, 11 Aug 2025 15:10:38 +0200 Subject: [PATCH 06/19] fix formatting --- lib_dec/ivas_jbm_dec.c | 1 - 1 file changed, 1 deletion(-) diff --git a/lib_dec/ivas_jbm_dec.c b/lib_dec/ivas_jbm_dec.c index bbaf8a7d5..92f3e35f1 100644 --- a/lib_dec/ivas_jbm_dec.c +++ b/lib_dec/ivas_jbm_dec.c @@ -1311,7 +1311,6 @@ ivas_error ivas_jbm_dec_render( v_multc( p_output[n], 0.5f, p_output[n], *nSamplesRendered ); } #endif - } } } -- GitLab From 6a2440610da70df7e4a1e422e06ef3018894d33a Mon Sep 17 00:00:00 2001 From: Dominik Weckbecker Date: Mon, 11 Aug 2025 16:45:55 +0200 Subject: [PATCH 07/19] port NONBE_1352_HARMONIZE_OSBA_LOUDNESS from float MR 2184 --- lib_com/options.h | 1 + lib_dec/ivas_jbm_dec.c | 12 ++++++++++++ lib_dec/ivas_osba_dec.c | 19 ++++++++++++++++--- 3 files changed, 29 insertions(+), 3 deletions(-) diff --git a/lib_com/options.h b/lib_com/options.h index 3ff875e0b..28fc2f02c 100644 --- a/lib_com/options.h +++ b/lib_com/options.h @@ -208,6 +208,7 @@ #define FIX_1849_OBJ_EDITING_API #define NONBE_FIX_1262_OSBA_STEREO #define NONBE_1339_FIXOSBA_EXT_LOUDNESS +#define NONBE_1352_HARMONIZE_OSBA_LOUDNESS /* FhG: do not scale OSBA inputs by 0.5 any more */ /* #################### End BASOP porting switches ############################ */ diff --git a/lib_dec/ivas_jbm_dec.c b/lib_dec/ivas_jbm_dec.c index 92f3e35f1..7ef8eed2e 100644 --- a/lib_dec/ivas_jbm_dec.c +++ b/lib_dec/ivas_jbm_dec.c @@ -1283,6 +1283,12 @@ ivas_error ivas_jbm_dec_render( else if ( st_ivas->renderer_type == RENDERER_BINAURAL_PARAMETRIC || st_ivas->renderer_type == RENDERER_BINAURAL_PARAMETRIC_ROOM ) { ivas_dirac_dec_binaural_render( st_ivas, nSamplesAskedLocal, nSamplesRendered, nSamplesAvailableNext, nchan_remapped, p_output ); +#ifdef NONBE_1352_HARMONIZE_OSBA_LOUDNESS + for ( n = 0; n < st_ivas->hDecoderConfig->nchan_out; n++ ) + { + v_multc( p_output[n], 2.0f, p_output[n], *nSamplesRendered ); + } +#endif } else { @@ -1312,6 +1318,12 @@ ivas_error ivas_jbm_dec_render( } #endif } +#ifdef NONBE_1352_HARMONIZE_OSBA_LOUDNESS + for ( n = 0; n < st_ivas->hDecoderConfig->nchan_out; n++ ) + { + v_multc( p_output[n], 2.0f, p_output[n], *nSamplesRendered ); + } +#endif } } else if ( st_ivas->ivas_format == MC_FORMAT ) diff --git a/lib_dec/ivas_osba_dec.c b/lib_dec/ivas_osba_dec.c index c631229b1..d09049493 100644 --- a/lib_dec/ivas_osba_dec.c +++ b/lib_dec/ivas_osba_dec.c @@ -184,12 +184,20 @@ ivas_error ivas_osba_dirac_td_binaural_jbm( for ( b = 0; b < num_cldfb_bands; b++ ) { st_ivas->hSplitBinRend->hMultiBinCldfbData->Cldfb_RealBuffer_Binaural[n][slot_idx_start + slot_idx][b] = +#ifndef NONBE_1352_HARMONIZE_OSBA_LOUDNESS ( 0.5f * st_ivas->hSplitBinRend->hMultiBinCldfbData->Cldfb_RealBuffer_Binaural[n][slot_idx_start + slot_idx][b] ) + ( 0.5f * Cldfb_RealBuffer[b] ); +#else + st_ivas->hSplitBinRend->hMultiBinCldfbData->Cldfb_RealBuffer_Binaural[n][slot_idx_start + slot_idx][b] + Cldfb_RealBuffer[b]; +#endif st_ivas->hSplitBinRend->hMultiBinCldfbData->Cldfb_ImagBuffer_Binaural[n][slot_idx_start + slot_idx][b] = +#ifndef NONBE_1352_HARMONIZE_OSBA_LOUDNESS ( 0.5f * st_ivas->hSplitBinRend->hMultiBinCldfbData->Cldfb_ImagBuffer_Binaural[n][slot_idx_start + slot_idx][b] ) + - ( 0.5f * Cldfb_ImagBuffer[b] ); + ( 0.5f * Cldfb_ImagBuffer[b] ) +#else + st_ivas->hSplitBinRend->hMultiBinCldfbData->Cldfb_ImagBuffer_Binaural[n][slot_idx_start + slot_idx][b] + Cldfb_ImagBuffer[b]; +#endif } } } @@ -206,7 +214,11 @@ ivas_error ivas_osba_dirac_td_binaural_jbm( int16_t i; for ( i = 0; i < nSamplesAsked; i++ ) { +#ifndef NONBE_1352_HARMONIZE_OSBA_LOUDNESS output_f[n][i] = 0.5f * output_f[channel_offset + n][i] + 0.5f * p_sepobj[n][i]; +#else + output_f[n][i] = output_f[channel_offset + n][i] + p_sepobj[n][i]; +#endif } } } @@ -296,8 +308,9 @@ ivas_error ivas_osba_render_sf( { v_add( p_output[n], p_output_ism[n], p_output[n], *nSamplesRendered ); } - +#ifndef NONBE_1352_HARMONIZE_OSBA_LOUDNESS v_multc( p_output[n], 0.5f, p_output[n], *nSamplesRendered ); +#endif } return IVAS_ERR_OK; @@ -351,7 +364,7 @@ void ivas_osba_stereo_add_channels( #endif -#ifdef NONBE_FIX_1262_OSBA_STEREO +#if defined(NONBE_FIX_1262_OSBA_STEREO) && !defined( NONBE_1352_HARMONIZE_OSBA_LOUDNESS ) for ( n = 0; n < nchan_out; n++ ) { v_multc( output_f[n], 0.5f, output_f[n], n_samples_to_render ); -- GitLab From 5b296a795ad7f42f193393deb3bcd342d1467316 Mon Sep 17 00:00:00 2001 From: Dominik Weckbecker Date: Mon, 11 Aug 2025 16:58:52 +0200 Subject: [PATCH 08/19] fix formating --- lib_dec/ivas_osba_dec.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib_dec/ivas_osba_dec.c b/lib_dec/ivas_osba_dec.c index d09049493..f04132176 100644 --- a/lib_dec/ivas_osba_dec.c +++ b/lib_dec/ivas_osba_dec.c @@ -364,7 +364,7 @@ void ivas_osba_stereo_add_channels( #endif -#if defined(NONBE_FIX_1262_OSBA_STEREO) && !defined( NONBE_1352_HARMONIZE_OSBA_LOUDNESS ) +#if defined( NONBE_FIX_1262_OSBA_STEREO ) && !defined( NONBE_1352_HARMONIZE_OSBA_LOUDNESS ) for ( n = 0; n < nchan_out; n++ ) { v_multc( output_f[n], 0.5f, output_f[n], n_samples_to_render ); -- GitLab From e0773067290b79ed5d735d9d21d4dd7433b302c6 Mon Sep 17 00:00:00 2001 From: Dominik Weckbecker Date: Tue, 12 Aug 2025 09:49:29 +0200 Subject: [PATCH 09/19] fix an ifdef in ivas_jbm_dec.c --- lib_dec/ivas_jbm_dec.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib_dec/ivas_jbm_dec.c b/lib_dec/ivas_jbm_dec.c index 7ef8eed2e..67546b967 100644 --- a/lib_dec/ivas_jbm_dec.c +++ b/lib_dec/ivas_jbm_dec.c @@ -1311,7 +1311,7 @@ ivas_error ivas_jbm_dec_render( set_zero( p_output[n], *nSamplesRendered ); } -#ifdef NONBE_1339_FIXOSBA_EXT_LOUDNESS +#if defined( NONBE_1339_FIXOSBA_EXT_LOUDNESS ) && !defined (NONBE_1352_HARMONIZE_OSBA_LOUDNESS ) for ( n = 0; n < st_ivas->hDecoderConfig->nchan_out; n++ ) { v_multc( p_output[n], 0.5f, p_output[n], *nSamplesRendered ); -- GitLab From 4dbffe274dc9bd57cafd008bae78c04245a45727 Mon Sep 17 00:00:00 2001 From: Dominik Weckbecker Date: Tue, 12 Aug 2025 10:24:43 +0200 Subject: [PATCH 10/19] insert missing scaling for discrete OSBA to EXT output --- lib_dec/ivas_jbm_dec.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/lib_dec/ivas_jbm_dec.c b/lib_dec/ivas_jbm_dec.c index 67546b967..1e2a597e4 100644 --- a/lib_dec/ivas_jbm_dec.c +++ b/lib_dec/ivas_jbm_dec.c @@ -1271,6 +1271,13 @@ ivas_error ivas_jbm_dec_render( { mvr2r( st_ivas->hTcBuffer->tc[n] + st_ivas->hTcBuffer->n_samples_rendered, p_output[n], *nSamplesRendered ); } +#if defined( NONBE_1339_FIXOSBA_EXT_LOUDNESS ) && !defined( NONBE_1352_HARMONIZE_OSBA_LOUDNESS ) + for ( n = 0; n < st_ivas->hDecoderConfig->nchan_out; n++ ) + { + v_multc( p_output[n], 0.5f, p_output[n], *nSamplesRendered ); + } +#endif + } else { -- GitLab From 2156e49e378d6b63d1e329bbb13b941344d0b6df Mon Sep 17 00:00:00 2001 From: Dominik Weckbecker Date: Tue, 12 Aug 2025 10:53:48 +0200 Subject: [PATCH 11/19] consolidate defines that cancel out --- lib_dec/ivas_jbm_dec.c | 7 ------- lib_dec/ivas_osba_dec.c | 9 --------- 2 files changed, 16 deletions(-) diff --git a/lib_dec/ivas_jbm_dec.c b/lib_dec/ivas_jbm_dec.c index 1e2a597e4..67546b967 100644 --- a/lib_dec/ivas_jbm_dec.c +++ b/lib_dec/ivas_jbm_dec.c @@ -1271,13 +1271,6 @@ ivas_error ivas_jbm_dec_render( { mvr2r( st_ivas->hTcBuffer->tc[n] + st_ivas->hTcBuffer->n_samples_rendered, p_output[n], *nSamplesRendered ); } -#if defined( NONBE_1339_FIXOSBA_EXT_LOUDNESS ) && !defined( NONBE_1352_HARMONIZE_OSBA_LOUDNESS ) - for ( n = 0; n < st_ivas->hDecoderConfig->nchan_out; n++ ) - { - v_multc( p_output[n], 0.5f, p_output[n], *nSamplesRendered ); - } -#endif - } else { diff --git a/lib_dec/ivas_osba_dec.c b/lib_dec/ivas_osba_dec.c index f04132176..58ba35089 100644 --- a/lib_dec/ivas_osba_dec.c +++ b/lib_dec/ivas_osba_dec.c @@ -363,15 +363,6 @@ void ivas_osba_stereo_add_channels( } #endif - -#if defined( NONBE_FIX_1262_OSBA_STEREO ) && !defined( NONBE_1352_HARMONIZE_OSBA_LOUDNESS ) - for ( n = 0; n < nchan_out; n++ ) - { - v_multc( output_f[n], 0.5f, output_f[n], n_samples_to_render ); - } -#endif - - return; } #endif -- GitLab From 3b2d9de2b9c8f11fad261be0fd4a9da548897909 Mon Sep 17 00:00:00 2001 From: Dominik Weckbecker Date: Tue, 12 Aug 2025 10:59:07 +0200 Subject: [PATCH 12/19] combine the net changes under the new define NONBE_1894_OSBA_SCALING --- lib_com/ivas_prot.h | 5 +---- lib_com/options.h | 6 +----- lib_dec/ivas_jbm_dec.c | 10 +++++----- lib_dec/ivas_osba_dec.c | 17 +++++++---------- 4 files changed, 14 insertions(+), 24 deletions(-) diff --git a/lib_com/ivas_prot.h b/lib_com/ivas_prot.h index 0fb10eea8..390d746a4 100644 --- a/lib_com/ivas_prot.h +++ b/lib_com/ivas_prot.h @@ -5617,16 +5617,13 @@ ivas_error ivas_osba_render_sf( float *output_f[] /* o : rendered time signal */ ); -#ifdef FIX_1849_OBJ_EDITING_API +#ifdef NONBE_1494_OSBA_SCALING void ivas_osba_stereo_add_channels( float *tc_f[], /* i : transport channels */ float *output_f[], /* i/o: output channels */ const float gain, /* i : gain bed value */ const int16_t nchan_out, /* i : number of output channels */ const int16_t nchan_ism, /* i : number of ISM channels */ -#ifndef NONBE_FIX_1262_OSBA_STEREO - const int16_t ism_mode, /* i : ISM mode */ -#endif const int16_t n_samples_to_render /* i : output frame length per channel */ ); #endif diff --git a/lib_com/options.h b/lib_com/options.h index 1d854fd77..4b02b35f8 100644 --- a/lib_com/options.h +++ b/lib_com/options.h @@ -206,11 +206,7 @@ #define NONBE_FIX_1174_MCMASA_LBR_LOOP_ERROR /* Nokia: Fix issue 1174 by removing the unnecessary inner loop causing problems. */ #define NONBE_FIX_1052_SBA_EXT_FIX /* VA: SBA external output support fix - do not overwrite "output_config" parameter */ -#define FIX_1849_OBJ_EDITING_API -#define NONBE_FIX_1262_OSBA_STEREO -#define NONBE_1339_FIXOSBA_EXT_LOUDNESS -#define NONBE_1352_HARMONIZE_OSBA_LOUDNESS /* FhG: do not scale OSBA inputs by 0.5 any more */ - +#define NONBE_1894_OSBA_SCALING /* FhG: port OSBA scaling MRs (298,355,360) jointly */ /* #################### End BASOP porting switches ############################ */ diff --git a/lib_dec/ivas_jbm_dec.c b/lib_dec/ivas_jbm_dec.c index 67546b967..26890cb6e 100644 --- a/lib_dec/ivas_jbm_dec.c +++ b/lib_dec/ivas_jbm_dec.c @@ -1238,9 +1238,9 @@ ivas_error ivas_jbm_dec_render( ivas_ism_render_sf( st_ivas, st_ivas->renderer_type, p_output, *nSamplesRendered ); /* add already rendered SBA part */ -#ifdef FIX_1849_OBJ_EDITING_API +#ifdef NONBE_1494_OSBA_SCALING -#ifdef NONBE_FIX_1262_OSBA_STEREO +#ifdef NONBE_1494_OSBA_SCALING ivas_osba_stereo_add_channels( p_tc, p_output, 1.0f, nchan_out, st_ivas->nchan_ism, *nSamplesRendered ); #else ivas_osba_stereo_add_channels( p_tc, p_output, 1.0f, nchan_out, st_ivas->nchan_ism, st_ivas->ism_mode, *nSamplesRendered ); @@ -1283,7 +1283,7 @@ ivas_error ivas_jbm_dec_render( else if ( st_ivas->renderer_type == RENDERER_BINAURAL_PARAMETRIC || st_ivas->renderer_type == RENDERER_BINAURAL_PARAMETRIC_ROOM ) { ivas_dirac_dec_binaural_render( st_ivas, nSamplesAskedLocal, nSamplesRendered, nSamplesAvailableNext, nchan_remapped, p_output ); -#ifdef NONBE_1352_HARMONIZE_OSBA_LOUDNESS +#ifdef NONBE_1494_OSBA_SCALING for ( n = 0; n < st_ivas->hDecoderConfig->nchan_out; n++ ) { v_multc( p_output[n], 2.0f, p_output[n], *nSamplesRendered ); @@ -1311,14 +1311,14 @@ ivas_error ivas_jbm_dec_render( set_zero( p_output[n], *nSamplesRendered ); } -#if defined( NONBE_1339_FIXOSBA_EXT_LOUDNESS ) && !defined (NONBE_1352_HARMONIZE_OSBA_LOUDNESS ) +#if defined( NONBE_1494_OSBA_SCALING ) && !defined (NONBE_1494_OSBA_SCALING ) for ( n = 0; n < st_ivas->hDecoderConfig->nchan_out; n++ ) { v_multc( p_output[n], 0.5f, p_output[n], *nSamplesRendered ); } #endif } -#ifdef NONBE_1352_HARMONIZE_OSBA_LOUDNESS +#ifdef NONBE_1494_OSBA_SCALING for ( n = 0; n < st_ivas->hDecoderConfig->nchan_out; n++ ) { v_multc( p_output[n], 2.0f, p_output[n], *nSamplesRendered ); diff --git a/lib_dec/ivas_osba_dec.c b/lib_dec/ivas_osba_dec.c index 58ba35089..4fbf6c1c1 100644 --- a/lib_dec/ivas_osba_dec.c +++ b/lib_dec/ivas_osba_dec.c @@ -184,7 +184,7 @@ ivas_error ivas_osba_dirac_td_binaural_jbm( for ( b = 0; b < num_cldfb_bands; b++ ) { st_ivas->hSplitBinRend->hMultiBinCldfbData->Cldfb_RealBuffer_Binaural[n][slot_idx_start + slot_idx][b] = -#ifndef NONBE_1352_HARMONIZE_OSBA_LOUDNESS +#ifndef NONBE_1494_OSBA_SCALING ( 0.5f * st_ivas->hSplitBinRend->hMultiBinCldfbData->Cldfb_RealBuffer_Binaural[n][slot_idx_start + slot_idx][b] ) + ( 0.5f * Cldfb_RealBuffer[b] ); #else @@ -192,7 +192,7 @@ ivas_error ivas_osba_dirac_td_binaural_jbm( #endif st_ivas->hSplitBinRend->hMultiBinCldfbData->Cldfb_ImagBuffer_Binaural[n][slot_idx_start + slot_idx][b] = -#ifndef NONBE_1352_HARMONIZE_OSBA_LOUDNESS +#ifndef NONBE_1494_OSBA_SCALING ( 0.5f * st_ivas->hSplitBinRend->hMultiBinCldfbData->Cldfb_ImagBuffer_Binaural[n][slot_idx_start + slot_idx][b] ) + ( 0.5f * Cldfb_ImagBuffer[b] ) #else @@ -214,7 +214,7 @@ ivas_error ivas_osba_dirac_td_binaural_jbm( int16_t i; for ( i = 0; i < nSamplesAsked; i++ ) { -#ifndef NONBE_1352_HARMONIZE_OSBA_LOUDNESS +#ifndef NONBE_1494_OSBA_SCALING output_f[n][i] = 0.5f * output_f[channel_offset + n][i] + 0.5f * p_sepobj[n][i]; #else output_f[n][i] = output_f[channel_offset + n][i] + p_sepobj[n][i]; @@ -308,7 +308,7 @@ ivas_error ivas_osba_render_sf( { v_add( p_output[n], p_output_ism[n], p_output[n], *nSamplesRendered ); } -#ifndef NONBE_1352_HARMONIZE_OSBA_LOUDNESS +#ifndef NONBE_1494_OSBA_SCALING v_multc( p_output[n], 0.5f, p_output[n], *nSamplesRendered ); #endif } @@ -316,7 +316,7 @@ ivas_error ivas_osba_render_sf( return IVAS_ERR_OK; } -#ifdef FIX_1849_OBJ_EDITING_API +#ifdef NONBE_1494_OSBA_SCALING /*-------------------------------------------------------------------------* * ivas_osba_stereo_add_channels() * @@ -329,15 +329,12 @@ void ivas_osba_stereo_add_channels( const float gain, /* i : gain bed value */ const int16_t nchan_out, /* i : number of output channels */ const int16_t nchan_ism, /* i : number of ISM channels */ -#ifndef NONBE_FIX_1262_OSBA_STEREO - const int16_t ism_mode, /* i : ISM mode */ -#endif const int16_t n_samples_to_render /* i : output frame length per channel */ ) { int16_t n; -#ifndef NONBE_FIX_1262_OSBA_STEREO +#ifndef NONBE_1494_OSBA_SCALING if ( ism_mode == ISM_SBA_MODE_DISC ) { #endif @@ -352,7 +349,7 @@ void ivas_osba_stereo_add_channels( v_add( output_f[n], tc_f[n + nchan_ism], output_f[n], n_samples_to_render ); } } -#ifndef NONBE_FIX_1262_OSBA_STEREO +#ifndef NONBE_1494_OSBA_SCALING } else { -- GitLab From 0aa6c28bec33bac39e5c1af6ba15cdb02fa9aad6 Mon Sep 17 00:00:00 2001 From: Dominik Weckbecker Date: Tue, 12 Aug 2025 11:04:21 +0200 Subject: [PATCH 13/19] fix formatting --- lib_dec/ivas_jbm_dec.c | 2 +- lib_dec/ivas_osba_dec.c | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/lib_dec/ivas_jbm_dec.c b/lib_dec/ivas_jbm_dec.c index 26890cb6e..15f338bd3 100644 --- a/lib_dec/ivas_jbm_dec.c +++ b/lib_dec/ivas_jbm_dec.c @@ -1311,7 +1311,7 @@ ivas_error ivas_jbm_dec_render( set_zero( p_output[n], *nSamplesRendered ); } -#if defined( NONBE_1494_OSBA_SCALING ) && !defined (NONBE_1494_OSBA_SCALING ) +#if defined( NONBE_1494_OSBA_SCALING ) && !defined( NONBE_1494_OSBA_SCALING ) for ( n = 0; n < st_ivas->hDecoderConfig->nchan_out; n++ ) { v_multc( p_output[n], 0.5f, p_output[n], *nSamplesRendered ); diff --git a/lib_dec/ivas_osba_dec.c b/lib_dec/ivas_osba_dec.c index 4fbf6c1c1..373c2f87e 100644 --- a/lib_dec/ivas_osba_dec.c +++ b/lib_dec/ivas_osba_dec.c @@ -324,11 +324,11 @@ ivas_error ivas_osba_render_sf( *-------------------------------------------------------------------------*/ void ivas_osba_stereo_add_channels( - float *tc_f[], /* i : transport channels */ - float *output_f[], /* i/o: output channels */ - const float gain, /* i : gain bed value */ - const int16_t nchan_out, /* i : number of output channels */ - const int16_t nchan_ism, /* i : number of ISM channels */ + float *tc_f[], /* i : transport channels */ + float *output_f[], /* i/o: output channels */ + const float gain, /* i : gain bed value */ + const int16_t nchan_out, /* i : number of output channels */ + const int16_t nchan_ism, /* i : number of ISM channels */ const int16_t n_samples_to_render /* i : output frame length per channel */ ) { -- GitLab From a796d464e85c13c8d38d2248ef21aeda85201bea Mon Sep 17 00:00:00 2001 From: Dominik Weckbecker Date: Tue, 12 Aug 2025 11:05:24 +0200 Subject: [PATCH 14/19] delete unreachable code --- lib_dec/ivas_jbm_dec.c | 7 ------- 1 file changed, 7 deletions(-) diff --git a/lib_dec/ivas_jbm_dec.c b/lib_dec/ivas_jbm_dec.c index 15f338bd3..4f0db0b76 100644 --- a/lib_dec/ivas_jbm_dec.c +++ b/lib_dec/ivas_jbm_dec.c @@ -1310,13 +1310,6 @@ ivas_error ivas_jbm_dec_render( { set_zero( p_output[n], *nSamplesRendered ); } - -#if defined( NONBE_1494_OSBA_SCALING ) && !defined( NONBE_1494_OSBA_SCALING ) - for ( n = 0; n < st_ivas->hDecoderConfig->nchan_out; n++ ) - { - v_multc( p_output[n], 0.5f, p_output[n], *nSamplesRendered ); - } -#endif } #ifdef NONBE_1494_OSBA_SCALING for ( n = 0; n < st_ivas->hDecoderConfig->nchan_out; n++ ) -- GitLab From 58d4d2295b2a5d235c39a0b96fb22c58553bb94b Mon Sep 17 00:00:00 2001 From: Dominik Weckbecker Date: Tue, 12 Aug 2025 11:55:44 +0200 Subject: [PATCH 15/19] fix compile error --- lib_dec/ivas_osba_dec.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib_dec/ivas_osba_dec.c b/lib_dec/ivas_osba_dec.c index 373c2f87e..ccd84a8e8 100644 --- a/lib_dec/ivas_osba_dec.c +++ b/lib_dec/ivas_osba_dec.c @@ -194,7 +194,7 @@ ivas_error ivas_osba_dirac_td_binaural_jbm( st_ivas->hSplitBinRend->hMultiBinCldfbData->Cldfb_ImagBuffer_Binaural[n][slot_idx_start + slot_idx][b] = #ifndef NONBE_1494_OSBA_SCALING ( 0.5f * st_ivas->hSplitBinRend->hMultiBinCldfbData->Cldfb_ImagBuffer_Binaural[n][slot_idx_start + slot_idx][b] ) + - ( 0.5f * Cldfb_ImagBuffer[b] ) + ( 0.5f * Cldfb_ImagBuffer[b] ); #else st_ivas->hSplitBinRend->hMultiBinCldfbData->Cldfb_ImagBuffer_Binaural[n][slot_idx_start + slot_idx][b] + Cldfb_ImagBuffer[b]; #endif -- GitLab From 705af80bad807197433b6a398ce11068f5a51bff Mon Sep 17 00:00:00 2001 From: Dominik Weckbecker Date: Tue, 12 Aug 2025 13:01:22 +0200 Subject: [PATCH 16/19] fix typo in ifdefs --- lib_com/ivas_prot.h | 2 +- lib_dec/ivas_jbm_dec.c | 8 ++++---- lib_dec/ivas_osba_dec.c | 14 +++++++------- 3 files changed, 12 insertions(+), 12 deletions(-) diff --git a/lib_com/ivas_prot.h b/lib_com/ivas_prot.h index 390d746a4..641f87213 100644 --- a/lib_com/ivas_prot.h +++ b/lib_com/ivas_prot.h @@ -5617,7 +5617,7 @@ ivas_error ivas_osba_render_sf( float *output_f[] /* o : rendered time signal */ ); -#ifdef NONBE_1494_OSBA_SCALING +#ifdef NONBE_1894_OSBA_SCALING void ivas_osba_stereo_add_channels( float *tc_f[], /* i : transport channels */ float *output_f[], /* i/o: output channels */ diff --git a/lib_dec/ivas_jbm_dec.c b/lib_dec/ivas_jbm_dec.c index 4f0db0b76..aba35a5bf 100644 --- a/lib_dec/ivas_jbm_dec.c +++ b/lib_dec/ivas_jbm_dec.c @@ -1238,9 +1238,9 @@ ivas_error ivas_jbm_dec_render( ivas_ism_render_sf( st_ivas, st_ivas->renderer_type, p_output, *nSamplesRendered ); /* add already rendered SBA part */ -#ifdef NONBE_1494_OSBA_SCALING +#ifdef NONBE_1894_OSBA_SCALING -#ifdef NONBE_1494_OSBA_SCALING +#ifdef NONBE_1894_OSBA_SCALING ivas_osba_stereo_add_channels( p_tc, p_output, 1.0f, nchan_out, st_ivas->nchan_ism, *nSamplesRendered ); #else ivas_osba_stereo_add_channels( p_tc, p_output, 1.0f, nchan_out, st_ivas->nchan_ism, st_ivas->ism_mode, *nSamplesRendered ); @@ -1283,7 +1283,7 @@ ivas_error ivas_jbm_dec_render( else if ( st_ivas->renderer_type == RENDERER_BINAURAL_PARAMETRIC || st_ivas->renderer_type == RENDERER_BINAURAL_PARAMETRIC_ROOM ) { ivas_dirac_dec_binaural_render( st_ivas, nSamplesAskedLocal, nSamplesRendered, nSamplesAvailableNext, nchan_remapped, p_output ); -#ifdef NONBE_1494_OSBA_SCALING +#ifdef NONBE_1894_OSBA_SCALING for ( n = 0; n < st_ivas->hDecoderConfig->nchan_out; n++ ) { v_multc( p_output[n], 2.0f, p_output[n], *nSamplesRendered ); @@ -1311,7 +1311,7 @@ ivas_error ivas_jbm_dec_render( set_zero( p_output[n], *nSamplesRendered ); } } -#ifdef NONBE_1494_OSBA_SCALING +#ifdef NONBE_1894_OSBA_SCALING for ( n = 0; n < st_ivas->hDecoderConfig->nchan_out; n++ ) { v_multc( p_output[n], 2.0f, p_output[n], *nSamplesRendered ); diff --git a/lib_dec/ivas_osba_dec.c b/lib_dec/ivas_osba_dec.c index ccd84a8e8..45e7fa2d8 100644 --- a/lib_dec/ivas_osba_dec.c +++ b/lib_dec/ivas_osba_dec.c @@ -184,7 +184,7 @@ ivas_error ivas_osba_dirac_td_binaural_jbm( for ( b = 0; b < num_cldfb_bands; b++ ) { st_ivas->hSplitBinRend->hMultiBinCldfbData->Cldfb_RealBuffer_Binaural[n][slot_idx_start + slot_idx][b] = -#ifndef NONBE_1494_OSBA_SCALING +#ifndef NONBE_1894_OSBA_SCALING ( 0.5f * st_ivas->hSplitBinRend->hMultiBinCldfbData->Cldfb_RealBuffer_Binaural[n][slot_idx_start + slot_idx][b] ) + ( 0.5f * Cldfb_RealBuffer[b] ); #else @@ -192,7 +192,7 @@ ivas_error ivas_osba_dirac_td_binaural_jbm( #endif st_ivas->hSplitBinRend->hMultiBinCldfbData->Cldfb_ImagBuffer_Binaural[n][slot_idx_start + slot_idx][b] = -#ifndef NONBE_1494_OSBA_SCALING +#ifndef NONBE_1894_OSBA_SCALING ( 0.5f * st_ivas->hSplitBinRend->hMultiBinCldfbData->Cldfb_ImagBuffer_Binaural[n][slot_idx_start + slot_idx][b] ) + ( 0.5f * Cldfb_ImagBuffer[b] ); #else @@ -214,7 +214,7 @@ ivas_error ivas_osba_dirac_td_binaural_jbm( int16_t i; for ( i = 0; i < nSamplesAsked; i++ ) { -#ifndef NONBE_1494_OSBA_SCALING +#ifndef NONBE_1894_OSBA_SCALING output_f[n][i] = 0.5f * output_f[channel_offset + n][i] + 0.5f * p_sepobj[n][i]; #else output_f[n][i] = output_f[channel_offset + n][i] + p_sepobj[n][i]; @@ -308,7 +308,7 @@ ivas_error ivas_osba_render_sf( { v_add( p_output[n], p_output_ism[n], p_output[n], *nSamplesRendered ); } -#ifndef NONBE_1494_OSBA_SCALING +#ifndef NONBE_1894_OSBA_SCALING v_multc( p_output[n], 0.5f, p_output[n], *nSamplesRendered ); #endif } @@ -316,7 +316,7 @@ ivas_error ivas_osba_render_sf( return IVAS_ERR_OK; } -#ifdef NONBE_1494_OSBA_SCALING +#ifdef NONBE_1894_OSBA_SCALING /*-------------------------------------------------------------------------* * ivas_osba_stereo_add_channels() * @@ -334,7 +334,7 @@ void ivas_osba_stereo_add_channels( { int16_t n; -#ifndef NONBE_1494_OSBA_SCALING +#ifndef NONBE_1894_OSBA_SCALING if ( ism_mode == ISM_SBA_MODE_DISC ) { #endif @@ -349,7 +349,7 @@ void ivas_osba_stereo_add_channels( v_add( output_f[n], tc_f[n + nchan_ism], output_f[n], n_samples_to_render ); } } -#ifndef NONBE_1494_OSBA_SCALING +#ifndef NONBE_1894_OSBA_SCALING } else { -- GitLab From 661a3bc31de948d756154d92837ace3a67b371bc Mon Sep 17 00:00:00 2001 From: Dominik Weckbecker Date: Tue, 12 Aug 2025 14:20:23 +0200 Subject: [PATCH 17/19] clean up macros in ivas_jbm_dec.c --- lib_dec/ivas_jbm_dec.c | 6 ------ 1 file changed, 6 deletions(-) diff --git a/lib_dec/ivas_jbm_dec.c b/lib_dec/ivas_jbm_dec.c index aba35a5bf..09117ace5 100644 --- a/lib_dec/ivas_jbm_dec.c +++ b/lib_dec/ivas_jbm_dec.c @@ -1238,14 +1238,8 @@ ivas_error ivas_jbm_dec_render( ivas_ism_render_sf( st_ivas, st_ivas->renderer_type, p_output, *nSamplesRendered ); /* add already rendered SBA part */ -#ifdef NONBE_1894_OSBA_SCALING - #ifdef NONBE_1894_OSBA_SCALING ivas_osba_stereo_add_channels( p_tc, p_output, 1.0f, nchan_out, st_ivas->nchan_ism, *nSamplesRendered ); -#else - ivas_osba_stereo_add_channels( p_tc, p_output, 1.0f, nchan_out, st_ivas->nchan_ism, st_ivas->ism_mode, *nSamplesRendered ); -#endif - #else for ( n = 0; n < nchan_out; n++ ) { -- GitLab From b9d5b794bd2c53bed3dce68c1260c4f1efc7d46d Mon Sep 17 00:00:00 2001 From: Dominik Weckbecker Date: Tue, 12 Aug 2025 14:27:20 +0200 Subject: [PATCH 18/19] simplify macros in ivas_osba_dec.c --- lib_dec/ivas_osba_dec.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib_dec/ivas_osba_dec.c b/lib_dec/ivas_osba_dec.c index 45e7fa2d8..a68b953cd 100644 --- a/lib_dec/ivas_osba_dec.c +++ b/lib_dec/ivas_osba_dec.c @@ -334,7 +334,7 @@ void ivas_osba_stereo_add_channels( { int16_t n; -#ifndef NONBE_1894_OSBA_SCALING +#if 0 if ( ism_mode == ISM_SBA_MODE_DISC ) { #endif @@ -349,7 +349,7 @@ void ivas_osba_stereo_add_channels( v_add( output_f[n], tc_f[n + nchan_ism], output_f[n], n_samples_to_render ); } } -#ifndef NONBE_1894_OSBA_SCALING +#if 0 } else { -- GitLab From ca1b8c1fdf34d5feddd99aeaea410fc80daa4ac1 Mon Sep 17 00:00:00 2001 From: Dominik Weckbecker Date: Tue, 12 Aug 2025 14:53:52 +0200 Subject: [PATCH 19/19] fix formatting --- lib_dec/ivas_osba_dec.c | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/lib_dec/ivas_osba_dec.c b/lib_dec/ivas_osba_dec.c index a68b953cd..c9e9e2e93 100644 --- a/lib_dec/ivas_osba_dec.c +++ b/lib_dec/ivas_osba_dec.c @@ -338,17 +338,17 @@ void ivas_osba_stereo_add_channels( if ( ism_mode == ISM_SBA_MODE_DISC ) { #endif - if ( gain != 1.0f ) - { - assert( 0 && "Object editing is not implemented in this branch!" ); - } - else + if ( gain != 1.0f ) + { + assert( 0 && "Object editing is not implemented in this branch!" ); + } + else + { + for ( n = 0; n < nchan_out; n++ ) { - for ( n = 0; n < nchan_out; n++ ) - { - v_add( output_f[n], tc_f[n + nchan_ism], output_f[n], n_samples_to_render ); - } + v_add( output_f[n], tc_f[n + nchan_ism], output_f[n], n_samples_to_render ); } + } #if 0 } else -- GitLab