Loading lib_com/options.h +1 −0 Original line number Diff line number Diff line Loading @@ -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 ############################ */ Loading lib_dec/ivas_jbm_dec.c +12 −0 Original line number Diff line number Diff line Loading @@ -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 { Loading Loading @@ -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 ) Loading lib_dec/ivas_osba_dec.c +16 −3 Original line number Diff line number Diff line Loading @@ -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 } } } Loading @@ -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 } } } Loading Loading @@ -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; Loading Loading @@ -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 ); Loading Loading
lib_com/options.h +1 −0 Original line number Diff line number Diff line Loading @@ -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 ############################ */ Loading
lib_dec/ivas_jbm_dec.c +12 −0 Original line number Diff line number Diff line Loading @@ -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 { Loading Loading @@ -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 ) Loading
lib_dec/ivas_osba_dec.c +16 −3 Original line number Diff line number Diff line Loading @@ -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 } } } Loading @@ -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 } } } Loading Loading @@ -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; Loading Loading @@ -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 ); Loading