From e4403854be63a5e877b19054761b7bcb355dc633 Mon Sep 17 00:00:00 2001 From: Jan Kiene Date: Wed, 16 Apr 2025 09:03:45 +0200 Subject: [PATCH 1/4] Accept FIX_911_REMOVE_CREND_DUPLICATION --- lib_com/options.h | 1 - lib_rend/ivas_crend.c | 143 -------------------------------------- lib_rend/ivas_prot_rend.h | 19 ----- 3 files changed, 163 deletions(-) diff --git a/lib_com/options.h b/lib_com/options.h index 583f331a1..6e61f7a0f 100644 --- a/lib_com/options.h +++ b/lib_com/options.h @@ -182,7 +182,6 @@ #endif #define NONBE_FIX_1058_DECODER_ERROR_WITH_REVERB_ROOM /* FhG: issue 1058: do not initialize EFAP when IntSetup is HOA3 */ #define NONBE_FIX_943_RECONFIG_IGF_AFTER_SETTING_BW /* FhG: issue 943: fix crash in BW switchin from WB in MDCT-Stereo core encoder */ -#define FIX_911_REMOVE_CREND_DUPLICATION /* VA: issue 911: resolve duplication of CRend binaural external renderer function */ #define FIX_938_GCC_12_WARNINGS /* VA: issue #938: remove set_f(.,.,0) call in which length is always 0 to remove GCC 12.0 warning */ #define NONBE_FIX_944_FEC_OMASA_1SEP_OBJ_MASA /* Nokia: issue 944: fix FEC error in OMASA */ diff --git a/lib_rend/ivas_crend.c b/lib_rend/ivas_crend.c index 2b3219ad5..1dacbcc32 100644 --- a/lib_rend/ivas_crend.c +++ b/lib_rend/ivas_crend.c @@ -1738,149 +1738,6 @@ static ivas_error ivas_rend_crendConvolver( } -#ifndef FIX_911_REMOVE_CREND_DUPLICATION -/*-----------------------------------------------------------------------------------------* - * Function ivas_rend_crendProcess() - * - * Process call for IVAS Crend renderer - *-----------------------------------------------------------------------------------------*/ - -ivas_error ivas_rend_crendProcess( - const CREND_WRAPPER *pCrend, - const AUDIO_CONFIG inConfig, - const AUDIO_CONFIG outConfig, - DECODER_CONFIG_HANDLE hDecoderConfig, - COMBINED_ORIENTATION_HANDLE hCombinedOrientationData, - IVAS_OUTPUT_SETUP_HANDLE hIntSetup, - EFAP_HANDLE hEFAPdata, - float *output[], /* i/o: input/output audio channels */ - const int32_t output_Fs, -#ifdef SPLIT_REND_WITH_HEAD_ROT - const int16_t num_subframes /* i : number of subframes to render */, - const int16_t pos_idx -#else - const int16_t num_subframes /* i : number of subframes to render */ -#endif -) -{ - int16_t i, subframe_idx, subframe_len; - int16_t nchan_out; - float pcm_tmp[BINAURAL_CHANNELS][L_FRAME48k]; - float *p_pcm_tmp[BINAURAL_CHANNELS]; - IVAS_REND_AudioConfigType inConfigType; - int8_t combinedOrientationEnabled; - ivas_error error; - CREND_HANDLE hCrend; - -#ifdef SPLIT_REND_WITH_HEAD_ROT - hCrend = pCrend->hCrend[pos_idx]; -#else - hCrend = pCrend->hCrend; -#endif - - combinedOrientationEnabled = 0; - if ( hCombinedOrientationData != NULL ) - { - for ( subframe_idx = 0; subframe_idx < num_subframes; subframe_idx++ ) - { - if ( hCombinedOrientationData->enableCombinedOrientation[subframe_idx] != 0 ) - { - combinedOrientationEnabled = 1; - break; - } - } - } - - push_wmops( "ivas_rend_crendProcess" ); - inConfigType = getAudioConfigType( inConfig ); - - if ( ( error = getAudioConfigNumChannels( outConfig, &nchan_out ) ) != IVAS_ERR_OK ) - { - return error; - } - - subframe_len = (int16_t) ( output_Fs / ( FRAMES_PER_SEC * MAX_PARAM_SPATIAL_SUBFRAMES ) ); - - for ( i = 0; i < BINAURAL_CHANNELS; i++ ) - { - p_pcm_tmp[i] = pcm_tmp[i]; - } - - for ( subframe_idx = 0; subframe_idx < num_subframes; subframe_idx++ ) - { - /* Early Reflections */ - if ( hCrend->reflections != NULL ) - { - if ( hCrend->reflections->use_er == 1 && hCrend->reflections->is_ready == 1 ) - { - if ( ( error = ivas_er_process( hCrend->reflections, subframe_len, subframe_idx, output, inConfig ) ) != IVAS_ERR_OK ) - { - return error; - } - } - } - - if ( hDecoderConfig && combinedOrientationEnabled ) - { - /* Orientation tracking */ - - /* Rotation in SHD for: - MC with elevation (5_1_2 / 5_1_4 / 7_1_4) -> BINAURAL - SBA SPAR -> BINAURAL or BINAURAL_ROOM - */ - if ( inConfig == IVAS_AUDIO_CONFIG_FOA || inConfig == IVAS_AUDIO_CONFIG_HOA2 || inConfig == IVAS_AUDIO_CONFIG_HOA3 ) - { - rotateFrame_shd( hCombinedOrientationData, output, subframe_len, *hIntSetup, subframe_idx ); - } - /* Rotation in SD for MC -> BINAURAL_ROOM */ - else if ( ( hIntSetup != NULL ) && hIntSetup->is_loudspeaker_setup ) - { - rotateFrame_sd( hCombinedOrientationData, output, subframe_len, *hIntSetup, hEFAPdata, subframe_idx ); - } - } - - if ( inConfigType == IVAS_REND_AUDIO_CONFIG_TYPE_CHANNEL_BASED || inConfigType == IVAS_REND_AUDIO_CONFIG_TYPE_AMBISONICS ) - { -#ifdef SPLIT_REND_WITH_HEAD_ROT - if ( ( error = ivas_rend_crendConvolver( pCrend, inConfig, outConfig, output, p_pcm_tmp, output_Fs, subframe_idx, pos_idx ) ) != IVAS_ERR_OK ) -#else - if ( ( error = ivas_rend_crendConvolver( pCrend, inConfig, outConfig, output, p_pcm_tmp, output_Fs, subframe_idx ) ) != IVAS_ERR_OK ) -#endif - { - return error; - } - - if ( hCrend->hReverb != NULL ) - { -#ifdef SPLIT_REND_WITH_HEAD_ROT - if ( ( error = ivas_reverb_process( pCrend->hCrend[pos_idx]->hReverb, inConfig, 1, output, p_pcm_tmp, subframe_idx ) ) != IVAS_ERR_OK ) -#else - if ( ( error = ivas_reverb_process( pCrend->hCrend->hReverb, inConfig, 1, output, p_pcm_tmp, subframe_idx ) ) != IVAS_ERR_OK ) -#endif - { - return error; - } - } - - /* update combined orientation access index */ - ivas_combined_orientation_update_index( hCombinedOrientationData, subframe_len ); - } - else - { - return IVAS_ERR_INVALID_INPUT_FORMAT; - } - } - - /* move to output */ - for ( i = 0; i < nchan_out; i++ ) - { - mvr2r( pcm_tmp[i], output[i], num_subframes * subframe_len ); - } - - pop_wmops(); - return IVAS_ERR_OK; -} -#endif /*-----------------------------------------------------------------------------------------* * Function ivas_rend_crendProcessSubframe() diff --git a/lib_rend/ivas_prot_rend.h b/lib_rend/ivas_prot_rend.h index 553a4bf5e..d37f770ca 100644 --- a/lib_rend/ivas_prot_rend.h +++ b/lib_rend/ivas_prot_rend.h @@ -888,25 +888,6 @@ ivas_error ivas_rend_initCrendWrapper( ); -#ifndef FIX_911_REMOVE_CREND_DUPLICATION -ivas_error ivas_rend_crendProcess( - const CREND_WRAPPER *pCrend, - const AUDIO_CONFIG inConfig, - const AUDIO_CONFIG outConfig, - DECODER_CONFIG_HANDLE hDecoderConfig, - COMBINED_ORIENTATION_HANDLE hCombinedOrientationData, - IVAS_OUTPUT_SETUP_HANDLE hIntSetup, - EFAP_HANDLE hEFAPdata, - float *output[], /* i/o: input/output audio channels */ - const int32_t output_Fs, -#ifdef SPLIT_REND_WITH_HEAD_ROT - const int16_t num_subframes, /* i : number of subframes to render */ - const int16_t pos_idx /* i : pose index */ -#else - const int16_t num_subframes /* i : number of subframes to render */ -#endif -); -#endif ivas_error ivas_rend_crendProcessSubframe( const CREND_WRAPPER *pCrend, /* i/o: Crend wrapper handle */ const AUDIO_CONFIG inConfig, /* i : input audio configuration */ -- GitLab From 914eb061fc34f486a5ceac09918d15c15d1082fe Mon Sep 17 00:00:00 2001 From: Jan Kiene Date: Wed, 16 Apr 2025 09:04:07 +0200 Subject: [PATCH 2/4] Accept FIX_938_GCC_12_WARNINGS --- lib_com/options.h | 1 - lib_enc/enc_higher_acelp.c | 3 --- 2 files changed, 4 deletions(-) diff --git a/lib_com/options.h b/lib_com/options.h index 6e61f7a0f..acb803cb7 100644 --- a/lib_com/options.h +++ b/lib_com/options.h @@ -182,7 +182,6 @@ #endif #define NONBE_FIX_1058_DECODER_ERROR_WITH_REVERB_ROOM /* FhG: issue 1058: do not initialize EFAP when IntSetup is HOA3 */ #define NONBE_FIX_943_RECONFIG_IGF_AFTER_SETTING_BW /* FhG: issue 943: fix crash in BW switchin from WB in MDCT-Stereo core encoder */ -#define FIX_938_GCC_12_WARNINGS /* VA: issue #938: remove set_f(.,.,0) call in which length is always 0 to remove GCC 12.0 warning */ #define NONBE_FIX_944_FEC_OMASA_1SEP_OBJ_MASA /* Nokia: issue 944: fix FEC error in OMASA */ /* #################### End BASOP porting switches ############################ */ diff --git a/lib_enc/enc_higher_acelp.c b/lib_enc/enc_higher_acelp.c index 4b060dca9..5eb104b3f 100644 --- a/lib_enc/enc_higher_acelp.c +++ b/lib_enc/enc_higher_acelp.c @@ -241,9 +241,6 @@ void transf_cdbk_enc( { x_tran[i] = (float) ( x_norm[i] ); } -#ifndef FIX_938_GCC_12_WARNINGS - set_f( x_tran + Nsv * WIDTH_BAND, 0.0f, L_SUBFR - WIDTH_BAND * Nsv ); -#endif if ( st->coder_type != INACTIVE && st->core_brate >= MIN_BRATE_AVQ_EXC && st->core_brate <= MAX_BRATE_AVQ_EXC_TD && !harm_flag_acelp ) { -- GitLab From 8f0c54cb44c509747c01d0cf0d5b6ad254a5c5f8 Mon Sep 17 00:00:00 2001 From: Jan Kiene Date: Wed, 16 Apr 2025 09:04:17 +0200 Subject: [PATCH 3/4] Accept NONBE_FIX_943_RECONFIG_IGF_AFTER_SETTING_BW --- lib_com/options.h | 1 - lib_enc/ivas_cpe_enc.c | 18 ------------------ 2 files changed, 19 deletions(-) diff --git a/lib_com/options.h b/lib_com/options.h index acb803cb7..c1a436a87 100644 --- a/lib_com/options.h +++ b/lib_com/options.h @@ -181,7 +181,6 @@ #define ISAR_BITSTREAM_UPDATE_LC3PLUS /* FhG: Multiple improvements to the ISAR bitstream when LC3plus is used. See MR 1456 for details. */ #endif #define NONBE_FIX_1058_DECODER_ERROR_WITH_REVERB_ROOM /* FhG: issue 1058: do not initialize EFAP when IntSetup is HOA3 */ -#define NONBE_FIX_943_RECONFIG_IGF_AFTER_SETTING_BW /* FhG: issue 943: fix crash in BW switchin from WB in MDCT-Stereo core encoder */ #define NONBE_FIX_944_FEC_OMASA_1SEP_OBJ_MASA /* Nokia: issue 944: fix FEC error in OMASA */ /* #################### End BASOP porting switches ############################ */ diff --git a/lib_enc/ivas_cpe_enc.c b/lib_enc/ivas_cpe_enc.c index f2743c9c9..9edcf9a27 100644 --- a/lib_enc/ivas_cpe_enc.c +++ b/lib_enc/ivas_cpe_enc.c @@ -551,22 +551,6 @@ ivas_error ivas_cpe_enc( * Core codec configuration *----------------------------------------------------------------*/ -#ifndef NONBE_FIX_943_RECONFIG_IGF_AFTER_SETTING_BW - /* IGF reconfiguration */ - for ( n = 0; n < n_CoreChannels; n++ ) - { - if ( ( hCPE->last_element_brate != hCPE->element_brate || hCPE->element_mode != hCPE->last_element_mode || ( hCPE->element_mode == IVAS_CPE_TD && sts[0]->bits_frame_nominal != last_bits_frame_nominal ) || sts[n]->last_bwidth != sts[n]->bwidth ) && ( n == 0 || hCPE->element_mode == IVAS_CPE_MDCT ) ) - { - int16_t igf; - igf = getIgfPresent( sts[n]->element_mode, sts[n]->bits_frame_nominal * FRAMES_PER_SEC, sts[n]->max_bwidth, sts[n]->rf_mode ); - if ( ( error = IGF_Reconfig( &sts[n]->hIGFEnc, igf, 0, sts[n]->bits_frame_nominal * FRAMES_PER_SEC, sts[n]->max_bwidth, sts[n]->element_mode, sts[n]->rf_mode ) ) != IVAS_ERR_OK ) - { - return error; - } - } - } - -#endif if ( hCPE->element_mode == IVAS_CPE_MDCT && st_ivas->hMCT == NULL ) { /* set coded BW for MDCT stereo */ @@ -588,7 +572,6 @@ ivas_error ivas_cpe_enc( } } -#ifdef NONBE_FIX_943_RECONFIG_IGF_AFTER_SETTING_BW /* IGF reconfiguration */ for ( n = 0; n < n_CoreChannels; n++ ) { @@ -602,7 +585,6 @@ ivas_error ivas_cpe_enc( } } } -#endif /* set ACELP@12k8 / ACELP@16k flag for flexible ACELP core */ for ( n = 0; n < n_CoreChannels; n++ ) -- GitLab From aa7fb82a33f2ad8602bfa8679ebf75243d96e2df Mon Sep 17 00:00:00 2001 From: Jan Kiene Date: Wed, 16 Apr 2025 09:29:05 +0200 Subject: [PATCH 4/4] apply clang-format --- lib_rend/ivas_crend.c | 1 - 1 file changed, 1 deletion(-) diff --git a/lib_rend/ivas_crend.c b/lib_rend/ivas_crend.c index 1dacbcc32..573f34973 100644 --- a/lib_rend/ivas_crend.c +++ b/lib_rend/ivas_crend.c @@ -1738,7 +1738,6 @@ static ivas_error ivas_rend_crendConvolver( } - /*-----------------------------------------------------------------------------------------* * Function ivas_rend_crendProcessSubframe() * -- GitLab