From f222609417641ee4a28d9b10422fe35929d960a0 Mon Sep 17 00:00:00 2001 From: Markus Multrus Date: Wed, 22 Nov 2023 09:27:54 +0100 Subject: [PATCH 1/8] [cleanup] accept FIX_643_PCA_OPTION --- apps/encoder.c | 40 ---------------------------------------- lib_com/options.h | 1 - 2 files changed, 41 deletions(-) diff --git a/apps/encoder.c b/apps/encoder.c index d2bf423f16..21aa5d0b1d 100644 --- a/apps/encoder.c +++ b/apps/encoder.c @@ -1690,47 +1690,11 @@ static bool parseCmdlIVAS_enc( i++; } -#ifdef FIX_643_PCA_OPTION else if ( strcmp( argv_to_upper, "-PCA" ) == 0 ) { arg->pca = 1; i++; } -#else - else if ( strcmp( argv_to_upper, "-BYPASS" ) == 0 ) // TODO: should be renamed to "-pca" - { - i++; - if ( i < argc - 4 ) - { - switch ( atoi( argv[i] ) ) - { - case 1: - { - arg->pca = 0; - break; - } - case 2: - { - arg->pca = 1; - break; - } - default: - { - fprintf( stderr, "Error: SBA PCA bypass argument is out of range (%d), expected 1 or 2\n", (int32_t) atoi( argv[i] ) ); - usage_enc(); - return false; - } - } - i++; - } - else - { - fprintf( stderr, "Error: SBA unspecified PCA BYPASS value \n\n" ); - usage_enc(); - return false; - } - } -#endif /*-----------------------------------------------------------------* * Option not recognized @@ -1927,11 +1891,7 @@ static void usage_enc( void ) fprintf( stdout, "-mime : Mime output bitstream file format\n" ); fprintf( stdout, " The encoder produces TS26.445 Annex.2.6 Mime Storage Format, (not RFC4867 Mime Format).\n" ); fprintf( stdout, " default output bitstream file format is G.192\n" ); -#ifdef FIX_643_PCA_OPTION fprintf( stdout, "-pca : activate PCA in SBA format FOA at 256 kbps \n" ); -#else - fprintf( stdout, "-bypass mode : SBA PCA by-pass, mode = (1, 2), 1 = PCA off, 2 = signal adaptive, default is 1\n" ); -#endif fprintf( stdout, "-level level : Complexity level, level = (1, 2, 3), will be defined after characterisation. \n" ); fprintf( stdout, " Currently, all values default to level 3 (full functionality).\n" ); #ifdef DEBUGGING diff --git a/lib_com/options.h b/lib_com/options.h index df335b3fe6..f9a0ba9953 100755 --- a/lib_com/options.h +++ b/lib_com/options.h @@ -150,7 +150,6 @@ /*#define FIX_I4_OL_PITCH*/ /* fix open-loop pitch used for EVS core switching */ /*#define SPLIT_REND_WITH_HEAD_ROT */ /* Dlb,FhG: Split Rendering contributions 21 and 35 */ -#define FIX_643_PCA_OPTION /* VA: issue 643: rename PCA bypass command-line option */ #define FIX_902_HACK_IN_CORECODER /* VA: issue 902: remove a hack in ivas_core_dec() */ #define FIX_881_REMOVE_LFE_ADDITION_IN_ISM /* VA: issue 881: remove LFE addition in ISM format */ #define FIX_899_VARIABLE_SPEED_DECODING /* FhG: Fix variable speed decoding */ -- GitLab From e0d59928e874944c3467901ff86c18ac20b9e5c5 Mon Sep 17 00:00:00 2001 From: Markus Multrus Date: Wed, 22 Nov 2023 09:28:47 +0100 Subject: [PATCH 2/8] [cleanup] accept FIX_899_VARIABLE_SPEED_DECODING --- apps/decoder.c | 53 ----------------------------------------------- lib_com/options.h | 1 - lib_dec/lib_dec.c | 14 ------------- lib_dec/lib_dec.h | 2 -- 4 files changed, 70 deletions(-) diff --git a/apps/decoder.c b/apps/decoder.c index 7856a8a17f..4545ab3d05 100644 --- a/apps/decoder.c +++ b/apps/decoder.c @@ -2123,35 +2123,6 @@ static ivas_error decodeG192( /* we always start with needing a new frame */ needNewFrame = true; -#ifndef FIX_899_VARIABLE_SPEED_DECODING -#ifdef DEBUGGING -#ifdef VARIABLE_SPEED_DECODING - /*------------------------------------------------------------------------------------------* - * Open TSM scale file or set global TSM scale - *------------------------------------------------------------------------------------------*/ - - if ( arg.tsmEnabled ) - { - if ( arg.tsmScaleFileEnabled ) - { - if ( ( tsmScaleFileReader = TsmScaleFileReader_open( arg.tsmScaleFileName ) ) == NULL ) - { - fprintf( stderr, "\nError: Can't open TSM scale file %s \n\n", arg.tsmScaleFileName ); - goto cleanup; - } - } - else - { - if ( ( error = IVAS_DEC_VoIP_SetScale( hIvasDec, arg.tsmScale, arg.tsmScale ) ) != IVAS_ERR_OK ) - { - fprintf( stderr, "\nIVAS_DEC_VoIP_SetScale failed: %s \n", IVAS_DEC_GetErrorMessage( error ) ); - goto cleanup; - } - } - } -#endif -#endif -#endif if ( !arg.quietModeEnabled ) { @@ -2196,7 +2167,6 @@ static ivas_error decodeG192( } #endif -#ifdef FIX_899_VARIABLE_SPEED_DECODING #ifdef DEBUGGING #ifdef VARIABLE_SPEED_DECODING /*------------------------------------------------------------------------------------------* @@ -2232,7 +2202,6 @@ static ivas_error decodeG192( } } #endif -#endif #endif /*------------------------------------------------------------------------------------------* @@ -2387,14 +2356,10 @@ static ivas_error decodeG192( fprintf( stderr, "\nError: input bitstream file couldn't be read: %s \n\n", arg.inputBitstreamFilename ); goto cleanup; } -#ifdef FIX_899_VARIABLE_SPEED_DECODING int16_t maxScaling; /* max scaling as abs diff to the normal frame size in samples */ maxScaling = (int16_t) ceilf( (float) abs( arg.tsmScale - 100 ) / 100.0f * (float) ( nOutSamples * vec_pos_len ) ); if ( ( error = IVAS_DEC_VoIP_SetScale( hIvasDec, maxScaling, arg.tsmScale ) ) != IVAS_ERR_OK ) -#else - if ( ( error = IVAS_DEC_VoIP_SetScale( hIvasDec, scale, scale ) ) != IVAS_ERR_OK ) -#endif { fprintf( stderr, "\nIVAS_DEC_VoIP_SetScale failed: %s \n", IVAS_DEC_GetErrorMessage( error ) ); goto cleanup; @@ -2466,7 +2431,6 @@ static ivas_error decodeG192( #ifdef SPLIT_REND_WITH_HEAD_ROT } #endif -#ifdef FIX_899_VARIABLE_SPEED_DECODING if ( needNewFrame ) { frame++; @@ -2481,7 +2445,6 @@ static ivas_error decodeG192( #endif } } -#endif } while ( nSamplesRendered < nOutSamples && error == IVAS_ERR_OK ); @@ -2605,22 +2568,6 @@ static ivas_error decodeG192( } } vec_pos_update = ( vec_pos_update + 1 ) % vec_pos_len; -#ifndef FIX_899_VARIABLE_SPEED_DECODING - if ( needNewFrame ) - { - frame++; - if ( !arg.quietModeEnabled ) - { - fprintf( stdout, "%-8d\b\b\b\b\b\b\b\b", frame ); -#ifdef DEBUGGING - if ( IVAS_DEC_GetBerDetectFlag( hIvasDec ) ) - { - fprintf( stdout, "\n Decoding error: BER detected in frame %d !!!!!\n", frame - 1 ); - } -#endif - } - } -#endif #ifdef WMOPS if ( vec_pos_update == 0 ) { diff --git a/lib_com/options.h b/lib_com/options.h index f9a0ba9953..40a27d4ec0 100755 --- a/lib_com/options.h +++ b/lib_com/options.h @@ -152,7 +152,6 @@ #define FIX_902_HACK_IN_CORECODER /* VA: issue 902: remove a hack in ivas_core_dec() */ #define FIX_881_REMOVE_LFE_ADDITION_IN_ISM /* VA: issue 881: remove LFE addition in ISM format */ -#define FIX_899_VARIABLE_SPEED_DECODING /* FhG: Fix variable speed decoding */ #define FIX_887_ARRAY_SIZE_DFT_MDCT_STEREO /* VA: Fix the definition of buffers/arrays in DFT and MDCT stereo to satisfy gcc v 11.4.0 */ #define FIX_891_PARAMUPMIX_CLEANUP /* Dlb: issue 891: remove unneeded code from ParamUpmix */ diff --git a/lib_dec/lib_dec.c b/lib_dec/lib_dec.c index 1fbff935fe..2abd1240da 100644 --- a/lib_dec/lib_dec.c +++ b/lib_dec/lib_dec.c @@ -78,9 +78,7 @@ struct IVAS_DEC bool Opt_VOIP; /* flag indicating VOIP mode with JBM */ int16_t tsm_scale; /* scale for TSM operation */ int16_t tsm_max_scaling; -#ifdef FIX_899_VARIABLE_SPEED_DECODING float tsm_quality; -#endif float *apaExecBuffer; /* Buffer for APA scaling */ PCMDSP_APA_HANDLE hTimeScaler; bool needNewFrame; @@ -166,10 +164,8 @@ ivas_error IVAS_DEC_Open( hIvasDec->apaExecBuffer = NULL; hIvasDec->hTimeScaler = NULL; hIvasDec->tsm_scale = 100; -#ifdef FIX_899_VARIABLE_SPEED_DECODING hIvasDec->tsm_max_scaling = 0; hIvasDec->tsm_quality = 1.0f; -#endif hIvasDec->needNewFrame = false; hIvasDec->nTransportChannelsOld = 0; hIvasDec->nSamplesAvailableNext = 0; @@ -495,12 +491,8 @@ ivas_error IVAS_DEC_Configure( hIvasDec->nSamplesAvailableNext = 0; hIvasDec->nSamplesRendered = 0; hIvasDec->tsm_scale = 100; -#ifdef FIX_899_VARIABLE_SPEED_DECODING hIvasDec->tsm_max_scaling = 0; hIvasDec->tsm_quality = 1.0f; -#else - hIvasDec->tsm_max_scaling = 100; -#endif return error; } @@ -2561,7 +2553,6 @@ ivas_error IVAS_DEC_VoIP_SetScale( return error; } -#ifdef FIX_899_VARIABLE_SPEED_DECODING /*---------------------------------------------------------------------* * IVAS_DEC_VoIP_SetScale( ) * @@ -2589,7 +2580,6 @@ ivas_error IVAS_DEC_TSM_SetQuality( return error; } -#endif /*---------------------------------------------------------------------* @@ -3676,11 +3666,7 @@ static ivas_error IVAS_DEC_VoIP_reconfigure( uint16_t wss, css; float startQuality; -#ifdef FIX_899_VARIABLE_SPEED_DECODING startQuality = hIvasDec->tsm_quality; -#else - startQuality = 1.0f; -#endif apa_buffer_size = APA_BUF_PER_CHANNEL; /* get current renderer type*/ diff --git a/lib_dec/lib_dec.h b/lib_dec/lib_dec.h index 1b5e7e4fcc..bccc190f98 100644 --- a/lib_dec/lib_dec.h +++ b/lib_dec/lib_dec.h @@ -266,12 +266,10 @@ ivas_error IVAS_DEC_VoIP_SetScale( const int16_t scale /* i : TSM scale to set */ ); -#ifdef FIX_899_VARIABLE_SPEED_DECODING ivas_error IVAS_DEC_TSM_SetQuality( IVAS_DEC_HANDLE hIvasDec, /* i/o: IVAS decoder handle */ const float quality /* i : target TSM quality */ ); -#endif /*! r: error code */ ivas_error IVAS_DEC_VoIP_GetSamples( -- GitLab From c9d095e49c500cdc6650ab6ca9fc560030493cee Mon Sep 17 00:00:00 2001 From: Markus Multrus Date: Wed, 22 Nov 2023 09:29:45 +0100 Subject: [PATCH 3/8] [cleanup] accept NONBE_FIX_788_SBA_DTX_BR_SWITCHING --- lib_com/ivas_prot.h | 2 -- lib_com/options.h | 1 - lib_enc/init_enc.c | 2 -- lib_enc/ivas_core_pre_proc.c | 2 -- lib_enc/ivas_core_pre_proc_front.c | 8 -------- lib_enc/ivas_cpe_enc.c | 4 ---- lib_enc/ivas_ism_enc.c | 4 ---- lib_enc/ivas_sce_enc.c | 4 ---- lib_enc/stat_enc.h | 2 -- 9 files changed, 29 deletions(-) diff --git a/lib_com/ivas_prot.h b/lib_com/ivas_prot.h index eb2f59fe89..5fb120033a 100755 --- a/lib_com/ivas_prot.h +++ b/lib_com/ivas_prot.h @@ -199,9 +199,7 @@ ivas_error pre_proc_front_ivas( const int16_t force_front_vad, /* i : flag to force VAD decision */ const int16_t front_vad_dtx_flag, /* i : front-VAD DTX flag to overwrite VAD decision*/ const IVAS_FORMAT ivas_format, /* i : IVAS format */ -#ifdef NONBE_FIX_788_SBA_DTX_BR_SWITCHING const int16_t MCT_flag, /* i : hMCT handle allocated (1) or not (0) */ -#endif const int32_t ivas_total_brate /* i : IVAS total bitrate */ ); diff --git a/lib_com/options.h b/lib_com/options.h index 40a27d4ec0..af4db2e818 100755 --- a/lib_com/options.h +++ b/lib_com/options.h @@ -161,7 +161,6 @@ /* any switch which is non-be wrt selection floating point code */ /* all switches in this category should start with "NONBE_" */ -#define NONBE_FIX_788_SBA_DTX_BR_SWITCHING /* VA: issue 787: fix Msan error in SBA BR switching with dtx in FOA encoding */ #define NONBE_FIX_856_TCX_LTP_SYNTH_FILTER /* FhG: issue 856: correct filtering length for tcx-ltp synth filtering*/ #define NONBE_UNIFIED_DECODING_PATHS /* FhG: unify decoding paths */ #define NONBE_FIX_874_OMASA_BRSW_2TD /* Nokia: issue 874: Fixes the crashes with the long test vectors that prompted switching to TD*/ diff --git a/lib_enc/init_enc.c b/lib_enc/init_enc.c index 5833ee4ca6..e722d83500 100755 --- a/lib_enc/init_enc.c +++ b/lib_enc/init_enc.c @@ -100,9 +100,7 @@ ivas_error init_encoder( st->low_rate_mode = 0; st->ini_frame = 0; st->inactive_coder_type_flag = 0; -#ifdef NONBE_FIX_788_SBA_DTX_BR_SWITCHING st->sba_br_sw_while_no_data = 0; -#endif st->coder_type_raw = VOICED; st->last_coder_type_raw = st->coder_type_raw; diff --git a/lib_enc/ivas_core_pre_proc.c b/lib_enc/ivas_core_pre_proc.c index 59a1c769fe..129177c0c1 100644 --- a/lib_enc/ivas_core_pre_proc.c +++ b/lib_enc/ivas_core_pre_proc.c @@ -283,9 +283,7 @@ ivas_error pre_proc_ivas( } else if ( element_brate != last_element_brate ) { -#ifdef NONBE_FIX_788_SBA_DTX_BR_SWITCHING if ( st->core_brate != FRAME_NO_DATA ) -#endif { SetModeIndex( st, st->bits_frame_nominal * FRAMES_PER_SEC, element_mode, MCT_flag ); } diff --git a/lib_enc/ivas_core_pre_proc_front.c b/lib_enc/ivas_core_pre_proc_front.c index 65e1b4ddba..47068d0a95 100644 --- a/lib_enc/ivas_core_pre_proc_front.c +++ b/lib_enc/ivas_core_pre_proc_front.c @@ -108,9 +108,7 @@ ivas_error pre_proc_front_ivas( const int16_t force_front_vad, /* i : flag to force VAD decision */ const int16_t front_vad_dtx_flag, /* i : front-VAD DTX flag to overwrite VAD decision*/ const IVAS_FORMAT ivas_format, /* i : IVAS format */ -#ifdef NONBE_FIX_788_SBA_DTX_BR_SWITCHING const int16_t MCT_flag, /* i : hMCT handle allocated (1) or not (0) */ -#endif const int32_t ivas_total_brate /* i : IVAS total bitrate - for setting the DTX */ ) { @@ -186,11 +184,7 @@ ivas_error pre_proc_front_ivas( st = hSCE->hCoreCoder[n]; signal_in = hSCE->hCoreCoder[n]->input; element_mode = IVAS_SCE; -#ifdef NONBE_FIX_788_SBA_DTX_BR_SWITCHING last_element_brate = hSCE->last_element_brate; -#else - last_element_brate = hSCE->element_brate; /* hack - the past parameter is not really needed */ -#endif hStereoClassif = NULL; lr_vad_enabled = 0; } @@ -787,7 +781,6 @@ ivas_error pre_proc_front_ivas( /* SNR-based speech/music classification */ if ( ( element_mode >= IVAS_CPE_DFT && element_brate >= IVAS_24k4 ) || ( element_mode == IVAS_SCE && element_brate >= SCE_SMC_THR ) ) { -#ifdef NONBE_FIX_788_SBA_DTX_BR_SWITCHING if ( ivas_format == SBA_FORMAT && st->core_brate != FRAME_NO_DATA && st->last_core_brate == FRAME_NO_DATA && st->sba_br_sw_while_no_data ) { SetModeIndex( st, st->bits_frame_nominal * FRAMES_PER_SEC, element_mode, MCT_flag ); @@ -797,7 +790,6 @@ ivas_error pre_proc_front_ivas( { st->sba_br_sw_while_no_data = 1; } -#endif if ( flag_16k_smc ) { diff --git a/lib_enc/ivas_cpe_enc.c b/lib_enc/ivas_cpe_enc.c index 88d3b0b5bb..a2200e770a 100644 --- a/lib_enc/ivas_cpe_enc.c +++ b/lib_enc/ivas_cpe_enc.c @@ -478,11 +478,7 @@ ivas_error ivas_cpe_enc( error = pre_proc_front_ivas( NULL, hCPE, hCPE->element_brate, nb_bits_metadata, input_frame, n, old_inp_12k8[n], old_inp_16k[n], &ener[n], &relE[n], A[n], Aw[n], epsP[n], lsp_new[n], lsp_mid[n], &vad_hover_flag[n], &attack_flag[n], realBuffer[n], imagBuffer[n], old_wsp[n], pitch_fr[n], voicing_fr[n], &loc_harm[n], &cor_map_sum[n], &vad_flag_dtx[n], enerBuffer[n], -#ifdef NONBE_FIX_788_SBA_DTX_BR_SWITCHING fft_buff[n], A[0], lsp_new[0], currFlatness[n], tdm_ratio_idx, fr_bands, Etot_LR, lf_E, localVAD_HE_SAD, band_energies_LR, 0, st_ivas->hSpar != NULL ? st_ivas->hSpar->front_vad_flag : 0, 0, 0, ivas_format, st_ivas->hMCT != NULL, ivas_total_brate ); -#else - fft_buff[n], A[0], lsp_new[0], currFlatness[n], tdm_ratio_idx, fr_bands, Etot_LR, lf_E, localVAD_HE_SAD, band_energies_LR, 0, st_ivas->hSpar != NULL ? st_ivas->hSpar->front_vad_flag : 0, 0, 0, ivas_format, ivas_total_brate ); -#endif if ( error != IVAS_ERR_OK ) { return error; diff --git a/lib_enc/ivas_ism_enc.c b/lib_enc/ivas_ism_enc.c index 0c0e64d666..db689cc9f1 100644 --- a/lib_enc/ivas_ism_enc.c +++ b/lib_enc/ivas_ism_enc.c @@ -175,11 +175,7 @@ ivas_error ivas_ism_enc( error = pre_proc_front_ivas( hSCE, NULL, hSCE->element_brate, nb_bits_metadata[sce_id], input_frame, 0, old_inp_12k8[sce_id][0], old_inp_16k[sce_id][0], &ener[sce_id][0], &relE[sce_id][0], A[sce_id][0], Aw[sce_id][0], epsP[sce_id][0], lsp_new[sce_id][0], lsp_mid[sce_id][0], &vad_hover_flag[sce_id][0], &attack_flag[sce_id][0], realBuffer[sce_id][0], imagBuffer[sce_id][0], old_wsp[sce_id][0], pitch_fr[sce_id][0], voicing_fr[sce_id][0], &loc_harm[sce_id][0], &cor_map_sum[sce_id][0], &vad_flag_dtx[sce_id][0], enerBuffer[sce_id][0], -#ifdef NONBE_FIX_788_SBA_DTX_BR_SWITCHING fft_buff[sce_id][0], A[sce_id][0], lsp_new[sce_id][0], currFlatness[0], 0, fr_bands, Etot_LR, lf_E, localVAD_HE_SAD, NULL, 0, 0, 0, 0, ISM_FORMAT, 0, st_ivas->hEncoderConfig->ivas_total_brate ); -#else - fft_buff[sce_id][0], A[sce_id][0], lsp_new[sce_id][0], currFlatness[0], 0, fr_bands, Etot_LR, lf_E, localVAD_HE_SAD, NULL, 0, 0, 0, 0, ISM_FORMAT, st_ivas->hEncoderConfig->ivas_total_brate ); -#endif if ( error != IVAS_ERR_OK ) { return error; diff --git a/lib_enc/ivas_sce_enc.c b/lib_enc/ivas_sce_enc.c index b0184220ad..ae6496657e 100644 --- a/lib_enc/ivas_sce_enc.c +++ b/lib_enc/ivas_sce_enc.c @@ -184,11 +184,7 @@ ivas_error ivas_sce_enc( &ener[0], &relE[0], A[0], Aw[0], epsP[0], lsp_new[0], lsp_mid[0], &vad_hover_flag[0], &attack_flag[0], realBuffer[0], imagBuffer[0], old_wsp[0], pitch_fr[0], voicing_fr[0], &loc_harm[0], &cor_map_sum[0], &vad_flag_dtx[0], enerBuffer[0], fft_buff[0], A[0], lsp_new[0], currFlatness[0], 0, fr_bands, Etot_LR, lf_E, localVAD_HE_SAD, NULL, flag_16k_smc, -#ifdef NONBE_FIX_788_SBA_DTX_BR_SWITCHING st_ivas->hSpar != NULL ? st_ivas->hSpar->front_vad_flag : 0, st_ivas->hSpar != NULL ? st_ivas->hSpar->force_front_vad : 0, st_ivas->hSpar != NULL ? st_ivas->hSpar->front_vad_dtx_flag : 0, ivas_format, 0, st_ivas->hEncoderConfig->ivas_total_brate ); -#else - st_ivas->hSpar != NULL ? st_ivas->hSpar->front_vad_flag : 0, st_ivas->hSpar != NULL ? st_ivas->hSpar->force_front_vad : 0, st_ivas->hSpar != NULL ? st_ivas->hSpar->front_vad_dtx_flag : 0, ivas_format, st_ivas->hEncoderConfig->ivas_total_brate ); -#endif if ( error != IVAS_ERR_OK ) { return error; diff --git a/lib_enc/stat_enc.h b/lib_enc/stat_enc.h index b4dda7da78..b5fc7fdd79 100755 --- a/lib_enc/stat_enc.h +++ b/lib_enc/stat_enc.h @@ -1556,9 +1556,7 @@ typedef struct enc_core_structure int16_t dtx_sce_sba; /* enable use of FD CNG with transform domain cores in SCE SBA */ -#ifdef NONBE_FIX_788_SBA_DTX_BR_SWITCHING int16_t sba_br_sw_while_no_data; /* Indicator for SBA bitrate switch while in FRAME_NO_DATA mode */ -#endif } Encoder_State, *ENC_CORE_HANDLE; -- GitLab From 5cafefb936555b6b10ceb33bd4ac6e047fcbb774 Mon Sep 17 00:00:00 2001 From: Markus Multrus Date: Wed, 22 Nov 2023 09:31:41 +0100 Subject: [PATCH 4/8] [cleanup] accept NONBE_FIX_874_OMASA_BRSW_2TD --- lib_com/ivas_prot.h | 3 --- lib_com/ivas_stereo_td_bit_alloc.c | 12 ------------ lib_com/options.h | 1 - lib_dec/ivas_jbm_dec.c | 2 -- lib_enc/ivas_cpe_enc.c | 4 ---- lib_enc/ivas_stereo_classifier.c | 10 ---------- 6 files changed, 32 deletions(-) diff --git a/lib_com/ivas_prot.h b/lib_com/ivas_prot.h index 5fb120033a..20a85f9aa8 100755 --- a/lib_com/ivas_prot.h +++ b/lib_com/ivas_prot.h @@ -1939,9 +1939,6 @@ void stereo_icBWE_decproc( int16_t select_stereo_mode( CPE_ENC_HANDLE hCPE, /* i/o: CPE encoder structure */ const IVAS_FORMAT ivas_format /* i : IVAS format */ -#ifndef NONBE_FIX_874_OMASA_BRSW_2TD - ,const int32_t ivas_total_brate /* i : IVAS total brate */ - #endif ); void stereo_classifier_init( diff --git a/lib_com/ivas_stereo_td_bit_alloc.c b/lib_com/ivas_stereo_td_bit_alloc.c index 7af235e813..ce3a5f20fe 100644 --- a/lib_com/ivas_stereo_td_bit_alloc.c +++ b/lib_com/ivas_stereo_td_bit_alloc.c @@ -307,19 +307,8 @@ void tdm_bit_alloc( else { *total_brate_sec = min( *total_brate_sec, element_brate_wo_meta - ( 5900 + BWE_brate ) ); -#ifndef NONBE_FIX_874_OMASA_BRSW_2TD - if ( coder_type == INACTIVE ) - { - *total_brate_sec = max( *total_brate_sec, tdm_bit_allc_tbl[0][0] ); /* sanity check to ensure the secondary channel always gets the minimal bitrate it needs */ - } - else - { - *total_brate_sec = max( *total_brate_sec, 3500 ); /* sanity check to ensure the secondary channel always gets the minimal bitrate it needs */ - } -#endif } -#ifdef NONBE_FIX_874_OMASA_BRSW_2TD if ( coder_type == INACTIVE ) { *total_brate_sec = max( *total_brate_sec, tdm_bit_allc_tbl[0][0] ); /* sanity check to ensure the secondary channel always gets the minimal bitrate it needs */ @@ -328,7 +317,6 @@ void tdm_bit_alloc( { *total_brate_sec = max( *total_brate_sec, 3500 ); /* sanity check to ensure the secondary channel always gets the minimal bitrate it needs */ } -#endif /* Secondary channel bitrate adjusment */ /* First, adjust the bitrate depending of what is transmitted */ diff --git a/lib_com/options.h b/lib_com/options.h index af4db2e818..9b242c070b 100755 --- a/lib_com/options.h +++ b/lib_com/options.h @@ -163,7 +163,6 @@ #define NONBE_FIX_856_TCX_LTP_SYNTH_FILTER /* FhG: issue 856: correct filtering length for tcx-ltp synth filtering*/ #define NONBE_UNIFIED_DECODING_PATHS /* FhG: unify decoding paths */ -#define NONBE_FIX_874_OMASA_BRSW_2TD /* Nokia: issue 874: Fixes the crashes with the long test vectors that prompted switching to TD*/ #define NONBE_FIX_871_ACELP_CRASH_IN_OSBA /* FhG: isse 871: crash in ACELP core encoder with OSBA */ #define NONBE_FIX_225_MASA_EXT_REND /* Nokia: Resolve #225: Complete MASA external renderer implementation */ #define NONBE_FIX_897_USAN_WITH_MASA_RENDERING /* Nokia: issue #897: USAN null pointer in MASA external renderer to Ambisonics */ diff --git a/lib_dec/ivas_jbm_dec.c b/lib_dec/ivas_jbm_dec.c index 24f8608f73..d1e6fda060 100644 --- a/lib_dec/ivas_jbm_dec.c +++ b/lib_dec/ivas_jbm_dec.c @@ -226,9 +226,7 @@ ivas_error ivas_jbm_dec_tc( if ( st_ivas->nchan_transport == CPE_CHANNELS && st_ivas->nCPE >= 1 ) { -#ifdef NONBE_FIX_874_OMASA_BRSW_2TD st_ivas->hCPE[0]->brate_surplus = 0; -#endif st_ivas->hCPE[0]->element_brate = ivas_total_brate; } diff --git a/lib_enc/ivas_cpe_enc.c b/lib_enc/ivas_cpe_enc.c index a2200e770a..dc395d5f29 100644 --- a/lib_enc/ivas_cpe_enc.c +++ b/lib_enc/ivas_cpe_enc.c @@ -176,11 +176,7 @@ ivas_error ivas_cpe_enc( if ( sts[0]->ini_frame > 0 && st_ivas->hMCT == NULL ) { -#ifdef NONBE_FIX_874_OMASA_BRSW_2TD hCPE->element_mode = select_stereo_mode( hCPE, ivas_format ); -#else - hCPE->element_mode = select_stereo_mode( hCPE, ivas_format, ivas_total_brate ); -#endif } stereo_mode_combined_format_enc( st_ivas, hCPE ); diff --git a/lib_enc/ivas_stereo_classifier.c b/lib_enc/ivas_stereo_classifier.c index 5649423bc2..427b55fe69 100644 --- a/lib_enc/ivas_stereo_classifier.c +++ b/lib_enc/ivas_stereo_classifier.c @@ -89,10 +89,6 @@ static float redge_detect( const float *inp, const int16_t len, const float inp_ int16_t select_stereo_mode( CPE_ENC_HANDLE hCPE, /* i/o: CPE encoder structure */ const IVAS_FORMAT ivas_format /* i : IVAS format */ -#ifndef NONBE_FIX_874_OMASA_BRSW_2TD - , - const int32_t ivas_total_brate /* i : IVAS total brate */ -#endif ) { int16_t element_mode; @@ -115,11 +111,7 @@ int16_t select_stereo_mode( stereo_switching_flag = 1; -#ifdef NONBE_FIX_874_OMASA_BRSW_2TD if ( hCPE->element_brate >= MIN_BRATE_MDCT_STEREO || ( ( ivas_format == MASA_FORMAT || ivas_format == MASA_ISM_FORMAT ) && hCPE->element_brate < MASA_STEREO_MIN_BITRATE ) -#else - if ( hCPE->element_brate >= MIN_BRATE_MDCT_STEREO || ( ( ivas_format == MASA_FORMAT || ivas_format == MASA_ISM_FORMAT ) && ivas_total_brate < MASA_STEREO_MIN_BITRATE ) -#endif #ifdef DEBUGGING || ( hCPE->stereo_mode_cmdl == IVAS_CPE_DFT || hCPE->stereo_mode_cmdl == IVAS_CPE_TD ) #endif @@ -155,12 +147,10 @@ int16_t select_stereo_mode( { if ( stereo_switching_flag == 0 ) { -#ifdef NONBE_FIX_874_OMASA_BRSW_2TD if ( ( ivas_format == MASA_FORMAT || ivas_format == MASA_ISM_FORMAT ) && hCPE->element_brate < MASA_STEREO_MIN_BITRATE ) { element_mode = IVAS_CPE_DFT; } -#endif #ifdef DEBUGGING if ( hCPE->stereo_mode_cmdl > 1 ) { -- GitLab From e70ea04f8edd3dbe48041771ed5aeb5bc3c9ff1d Mon Sep 17 00:00:00 2001 From: Markus Multrus Date: Wed, 22 Nov 2023 09:34:06 +0100 Subject: [PATCH 5/8] [cleanup] accept NONBE_FIX_225_MASA_EXT_REND --- apps/renderer.c | 20 - lib_com/options.h | 1 - lib_dec/ivas_dirac_dec.c | 16 - lib_dec/ivas_rom_dec.c | 144 ---- lib_dec/ivas_rom_dec.h | 21 - lib_rend/ivas_dirac_dec_binaural_functions.c | 4 - lib_rend/ivas_dirac_decorr_dec.c | 7 - lib_rend/ivas_dirac_output_synthesis_dec.c | 27 - lib_rend/ivas_dirac_rend.c | 14 - lib_rend/ivas_prot_rend.h | 25 - lib_rend/ivas_rom_rend.c | 2 - lib_rend/ivas_rom_rend.h | 2 - lib_rend/ivas_stat_rend.h | 2 - lib_rend/lib_rend.c | 726 ------------------- 14 files changed, 1011 deletions(-) diff --git a/apps/renderer.c b/apps/renderer.c index f66d6d1a8f..5fcc71e248 100644 --- a/apps/renderer.c +++ b/apps/renderer.c @@ -1795,7 +1795,6 @@ int main( exit( -1 ); } -#ifdef NONBE_FIX_225_MASA_EXT_REND if ( isCurrentFrameMultipleOf20ms ) { if ( masaReaders[i] != NULL ) @@ -1814,19 +1813,6 @@ int main( } } } -#else - if ( masaReaders[i] != NULL ) - { - /* This will update data in hMasaMetadata[i] */ - MasaFileReader_readNextFrame( masaReaders[i] ); - - if ( ( error = IVAS_REND_FeedInputMasaMetadata( hIvasRend, masaIds[i], hMasaMetadata[i] ) ) != IVAS_ERR_OK ) - { - fprintf( stderr, "Error: %s\n", ivas_error_to_string( error ) ); - exit( -1 ); - } - } -#endif } @@ -2531,13 +2517,7 @@ static IVAS_AUDIO_CONFIG parseAudioConfig( switch ( charBuf[4] ) { case '1': -#ifdef NONBE_FIX_225_MASA_EXT_REND return IVAS_AUDIO_CONFIG_MASA1; -#else - fprintf( stderr, "1TC MASA support is not functional and is pending on DirAC renderer refactoring.\n" ); - exit( EXIT_FAILURE ); - /*return IVAS_AUDIO_CONFIG_MASA1;*/ // ToDo: temporarily disabled to avoid compilation warnings -#endif case '2': return IVAS_AUDIO_CONFIG_MASA2; default: diff --git a/lib_com/options.h b/lib_com/options.h index 9b242c070b..755d12f863 100755 --- a/lib_com/options.h +++ b/lib_com/options.h @@ -164,7 +164,6 @@ #define NONBE_FIX_856_TCX_LTP_SYNTH_FILTER /* FhG: issue 856: correct filtering length for tcx-ltp synth filtering*/ #define NONBE_UNIFIED_DECODING_PATHS /* FhG: unify decoding paths */ #define NONBE_FIX_871_ACELP_CRASH_IN_OSBA /* FhG: isse 871: crash in ACELP core encoder with OSBA */ -#define NONBE_FIX_225_MASA_EXT_REND /* Nokia: Resolve #225: Complete MASA external renderer implementation */ #define NONBE_FIX_897_USAN_WITH_MASA_RENDERING /* Nokia: issue #897: USAN null pointer in MASA external renderer to Ambisonics */ #define NONBE_FIX_811_DFT_DOUBLE_TO_FLOAT /* FhG: issue 811: change double precision functions to float in DFT Stereo */ diff --git a/lib_dec/ivas_dirac_dec.c b/lib_dec/ivas_dirac_dec.c index b5b8282c12..9d66a9172b 100644 --- a/lib_dec/ivas_dirac_dec.c +++ b/lib_dec/ivas_dirac_dec.c @@ -41,9 +41,7 @@ #include "ivas_cnst.h" #include "ivas_rom_com.h" #include "ivas_rom_dec.h" -#ifdef NONBE_FIX_225_MASA_EXT_REND #include "ivas_rom_rend.h" -#endif #ifdef DEBUGGING #include "debug.h" #endif @@ -843,14 +841,8 @@ ivas_error ivas_dirac_dec_config( if ( !sparfoa_flag ) { common_rend_config_flag = st_ivas->hSpatParamRendCom == NULL ? DIRAC_OPEN : flag_config_inp; -#ifdef NONBE_FIX_225_MASA_EXT_REND if ( ( error = ivas_spat_hSpatParamRendCom_config( &st_ivas->hSpatParamRendCom, common_rend_config_flag, dec_param_estim_new, st_ivas->ivas_format, st_ivas->mc_mode, output_Fs, hodirac_flag, 0 ) ) != IVAS_ERR_OK ) -#else - if ( ( error = ivas_spat_hSpatParamRendCom_config( &st_ivas->hSpatParamRendCom, common_rend_config_flag, dec_param_estim_new, - st_ivas->ivas_format, st_ivas->mc_mode, output_Fs, hodirac_flag ) ) != IVAS_ERR_OK ) - -#endif { return error; } @@ -1969,11 +1961,7 @@ void ivas_dirac_dec_render_sf( ivas_dirac_dec_compute_directional_responses( hSpatParamRendCom, hDirACRend, st_ivas->hVBAPdata, -#ifdef NONBE_FIX_225_MASA_EXT_REND st_ivas->hMasa == NULL ? NULL : st_ivas->hMasa->data.band_mapping, -#else - st_ivas->hMasa, -#endif st_ivas->hMasaIsmData, azimuth, elevation, @@ -1988,11 +1976,7 @@ void ivas_dirac_dec_render_sf( ivas_dirac_dec_compute_directional_responses( hSpatParamRendCom, hDirACRend, st_ivas->hVBAPdata, -#ifdef NONBE_FIX_225_MASA_EXT_REND st_ivas->hMasa == NULL ? NULL : st_ivas->hMasa->data.band_mapping, -#else - st_ivas->hMasa, -#endif st_ivas->hMasaIsmData, azimuth, elevation, diff --git a/lib_dec/ivas_rom_dec.c b/lib_dec/ivas_rom_dec.c index 4516fcff4b..d05bf16fef 100644 --- a/lib_dec/ivas_rom_dec.c +++ b/lib_dec/ivas_rom_dec.c @@ -379,18 +379,6 @@ const uint16_t * const sym_freq_ECSQ_tab_abs_lsbs[1 + 4] = * DirAC ROM tables *----------------------------------------------------------------------------------*/ -#ifndef NONBE_FIX_225_MASA_EXT_REND -const float ls_azimuth_4d4[8] = { 45.0f, -45.0f, 135.0f, -135.0f, 45.0f, -45.0f, 135.0f, -135.0f }; - -const float ls_elevation_4d4[8] = { 0.0f, 0.0f, 0.0f, 0.0f, 35.0f, 35.0f, 35.0f, 35.0f }; - -const float diffuse_response_CICP6[5] = { 0.4219f, 0.4219f, 0.3704f, 0.5034f, 0.5034f }; - -const float diffuse_response_CICP14[7] = { 0.3817f, 0.3817f, 0.2819f, 0.5399f, 0.5399f, 0.1519f, 0.1519f }; - -const float diffuse_response_CICP16[9] = { 0.3456f, 0.3456f, 0.3035f, 0.4124f, 0.4124f, 0.2702f, 0.2702f, 0.3023f, 0.3023f }; - -#endif const float dirac_dithering_azi_scale[DIRAC_DIFFUSE_LEVELS] = { @@ -402,138 +390,6 @@ const float dirac_dithering_ele_scale[DIRAC_DIFFUSE_LEVELS] = 6.716062e-01f, 1.011804e+00f, 1.796875e+00f, 2.804382e+00f, 4.623130e+00f, 7.802667e+00f, 1.045446e+01f, 1.379538e+01f }; -#ifndef NONBE_FIX_225_MASA_EXT_REND -const int16_t ap_pre_delay[DIRAC_DECORR_NUM_SPLIT_BANDS] = { 7, 2, 1 }; - -const int16_t ap_filter_length[DIRAC_DECORR_NUM_SPLIT_BANDS] = { 15, 6, 3 }; - -const float ap_lattice_delta_phi[DIRAC_MAX_NUM_DECORR_FILTERS*DIRAC_MAX_DECORR_FILTER_LEN] = -{ - 1.802519f, 0.922986f, 1.813685f, 1.272828f, 0.856928f, 0.366571f, 1.531249f, 1.318158f, 0.123812f, 0.897173f, 0.958696f, 1.256384f, 0.179677f, 0.668918f, 1.440292f, 1.573058f, 1.396481f, 1.191463f, 0.444143f, 1.666942f, - 1.273955f, 1.747171f, 1.408330f, 1.002782f, 1.559302f, 1.782992f, 1.474896f, 0.813181f, 1.457724f, 0.588531f, 1.384302f, 0.156493f, 0.600048f, 1.661632f, 0.538958f, 0.645429f, 0.565237f, 0.024684f, 0.264229f, 0.062140f, - 1.235343f, 0.851725f, 1.820211f, 0.116148f, 0.972111f, 0.488703f, 1.777672f, 1.452170f, 0.814134f, 1.272649f, 1.281416f, 0.101871f, 0.897888f, 0.199760f, 0.085732f, 1.686579f, 0.964558f, 0.057281f, 0.910252f, 1.662302f, - 0.955234f, 0.834348f, 1.672478f, 1.324896f, 0.444544f, 1.721172f, 0.153356f, 1.602240f, 0.171880f, 1.169774f, 0.543628f, 1.409581f, 1.763724f, 1.686754f, 1.210390f, 0.402691f, 0.983618f, 0.862997f, 1.220409f, 0.890061f, - 0.031641f, 0.461590f, 1.719550f, 1.357698f, 1.112262f, 1.166531f, 0.246097f, 1.387325f, 0.177485f, 1.446268f, 0.799476f, 1.667227f, 1.723465f, 1.505920f, 0.245874f, 1.155854f, 0.831394f, 0.677194f, 0.568871f, 1.652070f, - 0.019803f, 1.197794f, 0.635553f, 0.531682f, 0.878194f, 0.048050f, 0.080480f, 1.566743f, 0.724210f, 0.853668f, 1.741191f, 0.698465f, 1.553550f, 0.130290f, 0.688346f, 1.331091f, 0.599759f, 1.125466f, 1.764818f, 1.042879f, - 1.486589f, 1.627971f, 1.871181f, 0.102359f, 0.035021f, 1.403176f, 1.468675f, 0.190347f, 0.553282f, 1.031227f, 1.232390f, 1.255724f, 1.504443f, 0.683526f, 0.600958f, 1.746936f, 1.529243f, 1.448196f, 0.646850f, 0.116053f, - 1.283295f, 0.355220f, 1.380620f, 1.858453f, 0.818804f, 0.219006f, 0.476292f, 0.420029f, 1.291187f, 0.568738f, 1.174088f, 0.628805f, 1.753154f, 1.459582f, 1.354449f, 1.755790f, 0.441757f, 0.856240f, 1.647962f, 0.686353f, - 1.395289f, 0.699934f, 0.239310f, 0.239535f, 0.958190f, 0.748780f, 0.513784f, 1.666344f, 1.461995f, 1.599060f, 0.893107f, 0.341873f, 1.387703f, 1.808363f, 0.676542f, 1.424958f, 0.310574f, 0.836247f, 1.011101f, 1.686200f, - 1.823432f, 0.994827f, 1.635555f, 0.684380f, 1.017029f, 1.440371f, 1.694641f, 0.607132f, 1.197331f, 0.862161f, 0.666449f, 1.047956f, 0.159627f, 0.043131f, 1.251515f, 1.618724f, 0.216906f, 0.152250f, 0.471610f, 0.744260f, - 0.576810f, 1.632177f, 1.556912f, 1.866317f, 0.568088f, 1.541817f, 1.726725f, 0.275154f, 0.814958f, 0.863399f, 1.333040f, 0.148277f, 0.197893f, 1.048665f, 1.158090f, 1.692225f, 0.884294f, 0.289619f, 0.380633f, 1.728234f, - 1.433213f, 1.749505f, 1.533837f, 0.669701f, 0.372580f, 1.052390f, 1.116645f, 0.181320f, 1.139126f, 0.222671f, 0.604393f, 1.811797f, 1.743315f, 1.368792f, 1.861434f, 0.751908f, 0.159811f, 1.566503f, 0.443273f, 1.667530f, - 1.083060f, 1.243136f, 0.717777f, 0.675019f, 0.690490f, 0.672228f, 1.060789f, 0.423566f, 1.198457f, 0.485768f, 0.993953f, 0.443540f, 0.361702f, 1.552042f, 0.863562f, 1.517677f, 1.061899f, 0.691413f, 1.642818f, 1.756590f, - 0.278323f, 0.790363f, 0.172303f, 0.417138f, 0.009343f, 0.783325f, 1.369303f, 1.041067f, 0.467102f, 0.992773f, 1.525170f, 0.871213f, 0.243906f, 1.542036f, 0.449148f, 0.843633f, 0.191800f, 1.614246f, 1.038188f, 1.415620f, - 0.551081f, 0.382599f, 1.410121f, 0.102084f, 0.137286f, 0.671081f, 0.254860f, 1.758068f, 1.079013f, 0.129143f, 1.410873f, 0.150485f, 0.601119f, 0.760737f, 0.975905f, 0.223261f, 0.710162f, 1.677048f, 0.996836f, 1.849865f, - 1.536222f, 0.089016f, 0.960881f, 0.388690f, 0.379955f, 1.002223f, 1.271420f, 1.410632f, 0.254397f, 1.535559f, 1.133703f, 1.305280f, 1.466565f, 0.274167f, 0.399688f, 1.359638f, 1.766289f, 1.401348f, 1.310883f, 0.261030f, - 1.314825f, 1.538635f, 1.317986f, 1.243167f, 1.749461f, 1.689706f, 0.024853f, 0.634754f, 1.036317f, 1.828101f, 1.676951f, 0.023606f, 0.857000f, 0.076471f, 1.622198f, 0.254469f, 1.451625f, 1.720881f, 0.763812f, 0.186982f, - 0.056994f, 0.590507f, 0.375291f, 1.609261f, 0.607721f, 0.026355f, 0.483366f, 0.823931f, 0.792878f, 0.163577f, 0.753588f, 0.730789f, 0.135991f, 1.031660f, 1.554135f, 1.192863f, 0.016693f, 0.125796f, 1.017920f, 1.591773f, - 0.575956f, 0.112943f, 0.249506f, 1.399570f, 0.053241f, 1.410759f, 0.251638f, 1.059086f, 0.025315f, 1.422914f, 1.030412f, 0.848758f, 0.317396f, 1.375456f, 1.116858f, 1.682310f, 0.279550f, 0.325974f, 0.937704f, 1.744329f, - 0.447773f, 1.024286f, 1.001528f, 1.863684f, 1.278323f, 0.860699f, 1.346331f, 1.692596f, 0.022627f, 1.033613f, 0.546354f, 0.395804f, 1.486546f, 1.381045f, 1.312260f, 0.245976f, 1.607429f, 1.818793f, 0.964359f, 1.496598f, - 0.669967f, 1.535929f, 1.841878f, 0.979127f, 0.614002f, 1.879218f, 0.512531f, 1.167061f, 0.081697f, 1.773427f, 1.535668f, 0.757729f, 0.220395f, 1.538243f, 1.281162f, 0.302159f, 0.889871f, 0.798522f, 1.476288f, 1.665941f, - 0.915365f, 1.394094f, 0.757041f, 0.350064f, 1.199679f, 1.319499f, 1.128405f, 0.632337f, 0.790673f, 0.461582f, 1.693343f, 1.537442f, 0.346527f, 0.433782f, 1.754552f, 0.550903f, 0.686724f, 0.764433f, 1.792750f, 1.489998f -}; - -const float ap_lattice_coeffs_1[DIRAC_DECORR_FILTER_LEN_1*DIRAC_MAX_NUM_DECORR_FILTERS] = -{ - 0.795329f, 0.502700f, 0.204456f, 0.416566f, 0.459648f, 0.270454f, -0.201944f, 0.027997f, 0.067811f, -0.052627f, -0.038779f, -0.057387f, 0.020480f, 0.367697f, -0.593705f, - 0.533667f, 0.202500f, -0.001953f, 0.195081f, -0.184458f, -0.233867f, 0.228100f, -0.329293f, -0.338714f, -0.079700f, 0.052389f, -0.009468f, 0.178807f, 0.190843f, -0.478877f, - 0.044022f, 0.788498f, 0.133529f, -0.173657f, 0.545391f, 0.681431f, 0.332868f, 0.294685f, 0.325261f, 0.047617f, 0.157401f, 0.116272f, 0.218980f, -0.189248f, -0.317401f, - -0.753681f, 0.772385f, -0.507384f, 0.276980f, -0.692775f, 0.232302f, -0.354759f, -0.015620f, -0.223059f, 0.310506f, -0.035034f, 0.085783f, -0.499998f, 0.215260f, 0.201415f, - -0.495551f, -0.301660f, 0.196510f, 0.326147f, -0.594364f, 0.314921f, 0.668671f, 0.076643f, 0.045711f, -0.124790f, -0.203272f, -0.297190f, 0.125806f, -0.179483f, -0.201757f, - 0.161128f, 0.396050f, 0.266897f, 0.356586f, 0.488145f, -0.056254f, 0.139280f, -0.296405f, -0.112844f, 0.037405f, -0.367425f, -0.216292f, -0.277360f, 0.389420f, 0.115115f, - -0.240449f, -0.271015f, 0.426720f, -0.011059f, 0.151813f, 0.253490f, 0.225764f, 0.498716f, -0.136377f, 0.443004f, -0.305017f, -0.031310f, -0.010765f, 0.170349f, 0.496478f, - -0.139875f, -0.241998f, -0.104850f, 0.294343f, -0.067728f, -0.492202f, -0.487610f, 0.036395f, 0.109393f, 0.396155f, -0.352845f, -0.205913f, -0.082999f, -0.463033f, -0.309296f, - 0.025886f, -0.092456f, -0.125139f, -0.156117f, -0.004887f, 0.178440f, 0.089586f, 0.044827f, 0.238219f, -0.312120f, -0.390688f, -0.178543f, 0.454418f, 0.387012f, -0.388874f, - -0.197797f, 0.035540f, 0.455388f, -0.054410f, 0.380035f, 0.290964f, 0.048804f, 0.078637f, 0.221740f, -0.217548f, 0.121289f, -0.396681f, -0.218482f, -0.127265f, -0.269507f, - -0.344218f, -0.465038f, -0.421415f, -0.026031f, 0.221547f, 0.361993f, -0.348243f, 0.294983f, 0.366175f, 0.070663f, -0.086050f, 0.252129f, 0.156066f, -0.062800f, 0.408972f, - 0.242461f, -0.301764f, -0.066160f, 0.388651f, -0.462227f, -0.158880f, 0.230796f, -0.093179f, 0.047076f, 0.073402f, -0.335018f, 0.022940f, 0.354611f, 0.072391f, 0.019473f, - 0.336900f, -0.480534f, 0.170267f, 0.259663f, -0.393576f, -0.348588f, -0.108962f, 0.278842f, 0.385490f, 0.362249f, -0.318739f, 0.362305f, 0.288936f, 0.291204f, -0.278019f, - -0.449302f, -0.288513f, -0.413973f, -0.405279f, -0.295152f, -0.245110f, 0.002530f, 0.287890f, 0.348229f, -0.178354f, -0.206517f, 0.351081f, -0.482205f, 0.021360f, -0.492207f, - 0.048642f, 0.453282f, 0.109160f, 0.232599f, -0.473781f, 0.140502f, 0.352527f, -0.098606f, 0.147172f, -0.055797f, 0.107739f, -0.231026f, 0.357310f, 0.348031f, 0.232404f, - -0.324788f, 0.162480f, 0.057647f, -0.060734f, -0.009742f, -0.224185f, -0.282355f, -0.065443f, 0.064697f, 0.280370f, -0.284906f, -0.470501f, 0.019484f, -0.442308f, 0.377214f, - 0.447384f, -0.290498f, 0.345528f, 0.370207f, -0.313120f, 0.119592f, 0.300014f, 0.406995f, -0.277922f, 0.447039f, 0.194824f, 0.157703f, -0.223402f, -0.147167f, 0.379073f, - -0.216342f, 0.137967f, -0.397180f, 0.073905f, -0.273110f, -0.443037f, -0.168327f, 0.346264f, 0.037543f, 0.065387f, 0.163901f, -0.122523f, 0.365477f, -0.316321f, 0.117273f, - -0.301282f, 0.169625f, -0.336466f, 0.269914f, -0.420160f, -0.331296f, 0.498523f, -0.393009f, -0.462184f, -0.323097f, 0.470977f, -0.359463f, 0.264315f, 0.216797f, 0.493400f, - 0.151489f, -0.321653f, 0.464413f, -0.355673f, 0.420401f, 0.184297f, -0.302128f, 0.136536f, -0.252849f, 0.193906f, 0.298775f, 0.238808f, -0.386298f, -0.181999f, -0.077326f, - 0.124840f, -0.263394f, 0.389606f, 0.004502f, 0.339804f, 0.415204f, 0.377751f, 0.400221f, 0.352426f, -0.003808f, -0.184530f, 0.433348f, -0.237554f, 0.147684f, 0.407210f, - 0.067616f, -0.249313f, -0.354010f, 0.320937f, 0.426000f, 0.309576f, -0.189689f, -0.209447f, 0.158967f, -0.081929f, 0.386828f, 0.178582f, -0.407143f, 0.222189f, -0.149097f -}; - -const float ap_lattice_coeffs_2[DIRAC_DECORR_FILTER_LEN_2*DIRAC_MAX_NUM_DECORR_FILTERS] = -{ - 0.633692f, 0.681207f, -0.049418f, 0.286715f, 0.146022f, 0.135402f, - -0.410145f, -0.206766f, -0.656968f, -0.101746f, 0.436299f, 0.339818f, - -0.131383f, -0.773746f, -0.301627f, 0.327561f, 0.332227f, 0.205858f, - 0.717602f, -0.552370f, -0.150136f, 0.054556f, 0.239519f, -0.648477f, - -0.721848f, 0.189377f, 0.068185f, 0.006216f, 0.077025f, 0.038678f, - 0.423415f, -0.108658f, 0.432050f, -0.414641f, 0.277840f, 0.418486f, - 0.077811f, -0.283063f, -0.357008f, 0.004634f, -0.442640f, -0.372315f, - 0.403336f, 0.243023f, 0.314367f, 0.444513f, 0.347517f, 0.496043f, - 0.108408f, 0.469382f, -0.170286f, 0.326310f, 0.172157f, 0.440334f, - 0.058417f, 0.339673f, -0.194965f, 0.491219f, -0.281296f, -0.043120f, - -0.482487f, -0.335005f, -0.336159f, 0.196469f, -0.164623f, 0.442491f, - -0.135190f, -0.354385f, 0.452133f, -0.311221f, -0.347640f, 0.498342f, - -0.288999f, 0.376431f, -0.177924f, 0.195542f, 0.333872f, -0.152697f, - 0.053230f, 0.457767f, 0.442476f, 0.235254f, -0.345159f, -0.286098f, - 0.155438f, 0.405393f, 0.217073f, -0.107960f, 0.010698f, 0.368987f, - -0.498358f, -0.495816f, -0.215479f, -0.093869f, 0.320276f, -0.013842f, - 0.489406f, 0.470814f, -0.065834f, 0.346871f, 0.027279f, 0.150086f, - 0.484013f, -0.497391f, 0.168796f, -0.493841f, -0.173528f, 0.334676f, - 0.264235f, -0.424651f, -0.314926f, 0.253086f, 0.397381f, -0.491565f, - -0.453727f, -0.463358f, -0.019128f, 0.000344f, 0.315432f, 0.472345f, - 0.095139f, 0.283375f, -0.225088f, -0.119762f, -0.476871f, 0.037525f, - 0.336951f, 0.494511f, -0.062603f, 0.177652f, 0.463892f, 0.489286f -}; - -const float ap_lattice_coeffs_3[DIRAC_DECORR_FILTER_LEN_3*DIRAC_MAX_NUM_DECORR_FILTERS] = -{ - 0.018977f, -0.212205f, 0.422719f, - -0.400657f, -0.106890f, -0.024589f, - 0.140005f, 0.279582f, 0.032357f, - 0.632535f, 0.578535f, -0.734606f, - 0.017182f, 0.013244f, -0.027715f, - -0.353356f, -0.482160f, -0.491265f, - 0.457024f, 0.165122f, 0.469723f, - -0.195705f, 0.440105f, -0.477366f, - 0.360186f, -0.490565f, 0.484623f, - -0.173791f, 0.007543f, 0.278186f, - 0.434416f, 0.060363f, -0.193717f, - -0.033709f, 0.496222f, 0.002939f, - -0.480848f, -0.109552f, -0.023198f, - 0.324679f, -0.292075f, -0.356148f, - -0.366595f, 0.380917f, -0.301741f, - 0.110318f, 0.383789f, 0.303984f, - -0.499685f, -0.349584f, 0.334749f, - -0.020224f, -0.430078f, -0.154705f, - -0.371129f, 0.334080f, 0.346913f, - -0.166781f, -0.229089f, 0.117956f, - 0.341292f, 0.490463f, 0.493655f, - -0.367726f, 0.426528f, -0.045774f -}; - -const float * const ap_lattice_coeffs[DIRAC_DECORR_NUM_SPLIT_BANDS] = -{ - &ap_lattice_coeffs_1[0], - &ap_lattice_coeffs_2[0], - &ap_lattice_coeffs_3[0], -}; - -const float ap_split_frequencies[DIRAC_DECORR_NUM_SPLIT_BANDS + 1] = -{ - 0.0f, 0.125f, 0.375f, 1.0f -}; - -const int16_t sba_map_tc[11] = -{ - 0, 1, 2, 3, 4, 8, 9, 15, 5, 6, 7 -}; -const int16_t sba_map_tc_512[11] = -{ - 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 15 -}; - - -#endif /*----------------------------------------------------------------------------------* * FASTCONV and PARAMETRIC binaural renderer ROM tables *----------------------------------------------------------------------------------*/ diff --git a/lib_dec/ivas_rom_dec.h b/lib_dec/ivas_rom_dec.h index 5c22186afd..46bc993527 100644 --- a/lib_dec/ivas_rom_dec.h +++ b/lib_dec/ivas_rom_dec.h @@ -92,31 +92,10 @@ extern const uint16_t *const sym_freq_ECSQ_tab_abs_lsbs[1 + 4]; * DirAC ROM tables *----------------------------------------------------------------------------------*/ -#ifndef NONBE_FIX_225_MASA_EXT_REND -extern const float ls_azimuth_4d4[8]; -extern const float ls_elevation_4d4[8]; -extern const float diffuse_response_CICP6[5]; -extern const float diffuse_response_CICP14[7]; -extern const float diffuse_response_CICP16[9]; - -#endif extern const float dirac_dithering_azi_scale[DIRAC_DIFFUSE_LEVELS]; extern const float dirac_dithering_ele_scale[DIRAC_DIFFUSE_LEVELS]; -#ifndef NONBE_FIX_225_MASA_EXT_REND -extern const int16_t ap_pre_delay[DIRAC_DECORR_NUM_SPLIT_BANDS]; -extern const int16_t ap_filter_length[DIRAC_DECORR_NUM_SPLIT_BANDS]; -extern const float ap_lattice_delta_phi[DIRAC_MAX_NUM_DECORR_FILTERS * DIRAC_MAX_DECORR_FILTER_LEN]; -extern const float ap_lattice_coeffs_1[DIRAC_DECORR_FILTER_LEN_1 * DIRAC_MAX_NUM_DECORR_FILTERS]; -extern const float ap_lattice_coeffs_2[DIRAC_DECORR_FILTER_LEN_2 * DIRAC_MAX_NUM_DECORR_FILTERS]; -extern const float ap_lattice_coeffs_3[DIRAC_DECORR_FILTER_LEN_3 * DIRAC_MAX_NUM_DECORR_FILTERS]; -extern const float *const ap_lattice_coeffs[DIRAC_DECORR_NUM_SPLIT_BANDS]; -extern const float ap_split_frequencies[DIRAC_DECORR_NUM_SPLIT_BANDS + 1]; - -extern const int16_t sba_map_tc[11]; -extern const int16_t sba_map_tc_512[11]; -#endif /*----------------------------------------------------------------------------------* * FASTCONV and PARAMETRIC binaural renderer ROM tables diff --git a/lib_rend/ivas_dirac_dec_binaural_functions.c b/lib_rend/ivas_dirac_dec_binaural_functions.c index 6636f08060..55d30e40e5 100644 --- a/lib_rend/ivas_dirac_dec_binaural_functions.c +++ b/lib_rend/ivas_dirac_dec_binaural_functions.c @@ -127,13 +127,11 @@ static void matrixMul( float Are[BINAURAL_CHANNELS][BINAURAL_CHANNELS], float Ai static void matrixTransp2Mul( float Are[BINAURAL_CHANNELS][BINAURAL_CHANNELS], float Aim[BINAURAL_CHANNELS][BINAURAL_CHANNELS], float Bre[BINAURAL_CHANNELS][BINAURAL_CHANNELS], float Bim[BINAURAL_CHANNELS][BINAURAL_CHANNELS], float outRe[BINAURAL_CHANNELS][BINAURAL_CHANNELS], float outIm[BINAURAL_CHANNELS][BINAURAL_CHANNELS] ); -#ifdef NONBE_FIX_225_MASA_EXT_REND #ifdef SPLIT_REND_WITH_HEAD_ROT static void ivas_masa_ext_rend_parambin_internal( MASA_EXT_REND_HANDLE hMasaExtRend, COMBINED_ORIENTATION_HANDLE hCombinedOrientationData, float *output_f[], const int16_t subframe, const SPLIT_REND_WRAPPER *hSplitRendWrapper, float Cldfb_Out_Real[][CLDFB_NO_COL_MAX][CLDFB_NO_CHANNELS_MAX], float Cldfb_Out_Imag[][CLDFB_NO_COL_MAX][CLDFB_NO_CHANNELS_MAX] ); #else static void ivas_masa_ext_rend_parambin_internal( MASA_EXT_REND_HANDLE hMasaExtRend, COMBINED_ORIENTATION_HANDLE hCombinedOrientationData, float *output_f[], const int16_t subframe ); #endif -#endif /*------------------------------------------------------------------------- * ivas_dirac_dec_init_binaural_data() @@ -3478,7 +3476,6 @@ void ivas_omasa_preProcessStereoTransportsForMovedObjects( return; } -#ifdef NONBE_FIX_225_MASA_EXT_REND static void ivas_masa_ext_rend_parambin_internal( MASA_EXT_REND_HANDLE hMasaExtRend, COMBINED_ORIENTATION_HANDLE hCombinedOrientationData, @@ -3792,4 +3789,3 @@ void ivas_masa_ext_rend_parambin_render( return; } -#endif diff --git a/lib_rend/ivas_dirac_decorr_dec.c b/lib_rend/ivas_dirac_decorr_dec.c index 36ac883e87..89c2c4a086 100644 --- a/lib_rend/ivas_dirac_decorr_dec.c +++ b/lib_rend/ivas_dirac_decorr_dec.c @@ -38,15 +38,8 @@ #include "prot.h" #include "ivas_prot.h" #include "ivas_prot_rend.h" -#ifndef NONBE_FIX_225_MASA_EXT_REND -#include "ivas_stat_dec.h" -#endif #include "ivas_cnst.h" -#ifdef NONBE_FIX_225_MASA_EXT_REND #include "ivas_rom_rend.h" -#else -#include "ivas_rom_dec.h" -#endif #ifdef DEBUGGING #include "debug.h" #endif diff --git a/lib_rend/ivas_dirac_output_synthesis_dec.c b/lib_rend/ivas_dirac_output_synthesis_dec.c index 30d102440b..8ee3b1e4f5 100644 --- a/lib_rend/ivas_dirac_output_synthesis_dec.c +++ b/lib_rend/ivas_dirac_output_synthesis_dec.c @@ -1741,19 +1741,11 @@ static void ivas_dirac_dec_get_response_split_order( *------------------------------------------------------------------------*/ void ivas_dirac_dec_compute_directional_responses( -#ifdef NONBE_FIX_225_MASA_EXT_REND SPAT_PARAM_REND_COMMON_DATA_HANDLE hSpatParamRendCom, /* i/o: common spatial renderer data handle */ DIRAC_REND_HANDLE hDirACRend, /* i/o: DirAC renderer handle */ const VBAP_HANDLE hVBAPdata, /* i : VBAP structure */ const int16_t *masa_band_mapping, /* i : Band mapping for MASA, NULL assumes not using MASA in any form */ MASA_ISM_DATA_HANDLE hMasaIsm, /* i : MASA_ISM data structure */ -#else - SPAT_PARAM_REND_COMMON_DATA_HANDLE hSpatParamRendCom, /* i/o: common spatial renderer data handle */ - DIRAC_REND_HANDLE hDirACRend, /* i/o: DirAC renderer handle */ - const VBAP_HANDLE hVBAPdata, /* i : VBAP structure */ - const MASA_DECODER_HANDLE hMasa, /* i : MASA decoder structure */ - MASA_ISM_DATA_HANDLE hMasaIsm, /* i : MASA_ISM data structure */ -#endif const int16_t *azimuth, const int16_t *elevation, const int16_t md_idx, @@ -1801,24 +1793,14 @@ void ivas_dirac_dec_compute_directional_responses( for ( k = 0; k < hSpatParamRendCom->num_freq_bands; ++k ) { -#ifdef NONBE_FIX_225_MASA_EXT_REND if ( masa_band_mapping != NULL && k == MASA_band_grouping_24[masa_band_mapping[codingBand + 1]] ) -#else - if ( hMasa != NULL && k == MASA_band_grouping_24[hMasa->data.band_mapping[codingBand + 1]] ) -#endif { codingBand++; } -#ifdef NONBE_FIX_225_MASA_EXT_REND if ( masa_band_mapping != NULL && k > MASA_band_grouping_24[masa_band_mapping[codingBand]] && k < MASA_band_grouping_24[masa_band_mapping[codingBand + 1]] && k != hDirACRend->h_output_synthesis_psd_params.max_band_decorr ) -#else - if ( hMasa != NULL && k > MASA_band_grouping_24[hMasa->data.band_mapping[codingBand]] && - k < MASA_band_grouping_24[hMasa->data.band_mapping[codingBand + 1]] && - k != hDirACRend->h_output_synthesis_psd_params.max_band_decorr ) -#endif { /* Panning gains have to be computed only for the first bin of the coding band in MASA, for other bins the previous values can be used */ if ( hDirACRend->synthesisConf != DIRAC_SYNTHESIS_GAIN_SHD ) @@ -1859,11 +1841,7 @@ void ivas_dirac_dec_compute_directional_responses( } } -#ifdef NONBE_FIX_225_MASA_EXT_REND if ( masa_band_mapping == NULL && hDirACRend->synthesisConf == DIRAC_SYNTHESIS_GAIN_SHD ) -#else - if ( hMasa == NULL && hDirACRend->synthesisConf == DIRAC_SYNTHESIS_GAIN_SHD ) -#endif { mvr2r_inc( direct_response_hoa, 1, &hDirACRend->h_output_synthesis_psd_state.direct_responses[k], hSpatParamRendCom->num_freq_bands, num_channels_dir ); @@ -1872,13 +1850,8 @@ void ivas_dirac_dec_compute_directional_responses( mvr2r_inc( direct_response_dir2, 1, &hDirACRend->h_output_synthesis_psd_state.direct_responses[k + hSpatParamRendCom->num_freq_bands * num_channels_dir], hSpatParamRendCom->num_freq_bands, num_channels_dir ); } } -#ifdef NONBE_FIX_225_MASA_EXT_REND else if ( ( ( hDirACRend->synthesisConf == DIRAC_SYNTHESIS_GAIN_SHD ) && ( masa_band_mapping != NULL ) ) || hDirACRend->synthesisConf == DIRAC_SYNTHESIS_PSD_SHD || hDirACRend->synthesisConf == DIRAC_SYNTHESIS_MONO ) -#else - else if ( ( ( hDirACRend->synthesisConf == DIRAC_SYNTHESIS_GAIN_SHD ) && ( hMasa != NULL ) ) || - hDirACRend->synthesisConf == DIRAC_SYNTHESIS_PSD_SHD || hDirACRend->synthesisConf == DIRAC_SYNTHESIS_MONO ) -#endif { /* Synthesize the first direction */ spreadCoherencePanningHoa( azimuth[k], elevation[k], hSpatParamRendCom->spreadCoherence[md_idx][k], direct_response_hoa, num_channels_dir, hDirACRend->hOutSetup.ambisonics_order ); diff --git a/lib_rend/ivas_dirac_rend.c b/lib_rend/ivas_dirac_rend.c index 9b8b9feb2d..0263274821 100644 --- a/lib_rend/ivas_dirac_rend.c +++ b/lib_rend/ivas_dirac_rend.c @@ -39,11 +39,7 @@ #include "ivas_prot.h" #include "ivas_prot_rend.h" #include "ivas_cnst.h" -#ifdef NONBE_FIX_225_MASA_EXT_REND #include "ivas_rom_rend.h" -#else -#include "ivas_rom_dec.h" -#endif #ifdef DEBUGGING #include "debug.h" #endif @@ -201,12 +197,8 @@ ivas_error ivas_spat_hSpatParamRendCom_config( const IVAS_FORMAT ivas_format, const MC_MODE mc_mode, const int32_t output_Fs, -#ifdef NONBE_FIX_225_MASA_EXT_REND const int16_t hodirac_flag, const int16_t masa_ext_rend_flag ) -#else - const int16_t hodirac_flag ) -#endif { ivas_error error; int16_t map_idx; @@ -275,11 +267,7 @@ ivas_error ivas_spat_hSpatParamRendCom_config( hSpatParamRendCom->dirac_md_buffer_length = 0; hSpatParamRendCom->dirac_bs_md_write_idx = 0; hSpatParamRendCom->dirac_read_idx = 0; -#ifdef NONBE_FIX_225_MASA_EXT_REND if ( mc_mode == MC_MODE_MCMASA || masa_ext_rend_flag == 1 ) -#else - if ( mc_mode == MC_MODE_MCMASA ) -#endif { hSpatParamRendCom->dirac_md_buffer_length = MAX_PARAM_SPATIAL_SUBFRAMES; @@ -2098,7 +2086,6 @@ void rotateAziEle_DirAC( return; } -#ifdef NONBE_FIX_225_MASA_EXT_REND /* A reduced rewrite of the corresponding decoder side function */ static void ivas_masa_ext_dirac_render_sf( MASA_EXT_REND_HANDLE hMasaExtRend, /* i/o: IVAS decoder structure */ @@ -2520,4 +2507,3 @@ void ivas_masa_ext_dirac_render( return; } -#endif diff --git a/lib_rend/ivas_prot_rend.h b/lib_rend/ivas_prot_rend.h index 4a2947431d..a8269bba4c 100644 --- a/lib_rend/ivas_prot_rend.h +++ b/lib_rend/ivas_prot_rend.h @@ -238,7 +238,6 @@ void ivas_dirac_dec_binaural_render( float *output_f[] /* o : rendered time signal */ ); -#ifdef NONBE_FIX_225_MASA_EXT_REND void ivas_masa_ext_rend_parambin_render( MASA_EXT_REND_HANDLE hMasaExtRend, /* i/o: MASA ext rend structure */ COMBINED_ORIENTATION_HANDLE hCombinedOrientationData, /* i : combined orientation handle */ @@ -252,7 +251,6 @@ void ivas_masa_ext_rend_parambin_render( const int16_t num_subframes /* i : number of subframes to render */ #endif ); -#endif ivas_error ivas_dirac_dec_init_binaural_data( Decoder_Struct *st_ivas, /* i/o: IVAS decoder structure */ HRTFS_PARAMBIN_HANDLE hHrtfParambin /* i : HRTF structure for rendering */ @@ -534,7 +532,6 @@ void ivas_dirac_dec_compute_power_factors( float *diffuse_power_factor ); -#ifdef NONBE_FIX_225_MASA_EXT_REND void ivas_dirac_dec_compute_directional_responses( SPAT_PARAM_REND_COMMON_DATA_HANDLE hSpatParamRendCom, /* i/o: common spatial renderer data handle */ DIRAC_REND_HANDLE hDirACRend, /* i/o: DirAC renderer handle */ @@ -549,22 +546,6 @@ void ivas_dirac_dec_compute_directional_responses( const float *p_Rmat, /* i : rotation matrix */ const int16_t hodirac_flag /* i : flag to indicate HO-DirAC mode */ ); -#else -void ivas_dirac_dec_compute_directional_responses( - SPAT_PARAM_REND_COMMON_DATA_HANDLE hSpatParamRendCom, /* i/o: common spatial renderer data handle */ - DIRAC_REND_HANDLE hDirACRend, /* i/o: DirAC renderer handle */ - const VBAP_HANDLE hVBAPdata, /* i : VBAP structure */ - const MASA_DECODER_HANDLE hMasa, /* i : MASA decoder structure */ - MASA_ISM_DATA_HANDLE hMasaIsm, /* i : MASA_ISM data structure */ - const int16_t *azimuth, - const int16_t *elevation, - const int16_t md_idx, - const float *surCohRatio, - const int16_t shd_rot_max_order, /* i : split-order rotation method */ - const float *p_Rmat, /* i : rotation matrix */ - const int16_t hodirac_flag /* i : flag to indicate HO-DirAC mode */ -); -#endif void ivas_dirac_dec_get_frequency_axis( float *frequency_axis, /* o : array of center frequencies of a real filter bank */ @@ -579,12 +560,8 @@ ivas_error ivas_spat_hSpatParamRendCom_config( const IVAS_FORMAT ivas_format, const MC_MODE mc_mode, const int32_t output_Fs, -#ifdef NONBE_FIX_225_MASA_EXT_REND const int16_t hodirac_flag, const int16_t masa_ext_rend_flag -#else - const int16_t hodirac_flag -#endif ); void ivas_spat_hSpatParamRendCom_close( @@ -605,13 +582,11 @@ void ivas_dirac_deallocate_parameters( const int16_t params_flag /* i : set of parameters flag */ ); -#ifdef NONBE_FIX_225_MASA_EXT_REND void ivas_masa_ext_dirac_render( MASA_EXT_REND_HANDLE hMasaExtRend, /* i/o: MASA renderer structure */ float *output_f[], /* i/o: input/output signals in time domain */ const int16_t num_subframes /* i : number of subframes to render */ ); -#endif /*----------------------------------------------------------------------------------* * HRTF diff --git a/lib_rend/ivas_rom_rend.c b/lib_rend/ivas_rom_rend.c index 4aef137a33..99ffe44285 100644 --- a/lib_rend/ivas_rom_rend.c +++ b/lib_rend/ivas_rom_rend.c @@ -39,7 +39,6 @@ /* clang-format off */ -#ifdef NONBE_FIX_225_MASA_EXT_REND /*----------------------------------------------------------------------------------* * DirAC renderer ROM tables *----------------------------------------------------------------------------------*/ @@ -182,7 +181,6 @@ const int16_t sba_map_tc_512[11] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 15 }; -#endif /*----------------------------------------------------------------------------------* * FASTCONV and PARAMETRIC binaural renderer ROM tables diff --git a/lib_rend/ivas_rom_rend.h b/lib_rend/ivas_rom_rend.h index db0c7d1c33..165f4791c6 100644 --- a/lib_rend/ivas_rom_rend.h +++ b/lib_rend/ivas_rom_rend.h @@ -41,7 +41,6 @@ #include "ivas_cnst.h" #include "ivas_stat_rend.h" -#ifdef NONBE_FIX_225_MASA_EXT_REND /*----------------------------------------------------------------------------------* * DirAC renderer ROM tables *----------------------------------------------------------------------------------*/ @@ -63,7 +62,6 @@ extern const float ap_split_frequencies[DIRAC_DECORR_NUM_SPLIT_BANDS + 1]; extern const int16_t sba_map_tc[11]; extern const int16_t sba_map_tc_512[11]; -#endif /*----------------------------------------------------------------------------------* * FASTCONV and PARAMETRIC binaural renderer ROM tables diff --git a/lib_rend/ivas_stat_rend.h b/lib_rend/ivas_stat_rend.h index 3405b85279..21c8c3a9ce 100644 --- a/lib_rend/ivas_stat_rend.h +++ b/lib_rend/ivas_stat_rend.h @@ -1612,7 +1612,6 @@ typedef enum } ChannelType; -#ifdef NONBE_FIX_225_MASA_EXT_REND /*----------------------------------------------------------------------------------* * MASA external renderer structure *----------------------------------------------------------------------------------*/ @@ -1638,7 +1637,6 @@ typedef struct ivas_masa_external_rendering_struct HANDLE_CLDFB_FILTER_BANK cldfbAnaRend[MASA_MAX_TRANSPORT_CHANNELS]; HANDLE_CLDFB_FILTER_BANK cldfbSynRend[MAX_OUTPUT_CHANNELS]; } MASA_EXT_REND_DATA, *MASA_EXT_REND_HANDLE; -#endif /*----------------------------------------------------------------------------------* * Multichannel MASA (McMASA) analysis structure diff --git a/lib_rend/lib_rend.c b/lib_rend/lib_rend.c index fc6c8bcaae..5d1a84b53b 100644 --- a/lib_rend/lib_rend.c +++ b/lib_rend/lib_rend.c @@ -212,29 +212,15 @@ typedef struct } input_split_post_rend; #endif -#ifndef NONBE_FIX_225_MASA_EXT_REND -/* Due to API of some rendering methods, the renderer has to use the decoder struct. - Only struct members relevant for rendering will be initialized, therefore typedef as "dummy" decoder struct */ -typedef Decoder_Struct DecoderDummy; -#endif typedef struct { -#ifdef NONBE_FIX_225_MASA_EXT_REND input_base base; MASA_METADATA_FRAME masaMetadata; bool metadataHasBeenFed; float *bufferData; MASA_EXT_REND_HANDLE hMasaExtRend; MASA_PREREND_HANDLE hMasaPrerend; -#else - input_base base; - DecoderDummy *decDummy; - MASA_METADATA_FRAME masaMetadata; - bool metadataHasBeenFed; - float *bufferData; - MASA_PREREND_HANDLE hMasaPrerend; -#endif } input_masa; struct IVAS_REND @@ -278,14 +264,12 @@ struct IVAS_REND }; -#ifdef NONBE_FIX_225_MASA_EXT_REND /*-------------------------------------------------------------------* * Local function prototypes *-------------------------------------------------------------------*/ static ivas_error initMasaExtRenderer( input_masa *inputMasa, const AUDIO_CONFIG outConfig ); static void freeMasaExtRenderer( MASA_EXT_REND_HANDLE *hMasaExtRendOut ); -#endif /*-------------------------------------------------------------------* * Local functions @@ -658,7 +642,6 @@ static ivas_error validateOutputSampleRate( /* If no binaural rendering, any sampling rate is supported */ return IVAS_ERR_OK; } -#ifdef NONBE_FIX_225_MASA_EXT_REND #ifdef SPLIT_REND_WITH_HEAD_ROT else if ( ( outConfig == IVAS_AUDIO_CONFIG_BINAURAL_SPLIT_CODED || outConfig == IVAS_AUDIO_CONFIG_BINAURAL_SPLIT_PCM ) && sampleRate != 48000 ) { @@ -666,7 +649,6 @@ static ivas_error validateOutputSampleRate( } else { -#endif #endif /* Otherwise rendering to binaural, support the same set as IVAS decoder */ @@ -680,11 +662,9 @@ static ivas_error validateOutputSampleRate( } return IVAS_ERR_INVALID_SAMPLING_RATE; -#ifdef NONBE_FIX_225_MASA_EXT_REND #ifdef SPLIT_REND_WITH_HEAD_ROT } #endif -#endif } @@ -2952,391 +2932,6 @@ static void clearInputSba( } -#ifndef NONBE_FIX_225_MASA_EXT_REND -static ivas_error initMasaDummyDecForMcOut( - input_masa *inputMasa, - const AUDIO_CONFIG outConfig ) -{ - ivas_error error; - int16_t numCldfbAnalyses; - int16_t numCldfbSyntheses; - int16_t i; - DecoderDummy *decDummy; - - decDummy = inputMasa->decDummy; - decDummy->hDecoderConfig->output_config = outConfig; - decDummy->sba_analysis_order = 1; - decDummy->hDecoderConfig->ivas_total_brate = IVAS_512k; /* Todo Nokia: This is preventing initialization of 2TC as 1TC, should be fixed properly in ivas_dirac_dec_config() */ - decDummy->mc_mode = MC_MODE_NONE; /* Todo Nokia: This should be also refactored in such way that it is not checked if not in MC mode */ - - ivas_output_init( &( decDummy->hOutSetup ), outConfig ); - ivas_output_init( &( decDummy->hIntSetup ), outConfig ); - - decDummy->renderer_type = RENDERER_DIRAC; - if ( outConfig == IVAS_AUDIO_CONFIG_STEREO ) - { - decDummy->renderer_type = RENDERER_STEREO_PARAMETRIC; - } - - decDummy->ivas_format = MASA_FORMAT; - decDummy->transport_config = IVAS_AUDIO_CONFIG_INVALID; - - /* Todo refactor: Access to qmetadata is not required by the algorithm. */ - if ( ( error = ivas_qmetadata_open( &( decDummy->hQMetaData ) ) ) != IVAS_ERR_OK ) - { - return error; - } - decDummy->hQMetaData->coherence_flag = 1; - - if ( ( error = ivas_dirac_dec_config( decDummy, DIRAC_OPEN ) ) != IVAS_ERR_OK ) - { - return error; - } - decDummy->hSpatParamRendCom->dirac_bs_md_write_idx = 0; - - if ( decDummy->renderer_type == RENDERER_STEREO_PARAMETRIC ) - { - if ( ( error = ivas_dirac_dec_init_binaural_data( decDummy, NULL ) ) != IVAS_ERR_OK ) - { - return error; - } - } - - numCldfbAnalyses = decDummy->nchan_transport; - numCldfbSyntheses = decDummy->hDecoderConfig->nchan_out; - - for ( i = 0; i < numCldfbAnalyses; i++ ) - { - if ( ( error = openCldfb( &( decDummy->cldfbAnaDec[i] ), CLDFB_ANALYSIS, decDummy->hDecoderConfig->output_Fs, CLDFB_PROTOTYPE_5_00MS ) ) != IVAS_ERR_OK ) - { - return error; - } - } - for ( ; i < MAX_INTERN_CHANNELS; i++ ) - { - decDummy->cldfbAnaDec[i] = NULL; - } - - for ( i = 0; i < numCldfbSyntheses; i++ ) - { - if ( ( error = openCldfb( &( decDummy->cldfbSynDec[i] ), CLDFB_SYNTHESIS, decDummy->hDecoderConfig->output_Fs, CLDFB_PROTOTYPE_5_00MS ) ) != IVAS_ERR_OK ) - { - return error; - } - } - for ( ; i < MAX_OUTPUT_CHANNELS; i++ ) - { - decDummy->cldfbSynDec[i] = NULL; - } - - return IVAS_ERR_OK; -} - - -static ivas_error initMasaDummyDecForSbaOut( - input_masa *inputMasa, - const AUDIO_CONFIG outConfig ) -{ - ivas_error error; - int16_t numCldfbAnalyses; - int16_t numCldfbSyntheses; - int16_t i; - DecoderDummy *decDummy; - - decDummy = inputMasa->decDummy; - decDummy->hDecoderConfig->output_config = outConfig; - decDummy->hDecoderConfig->ivas_total_brate = IVAS_512k; /* Todo Nokia: This is preventing initialization of 2TC as 1TC, should be fixed properly in ivas_dirac_dec_config() */ - decDummy->mc_mode = MC_MODE_NONE; /* Todo Nokia: This should be also refactored in such way that it is not checked if not in MC mode */ - decDummy->sba_analysis_order = 1; - - ivas_output_init( &( decDummy->hOutSetup ), outConfig ); - ivas_output_init( &( decDummy->hIntSetup ), outConfig ); - - decDummy->renderer_type = RENDERER_DIRAC; - decDummy->ivas_format = MASA_FORMAT; - decDummy->transport_config = IVAS_AUDIO_CONFIG_INVALID; - - /* Todo refactor: Access to qmetadata is not required by the algorithm. */ - if ( ( error = ivas_qmetadata_open( &( decDummy->hQMetaData ) ) ) != IVAS_ERR_OK ) - { - return error; - } - decDummy->hQMetaData->coherence_flag = 1; - - if ( ( error = ivas_dirac_dec_config( decDummy, DIRAC_OPEN ) ) != IVAS_ERR_OK ) - { - return error; - } - decDummy->hSpatParamRendCom->dirac_bs_md_write_idx = 0; - - numCldfbAnalyses = decDummy->nchan_transport; - numCldfbSyntheses = decDummy->hDecoderConfig->nchan_out; - - for ( i = 0; i < numCldfbAnalyses; i++ ) - { - if ( ( error = openCldfb( &( decDummy->cldfbAnaDec[i] ), CLDFB_ANALYSIS, decDummy->hDecoderConfig->output_Fs, CLDFB_PROTOTYPE_5_00MS ) ) != IVAS_ERR_OK ) - { - return error; - } - } - for ( ; i < MAX_INTERN_CHANNELS; i++ ) - { - decDummy->cldfbAnaDec[i] = NULL; - } - - for ( i = 0; i < numCldfbSyntheses; i++ ) - { - if ( ( error = openCldfb( &( decDummy->cldfbSynDec[i] ), CLDFB_SYNTHESIS, decDummy->hDecoderConfig->output_Fs, CLDFB_PROTOTYPE_5_00MS ) ) != IVAS_ERR_OK ) - { - return error; - } - } - for ( ; i < MAX_OUTPUT_CHANNELS; i++ ) - { - decDummy->cldfbSynDec[i] = NULL; - } - - return IVAS_ERR_OK; -} - - -static ivas_error initMasaDummyDecForBinauralOut( - input_masa *inputMasa, - const AUDIO_CONFIG outConfig ) -{ - ivas_error error; - int16_t i; - DecoderDummy *decDummy; - - decDummy = inputMasa->decDummy; - decDummy->hDecoderConfig->output_config = outConfig; - decDummy->sba_analysis_order = 1; - decDummy->hDecoderConfig->ivas_total_brate = IVAS_512k; /* Todo Nokia: This is preventing initialization of 2TC as 1TC, should be fixed properly in ivas_dirac_dec_config() */ - decDummy->mc_mode = MC_MODE_NONE; /* Todo Nokia: This should be also refactored in such way that it is not checked if not in MC mode */ - - ivas_output_init( &( decDummy->hOutSetup ), outConfig ); - -#ifdef SPLIT_REND_WITH_HEAD_ROT - if ( outConfig == IVAS_AUDIO_CONFIG_BINAURAL || outConfig == IVAS_AUDIO_CONFIG_BINAURAL_SPLIT_CODED || outConfig == IVAS_AUDIO_CONFIG_BINAURAL_SPLIT_PCM ) -#else - if ( outConfig == IVAS_AUDIO_CONFIG_BINAURAL ) -#endif - { - decDummy->renderer_type = RENDERER_BINAURAL_PARAMETRIC; - } - else - { - decDummy->renderer_type = RENDERER_BINAURAL_PARAMETRIC_ROOM; - } - decDummy->ivas_format = MASA_FORMAT; - decDummy->transport_config = IVAS_AUDIO_CONFIG_INVALID; - - if ( ( error = ivas_dirac_dec_config( decDummy, DIRAC_OPEN ) ) != IVAS_ERR_OK ) - { - return error; - } - decDummy->hSpatParamRendCom->dirac_bs_md_write_idx = 0; - - if ( ( error = ivas_dirac_dec_binaural_copy_hrtfs( &decDummy->hHrtfParambin ) ) != IVAS_ERR_OK ) - { - return error; - } - - if ( ( error = ivas_dirac_dec_init_binaural_data( decDummy, decDummy->hHrtfParambin ) ) != IVAS_ERR_OK ) - { - return error; - } - - for ( i = 0; i < BINAURAL_CHANNELS; i++ ) - { - if ( ( error = openCldfb( &( decDummy->cldfbAnaDec[i] ), CLDFB_ANALYSIS, decDummy->hDecoderConfig->output_Fs, CLDFB_PROTOTYPE_5_00MS ) ) != IVAS_ERR_OK ) - { - return error; - } - if ( ( error = openCldfb( &( decDummy->cldfbSynDec[i] ), CLDFB_SYNTHESIS, decDummy->hDecoderConfig->output_Fs, CLDFB_PROTOTYPE_5_00MS ) ) != IVAS_ERR_OK ) - { - return error; - } - } - for ( ; i < MAX_INTERN_CHANNELS; i++ ) - { - decDummy->cldfbAnaDec[i] = NULL; - decDummy->cldfbSynDec[i] = NULL; - } - - return IVAS_ERR_OK; -} - - -static ivas_error updateMasaDummyDec( - input_masa *inputMasa, - const AUDIO_CONFIG outConfig ) -{ - ivas_error error; - - switch ( getAudioConfigType( outConfig ) ) - { - case IVAS_REND_AUDIO_CONFIG_TYPE_CHANNEL_BASED: - error = initMasaDummyDecForMcOut( inputMasa, outConfig ); - break; - case IVAS_REND_AUDIO_CONFIG_TYPE_AMBISONICS: - error = initMasaDummyDecForSbaOut( inputMasa, outConfig ); - break; - case IVAS_REND_AUDIO_CONFIG_TYPE_BINAURAL: - error = initMasaDummyDecForBinauralOut( inputMasa, outConfig ); - break; - default: - return IVAS_ERR_INVALID_OUTPUT_FORMAT; - } - - return error; -} - - -static DecoderDummy *initDecoderDummy( - const int32_t sampleRate, - const int16_t numTransChannels, - const AUDIO_CONFIG outConfig, -#ifdef SPLIT_REND_WITH_HEAD_ROT - const uint8_t enableRenderConfig, - const SPLIT_REND_WRAPPER *pSplitRendWrapper -#else - const uint8_t enableRenderConfig -#endif -) -{ - ivas_error error; - int16_t i; - int16_t numOutChannels; - DecoderDummy *decDummy; - int16_t num_subframes; - num_subframes = MAX_PARAM_SPATIAL_SUBFRAMES; - - if ( ( error = getAudioConfigNumChannels( outConfig, &numOutChannels ) ) != IVAS_ERR_OK ) - { - /* Checking error with assert is enough, this function is only temporary anyway */ - assert( error == IVAS_ERR_OK ); - } - - decDummy = malloc( sizeof( DecoderDummy ) ); - decDummy->hDecoderConfig = malloc( sizeof( DECODER_CONFIG ) ); - decDummy->hDecoderConfig->output_Fs = sampleRate; - decDummy->hDecoderConfig->nchan_out = numOutChannels; - decDummy->hDecoderConfig->Opt_Headrotation = 0; - decDummy->hDecoderConfig->Opt_tsm = 0; -#ifndef NONBE_UNIFIED_DECODING_PATHS - decDummy->hDecoderConfig->Opt_5ms = 0; -#endif - decDummy->hBinRenderer = NULL; -#ifdef SPLIT_REND_WITH_HEAD_ROT - decDummy->hSplitBinRend.hSplitRendBits = NULL; - decDummy->hSplitBinRend.hMultiBinCldfbData = NULL; - ivas_init_split_rend_handles( &decDummy->hSplitBinRend.splitrend ); - decDummy->hSplitBinRend.splitrend = *pSplitRendWrapper; - - if ( outConfig == IVAS_AUDIO_CONFIG_BINAURAL_SPLIT_CODED || outConfig == IVAS_AUDIO_CONFIG_BINAURAL_SPLIT_PCM ) - { - if ( ( decDummy->hSplitBinRend.hMultiBinCldfbData = (IVAS_DEC_SPLIT_REND_MULTI_BIN_CLDFB_DATA_HANDLE) malloc( sizeof( IVAS_DEC_SPLIT_REND_MULTI_BIN_CLDFB_DATA ) ) ) == NULL ) - { - assert( error == IVAS_ERR_OK ); - } - } -#endif - - decDummy->hEFAPdata = NULL; - decDummy->hCrendWrapper = NULL; - decDummy->hHrtfTD = NULL; - decDummy->hSpar = NULL; - decDummy->hoa_dec_mtx = NULL; - decDummy->hVBAPdata = NULL; // note: not used at the moment - decDummy->hMasa = NULL; - -#ifdef SPLIT_REND_WITH_HEAD_ROT - for ( i = 0; i < MAX_HEAD_ROT_POSES; i++ ) - { - decDummy->hDiracDecBin[i] = NULL; - } -#else - decDummy->hDiracDecBin = NULL; -#endif - - decDummy->hDirACRend = NULL; - decDummy->hSpatParamRendCom = NULL; - decDummy->hQMetaData = NULL; - decDummy->hHrtfParambin = NULL; - decDummy->hHeadTrackData = NULL; - decDummy->hDirAC = NULL; - decDummy->hTcBuffer = NULL; - decDummy->hDecoderConfig->output_config = outConfig; - decDummy->nchan_transport = numTransChannels; - - if ( getAudioConfigType( outConfig ) == IVAS_REND_AUDIO_CONFIG_TYPE_BINAURAL ) - { - decDummy->hHeadTrackData = malloc( sizeof( HEAD_TRACK_DATA ) ); - /* Initialise Rmat_prev to I, Rmat will be computed later */ - for ( i = 0; i < 3; i++ ) - { - set_zero( decDummy->hHeadTrackData->Rmat_prev[i], 3 ); - decDummy->hHeadTrackData->Rmat_prev[i][i] = 1.0f; - } - - set_zero( decDummy->hHeadTrackData->chEneIIR[0], MASA_FREQUENCY_BANDS ); - set_zero( decDummy->hHeadTrackData->chEneIIR[1], MASA_FREQUENCY_BANDS ); - set_zero( decDummy->hHeadTrackData->procChEneIIR[0], MASA_FREQUENCY_BANDS ); - set_zero( decDummy->hHeadTrackData->procChEneIIR[1], MASA_FREQUENCY_BANDS ); - for ( i = 0; i < MAX_PARAM_SPATIAL_SUBFRAMES; i++ ) - { - decDummy->hHeadTrackData->Quaternions[i].w = 1.0f; - decDummy->hHeadTrackData->Quaternions[i].x = 0.0f; - decDummy->hHeadTrackData->Quaternions[i].y = 0.0f; - decDummy->hHeadTrackData->Quaternions[i].z = 0.0f; - } - decDummy->hHeadTrackData->lrSwitchInterpVal = 0.0f; - decDummy->hHeadTrackData->lrSwitchedCurrent = 0; - decDummy->hHeadTrackData->lrSwitchedNext = 0; - decDummy->hHeadTrackData->OrientationTracker = (ivas_orient_trk_state_t *) malloc( sizeof( ivas_orient_trk_state_t ) ); - ivas_orient_trk_Init( decDummy->hHeadTrackData->OrientationTracker ); - - /* External orientations */ - if ( ( error = ivas_external_orientation_open( &( decDummy->hExtOrientationData ), num_subframes ) ) != IVAS_ERR_OK ) - { - assert( error == IVAS_ERR_OK ); - } - - /* Combined orientations */ -#ifdef NONBE_UNIFIED_DECODING_PATHS - if ( ( error = ivas_combined_orientation_open( &( decDummy->hCombinedOrientationData ), sampleRate, num_subframes ) ) != IVAS_ERR_OK ) -#else - if ( ( error = ivas_combined_orientation_open( &( decDummy->hCombinedOrientationData ), num_subframes ) ) != IVAS_ERR_OK ) -#endif - { - assert( error == IVAS_ERR_OK ); - } - } - else - { - decDummy->hHeadTrackData = NULL; - decDummy->hExtOrientationData = NULL; - decDummy->hCombinedOrientationData = NULL; - } - - if ( enableRenderConfig ) - { - ivas_render_config_open( &decDummy->hRenderConfig ); - } - else - { - decDummy->hRenderConfig = NULL; - } - - /* get a default TC buffer, needed for some renderers */ - ivas_jbm_dec_tc_buffer_open( decDummy, TC_BUFFER_MODE_NONE, 0, 0, 0, 1 ); - - decDummy->renderer_type = RENDERER_DISABLE; - - return decDummy; -} -#endif static ivas_error setRendInputActiveMasa( void *input, @@ -3381,138 +2976,17 @@ static ivas_error setRendInputActiveMasa( } else { -#ifdef NONBE_FIX_225_MASA_EXT_REND if ( ( error = initMasaExtRenderer( inputMasa, outConfig ) ) != IVAS_ERR_OK ) { return error; } inputMasa->metadataHasBeenFed = false; -#else -#ifdef SPLIT_REND_WITH_HEAD_ROT - inputMasa->decDummy = initDecoderDummy( *rendCtx.pOutSampleRate, numInChannels, outConfig, 0, rendCtx.pSplitRendWrapper ); -#else - inputMasa->decDummy = initDecoderDummy( *rendCtx.pOutSampleRate, numInChannels, outConfig, 0 ); -#endif - - inputMasa->metadataHasBeenFed = false; - - if ( ( error = updateMasaDummyDec( inputMasa, outConfig ) ) != IVAS_ERR_OK ) - { - return error; - } -#endif } return IVAS_ERR_OK; } -#ifndef NONBE_FIX_225_MASA_EXT_REND -static void freeDecoderDummy( - DecoderDummy **ppDecDummy ) -{ - int16_t i; - DecoderDummy *pDecDummy; - - if ( ppDecDummy == NULL || *ppDecDummy == NULL ) - { - return; - } - pDecDummy = *ppDecDummy; - - if ( pDecDummy->hDecoderConfig != NULL ) - { - free( pDecDummy->hDecoderConfig ); - } - - if ( pDecDummy->hHeadTrackData != NULL ) - { - if ( pDecDummy->hHeadTrackData->OrientationTracker != NULL ) - { - free( pDecDummy->hHeadTrackData->OrientationTracker ); - } - free( pDecDummy->hHeadTrackData ); - } - - if ( pDecDummy->hExtOrientationData != NULL ) - { - free( pDecDummy->hExtOrientationData ); - } - - if ( pDecDummy->hCombinedOrientationData != NULL ) - { - free( pDecDummy->hCombinedOrientationData ); - } - - ivas_render_config_close( &pDecDummy->hRenderConfig ); - - /* CLDFB handles */ - for ( i = 0; i < MAX_INTERN_CHANNELS; i++ ) - { - if ( pDecDummy->cldfbAnaDec[i] != NULL ) - { - deleteCldfb( &( pDecDummy->cldfbAnaDec[i] ) ); - } - } - - for ( i = 0; i < MAX_OUTPUT_CHANNELS; i++ ) - { - if ( pDecDummy->cldfbSynDec[i] != NULL ) - { - deleteCldfb( &( pDecDummy->cldfbSynDec[i] ) ); - } - } - - /* DirAC handle */ - ivas_dirac_rend_close( &( pDecDummy->hDirACRend ) ); - ivas_spat_hSpatParamRendCom_close( &( pDecDummy->hSpatParamRendCom ) ); - ivas_dirac_dec_close( &( pDecDummy->hDirAC ) ); - - /* Qmetadata handle */ - ivas_qmetadata_close( &pDecDummy->hQMetaData ); - - /* VBAP handle */ - vbap_free_data( &( pDecDummy->hVBAPdata ) ); - - /* HOA decoder matrix */ - if ( pDecDummy->hoa_dec_mtx != NULL ) - { - free( pDecDummy->hoa_dec_mtx ); - pDecDummy->hoa_dec_mtx = NULL; - } - - /* Parametric binaural renderer HRTF structure */ - if ( pDecDummy->hHrtfParambin != NULL ) - { - free( pDecDummy->hHrtfParambin ); - pDecDummy->hHrtfParambin = NULL; - } - -#ifdef SPLIT_REND_WITH_HEAD_ROT - /* Split binaural renderr handle */ - if ( pDecDummy->hSplitBinRend.hMultiBinCldfbData != NULL ) - { - free( pDecDummy->hSplitBinRend.hMultiBinCldfbData ); - pDecDummy->hSplitBinRend.hMultiBinCldfbData = NULL; - } -#endif - - /* Parametric binaural renderer handle */ -#ifdef SPLIT_REND_WITH_HEAD_ROT - ivas_dirac_dec_close_binaural_data( pDecDummy->hDiracDecBin ); -#else - ivas_dirac_dec_close_binaural_data( &pDecDummy->hDiracDecBin ); -#endif - - /* TC buffer */ - ivas_jbm_dec_tc_buffer_close( &pDecDummy->hTcBuffer ); - - free( pDecDummy ); - pDecDummy = NULL; - - return; -} -#endif static void clearInputMasa( input_masa *inputMasa ) @@ -3524,14 +2998,9 @@ static void clearInputMasa( freeInputBaseBufferData( &inputMasa->bufferData ); masaPrerendClose( &inputMasa->hMasaPrerend ); -#ifdef NONBE_FIX_225_MASA_EXT_REND freeMasaExtRenderer( &inputMasa->hMasaExtRend ); -#endif initRendInputBase( &inputMasa->base, IVAS_AUDIO_CONFIG_INVALID, 0, rendCtx, NULL, 0 ); -#ifndef NONBE_FIX_225_MASA_EXT_REND - freeDecoderDummy( &inputMasa->decDummy ); -#endif return; } @@ -3754,15 +3223,10 @@ ivas_error IVAS_REND_Open( { initRendInputBase( &hIvasRend->inputsMasa[i].base, IVAS_AUDIO_CONFIG_INVALID, 0, getRendCtx( hIvasRend ), NULL, 0 ); -#ifndef NONBE_FIX_225_MASA_EXT_REND - hIvasRend->inputsMasa[i].decDummy = NULL; -#endif hIvasRend->inputsMasa[i].metadataHasBeenFed = false; hIvasRend->inputsMasa[i].bufferData = NULL; hIvasRend->inputsMasa[i].hMasaPrerend = NULL; -#ifdef NONBE_FIX_225_MASA_EXT_REND hIvasRend->inputsMasa[i].hMasaExtRend = NULL; -#endif } #ifdef SPLIT_REND_WITH_HEAD_ROT @@ -8105,12 +7569,8 @@ static ivas_error renderActiveInputsSba( static void copyMasaMetadataToDiracRenderer( MASA_METADATA_FRAME *meta, -#ifdef NONBE_FIX_225_MASA_EXT_REND SPAT_PARAM_REND_COMMON_DATA_HANDLE hSpatParamRendCom, const int16_t maxBin ) -#else - SPAT_PARAM_REND_COMMON_DATA_HANDLE hSpatParamRendCom ) -#endif { int16_t band, sf, bin; int16_t meta_write_index; @@ -8124,11 +7584,7 @@ static void copyMasaMetadataToDiracRenderer( for ( band = 0; band < MASA_MAXIMUM_CODING_SUBBANDS; band++ ) { -#ifdef NONBE_FIX_225_MASA_EXT_REND for ( bin = MASA_band_grouping_24[band]; bin < MASA_band_grouping_24[band + 1] && bin < maxBin; bin++ ) -#else - for ( bin = MASA_band_grouping_24[band]; bin < MASA_band_grouping_24[band + 1]; bin++ ) -#endif { hSpatParamRendCom->azimuth[meta_write_index][bin] = (int16_t) meta->directional_meta[0].azimuth[sf][band]; hSpatParamRendCom->elevation[meta_write_index][bin] = (int16_t) meta->directional_meta[0].elevation[sf][band]; @@ -8154,119 +7610,6 @@ static void copyMasaMetadataToDiracRenderer( return; } -#ifndef NONBE_FIX_225_MASA_EXT_REND -static void renderMasaToMc( - input_masa *masaInput, - IVAS_REND_AudioBuffer outAudio ) -{ - int16_t ch; - float *tmpBuffer[MAX_OUTPUT_CHANNELS], tmpBuffer_buff[MAX_OUTPUT_CHANNELS][L_FRAME48k]; - - for ( ch = 0; ch < MAX_OUTPUT_CHANNELS; ch++ ) - { - tmpBuffer[ch] = tmpBuffer_buff[ch]; - } - - copyBufferTo2dArray( masaInput->base.inputBuffer, tmpBuffer_buff ); - copyMasaMetadataToDiracRenderer( &masaInput->masaMetadata, masaInput->decDummy->hSpatParamRendCom ); - - if ( masaInput->decDummy->renderer_type == RENDERER_STEREO_PARAMETRIC ) - { - ivas_dirac_dec_binaural( masaInput->decDummy, *masaInput->base.ctx.pCombinedOrientationData, tmpBuffer, masaInput->base.inputBuffer.config.numChannels, getNumSubframesInBuffer( &outAudio, *masaInput->base.ctx.pOutSampleRate ) ); - } - else - { - ivas_dirac_dec( masaInput->decDummy, tmpBuffer, masaInput->base.inputBuffer.config.numChannels, getNumSubframesInBuffer( &outAudio, *masaInput->base.ctx.pOutSampleRate ) ); - } - - accumulate2dArrayToBuffer( tmpBuffer_buff, &outAudio ); - - return; -} - - -static void renderMasaToSba( - input_masa *masaInput, - IVAS_REND_AudioBuffer outAudio ) -{ - int16_t ch; - float *tmpBuffer[MAX_OUTPUT_CHANNELS], tmpBuffer_buff[MAX_OUTPUT_CHANNELS][L_FRAME48k]; - - for ( ch = 0; ch < MAX_OUTPUT_CHANNELS; ch++ ) - { - tmpBuffer[ch] = tmpBuffer_buff[ch]; - } - - copyBufferTo2dArray( masaInput->base.inputBuffer, tmpBuffer_buff ); - copyMasaMetadataToDiracRenderer( &masaInput->masaMetadata, masaInput->decDummy->hSpatParamRendCom ); - - ivas_dirac_dec( masaInput->decDummy, tmpBuffer, masaInput->base.inputBuffer.config.numChannels, getNumSubframesInBuffer( &outAudio, *masaInput->base.ctx.pOutSampleRate ) ); - - accumulate2dArrayToBuffer( tmpBuffer_buff, &outAudio ); - - return; -} - - -static void renderMasaToBinaural( - input_masa *masaInput, -#ifdef SPLIT_REND_WITH_HEAD_ROT - IVAS_REND_AudioBuffer outAudio, - const int16_t is_split_rend_mode -#else - IVAS_REND_AudioBuffer outAudio -#endif -) -{ - int16_t ch; - float *tmpBuffer[MAX_OUTPUT_CHANNELS], tmpBuffer_buff[MAX_OUTPUT_CHANNELS][L_FRAME48k]; - - for ( ch = 0; ch < MAX_OUTPUT_CHANNELS; ch++ ) - { - tmpBuffer[ch] = tmpBuffer_buff[ch]; - } - - copyBufferTo2dArray( masaInput->base.inputBuffer, tmpBuffer_buff ); - copyMasaMetadataToDiracRenderer( &masaInput->masaMetadata, masaInput->decDummy->hSpatParamRendCom ); - -#ifdef SPLIT_REND_WITH_HEAD_ROT - if ( is_split_rend_mode ) - { - int16_t sf, i, j; - COMBINED_ORIENTATION_HANDLE pCombinedOrientationData; - pCombinedOrientationData = *masaInput->base.ctx.pCombinedOrientationData; - for ( sf = 1; sf < pCombinedOrientationData->num_subframes; sf++ ) - { - pCombinedOrientationData->Quaternions[sf] = pCombinedOrientationData->Quaternions[0]; - for ( i = 0; i < 3; i++ ) - { - for ( j = 0; j < 3; j++ ) - { - pCombinedOrientationData->Rmat[sf][i][j] = pCombinedOrientationData->Rmat[0][i][j]; - } - } - } - } -#endif - - ivas_dirac_dec_binaural( masaInput->decDummy, *masaInput->base.ctx.pCombinedOrientationData, tmpBuffer, masaInput->base.inputBuffer.config.numChannels, getNumSubframesInBuffer( &outAudio, *masaInput->base.ctx.pOutSampleRate ) ); - -#ifdef SPLIT_REND_WITH_HEAD_ROT - if ( is_split_rend_mode ) - { - accumulateCLDFBArrayToBuffer( masaInput->decDummy->hSplitBinRend.hMultiBinCldfbData->Cldfb_RealBuffer_Binaural, masaInput->decDummy->hSplitBinRend.hMultiBinCldfbData->Cldfb_ImagBuffer_Binaural, &outAudio ); - } - else - { -#endif - accumulate2dArrayToBuffer( tmpBuffer_buff, &outAudio ); -#ifdef SPLIT_REND_WITH_HEAD_ROT - } -#endif - - return; -} -#endif static void renderMasaToMasa( input_masa *masaInput, @@ -8401,7 +7744,6 @@ static ivas_error renderInputMasa( IVAS_REND_AudioBuffer outAudio ) { IVAS_REND_AudioBuffer inAudio; -#ifdef NONBE_FIX_225_MASA_EXT_REND int16_t ch; int16_t maxBin; float *tmpBuffer[MAX_OUTPUT_CHANNELS]; @@ -8410,11 +7752,6 @@ static ivas_error renderInputMasa( int16_t cldfb2tdSampleFact; float Cldfb_RealBuffer_Binaural[MAX_HEAD_ROT_POSES * BINAURAL_CHANNELS][CLDFB_NO_COL_MAX][CLDFB_NO_CHANNELS_MAX]; float Cldfb_ImagBuffer_Binaural[MAX_HEAD_ROT_POSES * BINAURAL_CHANNELS][CLDFB_NO_COL_MAX][CLDFB_NO_CHANNELS_MAX]; -#endif -#else -#ifdef SPLIT_REND_WITH_HEAD_ROT - int16_t cldfb2tdSampleFact; -#endif #endif if ( !masaInput->metadataHasBeenFed ) @@ -8438,16 +7775,13 @@ static ivas_error renderInputMasa( /* Apply input gain to new audio */ v_multc( inAudio.data, masaInput->base.gain, inAudio.data, inAudio.config.numSamplesPerChannel * inAudio.config.numChannels ); -#ifdef NONBE_FIX_225_MASA_EXT_REND maxBin = (int16_t) ( *masaInput->base.ctx.pOutSampleRate * INV_CLDFB_BANDWIDTH ); -#endif #ifdef NONBE_UNIFIED_DECODING_PATHS /* set combined orientation subframe info to start info */ ivas_combined_orientation_set_to_start_index( *( masaInput->base.ctx.pCombinedOrientationData ) ); #endif -#ifdef NONBE_FIX_225_MASA_EXT_REND if ( getAudioConfigType( outConfig ) == IVAS_REND_AUDIO_CONFIG_TYPE_MASA ) { /* MASA prerendering path for MASA -> MASA */ @@ -8520,51 +7854,6 @@ static ivas_error renderInputMasa( accumulate2dArrayToBuffer( tmpBuffer_buff, &outAudio ); #ifdef SPLIT_REND_WITH_HEAD_ROT } -#endif -#else - switch ( getAudioConfigType( outConfig ) ) - { - case IVAS_REND_AUDIO_CONFIG_TYPE_CHANNEL_BASED: - renderMasaToMc( masaInput, outAudio ); - break; - case IVAS_REND_AUDIO_CONFIG_TYPE_AMBISONICS: - renderMasaToSba( masaInput, outAudio ); - break; - case IVAS_REND_AUDIO_CONFIG_TYPE_BINAURAL: - switch ( outConfig ) - { - case IVAS_AUDIO_CONFIG_BINAURAL: - -#ifdef SPLIT_REND_WITH_HEAD_ROT - renderMasaToBinaural( masaInput, outAudio, 0 ); -#else - renderMasaToBinaural( masaInput, outAudio ); -#endif - break; - /* ToDo */ - // #ifdef FIX_196_REFACTOR_RENDERER_OUTPUT_CONFIG - // case IVAS_AUDIO_CONFIG_BINAURAL_ROOM_IR: - // case IVAS_AUDIO_CONFIG_BINAURAL_ROOM_REVERB: - // #else - // case IVAS_REND_AUDIO_CONFIG_BINAURAL_ROOM: - // #endif - // renderMasaToBinauralRoom( masaInput, outConfig, outAudio ); - // break; -#ifdef SPLIT_REND_WITH_HEAD_ROT - case IVAS_AUDIO_CONFIG_BINAURAL_SPLIT_CODED: - case IVAS_AUDIO_CONFIG_BINAURAL_SPLIT_PCM: - renderMasaToBinaural( masaInput, outAudio, 1 ); - break; -#endif - default: - return IVAS_ERR_INVALID_OUTPUT_FORMAT; - } - break; - case IVAS_REND_AUDIO_CONFIG_TYPE_MASA: - renderMasaToMasa( masaInput, outAudio ); - break; - default: - return IVAS_ERR_INVALID_OUTPUT_FORMAT; #endif } @@ -8579,9 +7868,6 @@ static ivas_error renderActiveInputsMasa( int16_t i; input_masa *pCurrentInput; ivas_error error; -#ifndef NONBE_FIX_225_MASA_EXT_REND - int16_t sf_idx; -#endif for ( i = 0, pCurrentInput = hIvasRend->inputsMasa; i < RENDERER_MAX_MASA_INPUTS; ++i, ++pCurrentInput ) { @@ -8591,16 +7877,6 @@ static ivas_error renderActiveInputsMasa( continue; } -#ifndef NONBE_FIX_225_MASA_EXT_REND - if ( getAudioConfigType( hIvasRend->outputConfig ) == IVAS_REND_AUDIO_CONFIG_TYPE_BINAURAL && pCurrentInput->decDummy->hHeadTrackData != NULL ) - { - for ( sf_idx = 0; sf_idx < hIvasRend->num_subframes; ++sf_idx ) - { - pCurrentInput->decDummy->hHeadTrackData->Quaternions[sf_idx] = hIvasRend->headRotData.headPositions[sf_idx]; - pCurrentInput->decDummy->hHeadTrackData->Pos[sf_idx] = hIvasRend->headRotData.Pos[sf_idx]; - } - } -#endif if ( ( error = renderInputMasa( pCurrentInput, hIvasRend->outputConfig, outAudio ) ) != IVAS_ERR_OK ) { return error; @@ -9301,7 +8577,6 @@ int32_t IVAS_REND_GetCntFramesLimited( } #endif -#ifdef NONBE_FIX_225_MASA_EXT_REND static ivas_error ivas_masa_ext_rend_dirac_rend_init( input_masa *inputMasa ) { @@ -10060,4 +9335,3 @@ static void freeMasaExtRenderer( return; } -#endif -- GitLab From cf7853b1c8350e38e46af2c1ff916e26a6923c84 Mon Sep 17 00:00:00 2001 From: Markus Multrus Date: Wed, 22 Nov 2023 09:35:05 +0100 Subject: [PATCH 6/8] [cleanup] accept NONBE_FIX_897_USAN_WITH_MASA_RENDERING --- lib_com/options.h | 1 - lib_rend/ivas_dirac_rend.c | 4 ---- 2 files changed, 5 deletions(-) diff --git a/lib_com/options.h b/lib_com/options.h index 755d12f863..851680a6f2 100755 --- a/lib_com/options.h +++ b/lib_com/options.h @@ -164,7 +164,6 @@ #define NONBE_FIX_856_TCX_LTP_SYNTH_FILTER /* FhG: issue 856: correct filtering length for tcx-ltp synth filtering*/ #define NONBE_UNIFIED_DECODING_PATHS /* FhG: unify decoding paths */ #define NONBE_FIX_871_ACELP_CRASH_IN_OSBA /* FhG: isse 871: crash in ACELP core encoder with OSBA */ -#define NONBE_FIX_897_USAN_WITH_MASA_RENDERING /* Nokia: issue #897: USAN null pointer in MASA external renderer to Ambisonics */ #define NONBE_FIX_811_DFT_DOUBLE_TO_FLOAT /* FhG: issue 811: change double precision functions to float in DFT Stereo */ /* ##################### End NON-BE switches ########################### */ diff --git a/lib_rend/ivas_dirac_rend.c b/lib_rend/ivas_dirac_rend.c index 0263274821..9fa1ddd8e4 100644 --- a/lib_rend/ivas_dirac_rend.c +++ b/lib_rend/ivas_dirac_rend.c @@ -2128,11 +2128,7 @@ static void ivas_masa_ext_dirac_render_sf( DirAC_mem = hDirACRend->stack_mem; reference_power = DirAC_mem.reference_power; -#ifdef NONBE_FIX_897_USAN_WITH_MASA_RENDERING reference_power_smooth = ( DirAC_mem.reference_power == NULL ) ? NULL : DirAC_mem.reference_power + hSpatParamRendCom->num_freq_bands; -#else - reference_power_smooth = DirAC_mem.reference_power + hSpatParamRendCom->num_freq_bands; -#endif onset_filter = DirAC_mem.onset_filter; onset_filter_subframe = ( DirAC_mem.onset_filter == NULL ) ? NULL : DirAC_mem.onset_filter + hSpatParamRendCom->num_freq_bands; coherence_flag = 1; /* There is always coherence assumed for ext rend of MASA */ -- GitLab From 6b278127f4595ad0badab8ceddfe1190a76f0409 Mon Sep 17 00:00:00 2001 From: Markus Multrus Date: Wed, 22 Nov 2023 09:35:59 +0100 Subject: [PATCH 7/8] [cleanup] accept NONBE_FIX_811_DFT_DOUBLE_TO_FLOAT --- lib_com/options.h | 1 - lib_dec/ivas_stereo_dft_dec.c | 8 -------- lib_enc/ivas_stereo_dft_enc.c | 12 ------------ lib_enc/ivas_stereo_dft_enc_itd.c | 4 ---- lib_enc/ivas_stereo_dft_td_itd.c | 4 ---- 5 files changed, 29 deletions(-) diff --git a/lib_com/options.h b/lib_com/options.h index 851680a6f2..c8eb019c5b 100755 --- a/lib_com/options.h +++ b/lib_com/options.h @@ -164,7 +164,6 @@ #define NONBE_FIX_856_TCX_LTP_SYNTH_FILTER /* FhG: issue 856: correct filtering length for tcx-ltp synth filtering*/ #define NONBE_UNIFIED_DECODING_PATHS /* FhG: unify decoding paths */ #define NONBE_FIX_871_ACELP_CRASH_IN_OSBA /* FhG: isse 871: crash in ACELP core encoder with OSBA */ -#define NONBE_FIX_811_DFT_DOUBLE_TO_FLOAT /* FhG: issue 811: change double precision functions to float in DFT Stereo */ /* ##################### End NON-BE switches ########################### */ diff --git a/lib_dec/ivas_stereo_dft_dec.c b/lib_dec/ivas_stereo_dft_dec.c index caef6fe536..388bf8d078 100755 --- a/lib_dec/ivas_stereo_dft_dec.c +++ b/lib_dec/ivas_stereo_dft_dec.c @@ -135,18 +135,10 @@ static void stereo_dft_dequantize_res_gains_f( /* compensate for the offset and extract/remove sign of first index */ sign = ind1[i] < 15 ? -1 : 1; -#ifdef NONBE_FIX_811_DFT_DOUBLE_TO_FLOAT i1 = (int16_t) floorf( ind1[i] < 15 ? 15 - ind1[i] : ind1[i] - 15 ); -#else - i1 = (int16_t) floor( ind1[i] < 15 ? 15 - ind1[i] : ind1[i] - 15 ); -#endif fi = ( ind1[i] < 15 ? 15 - ind1[i] : ind1[i] - 15 ) - i1; -#ifdef NONBE_FIX_811_DFT_DOUBLE_TO_FLOAT j1 = (int16_t) floorf( ind2[i] ); -#else - j1 = (int16_t) floor( ind2[i] ); -#endif fj = ind2[i] - j1; /* choose base indices for interpolation */ diff --git a/lib_enc/ivas_stereo_dft_enc.c b/lib_enc/ivas_stereo_dft_enc.c index e2b21bf61c..109def1fd0 100755 --- a/lib_enc/ivas_stereo_dft_enc.c +++ b/lib_enc/ivas_stereo_dft_enc.c @@ -2695,11 +2695,7 @@ static void stereo_dft_enc_compute_prm( { hStereoDft->dot_prod_real_smooth[b2] = 0.5f * hStereoDft->dot_prod_real_smooth[b2] + 0.5f * dot_prod_real2; hStereoDft->dot_prod_img_smooth[b2] = 0.5f * hStereoDft->dot_prod_img_smooth[b2] + 0.5f * dot_prod_img2; -#ifdef NONBE_FIX_811_DFT_DOUBLE_TO_FLOAT pIpd[b2] = (float) atan2f( hStereoDft->dot_prod_img_smooth[b2], hStereoDft->dot_prod_real_smooth[b2] ); -#else - pIpd[b2] = (float) atan2( hStereoDft->dot_prod_img_smooth[b2], hStereoDft->dot_prod_real_smooth[b2] ); -#endif ipd_smooth[b2] = stereo_dft_calc_mean_bipd( &pIpd[b2], hStereoDft->ipd_buf[b2] ); @@ -2829,11 +2825,7 @@ static void stereo_dft_enc_compute_prm( { conversion_factor = 2.f / 3; } -#ifdef NONBE_FIX_811_DFT_DOUBLE_TO_FLOAT dItd32 = (int16_t) floorf( conversion_factor * hStereoDft->hItd->deltaItd[k_offset] + 0.5f ); -#else - dItd32 = (int16_t) floor( conversion_factor * hStereoDft->hItd->deltaItd[k_offset] + 0.5f ); -#endif gain_offset = stereo_dft_gain_offset( c, dItd32 ); pPredGain[b] = max( 0, pPredGain[b] - gain_offset ); @@ -2869,11 +2861,7 @@ static void stereo_dft_enc_compute_prm( hStereoDft->sum_dot_prod_real = ( 1.f - hStereoDft->sfm ) * hStereoDft->sum_dot_prod_real + hStereoDft->sfm * sum_dot_prod_real; hStereoDft->sum_dot_prod_img = ( 1.f - hStereoDft->sfm ) * hStereoDft->sum_dot_prod_img + hStereoDft->sfm * sum_dot_prod_img; -#ifdef NONBE_FIX_811_DFT_DOUBLE_TO_FLOAT pgIpd[0] = (float) atan2f( hStereoDft->sum_dot_prod_img, hStereoDft->sum_dot_prod_real ); -#else - pgIpd[0] = (float) atan2( hStereoDft->sum_dot_prod_img, hStereoDft->sum_dot_prod_real ); -#endif stereo_dft_gipd_stabilization( &pgIpd[0], hStereoDft->prev_gipd, ipd_mean_change ); hStereoDft->prev_gipd = pgIpd[0]; diff --git a/lib_enc/ivas_stereo_dft_enc_itd.c b/lib_enc/ivas_stereo_dft_enc_itd.c index 8852a8425b..d3336f4eb6 100755 --- a/lib_enc/ivas_stereo_dft_enc_itd.c +++ b/lib_enc/ivas_stereo_dft_enc_itd.c @@ -1368,11 +1368,7 @@ void stereo_dft_enc_compute_itd( if ( hItd->deltaItd[k_offset - 1] != 0 && itd_max_flip == 0 ) { -#ifdef NONBE_FIX_811_DFT_DOUBLE_TO_FLOAT int16_t tmp_itd = (int16_t) floorf( ( ( hItd->prev_itd ) * ( (float) input_frame / 640 ) ) + 0.5f ); -#else - int16_t tmp_itd = (int16_t) floor( ( ( hItd->prev_itd ) * ( (float) input_frame / 640 ) ) + 0.5f ); -#endif hItd->deltaItd[k_offset] = -1.0f * tmp_itd - hItd->td_itd[k_offset]; } } diff --git a/lib_enc/ivas_stereo_dft_td_itd.c b/lib_enc/ivas_stereo_dft_td_itd.c index 7f724685dd..ee37e924db 100755 --- a/lib_enc/ivas_stereo_dft_td_itd.c +++ b/lib_enc/ivas_stereo_dft_td_itd.c @@ -83,11 +83,7 @@ static void stereo_td_get_td_itd( { assert( ( input_Fs % 16000 ) == 0 && "sampling frequency should be divisible by 16000" ); d = (int16_t) ( input_Fs / 16000 ); -#ifdef NONBE_FIX_811_DFT_DOUBLE_TO_FLOAT *td_itd_32 = 2 * (int16_t) floorf( itd / d + 0.5f ); -#else - *td_itd_32 = 2 * (int16_t) floor( itd / d + 0.5f ); -#endif *td_itd = ( ( *td_itd_32 ) / 2 ) * d; } -- GitLab From 8537b01eac141272d575fa90a50c3bd430b8f9e7 Mon Sep 17 00:00:00 2001 From: Markus Multrus Date: Wed, 22 Nov 2023 09:38:23 +0100 Subject: [PATCH 8/8] formatting --- lib_dec/lib_dec.c | 1 - lib_enc/ivas_core_pre_proc_front.c | 4 ++-- lib_rend/lib_rend.c | 1 - 3 files changed, 2 insertions(+), 4 deletions(-) diff --git a/lib_dec/lib_dec.c b/lib_dec/lib_dec.c index 2abd1240da..72cf0ca99d 100644 --- a/lib_dec/lib_dec.c +++ b/lib_dec/lib_dec.c @@ -2581,7 +2581,6 @@ ivas_error IVAS_DEC_TSM_SetQuality( } - /*---------------------------------------------------------------------* * IVAS_DEC_VoIP_GetSamples( ) * diff --git a/lib_enc/ivas_core_pre_proc_front.c b/lib_enc/ivas_core_pre_proc_front.c index 47068d0a95..d0dbd16034 100644 --- a/lib_enc/ivas_core_pre_proc_front.c +++ b/lib_enc/ivas_core_pre_proc_front.c @@ -108,8 +108,8 @@ ivas_error pre_proc_front_ivas( const int16_t force_front_vad, /* i : flag to force VAD decision */ const int16_t front_vad_dtx_flag, /* i : front-VAD DTX flag to overwrite VAD decision*/ const IVAS_FORMAT ivas_format, /* i : IVAS format */ - const int16_t MCT_flag, /* i : hMCT handle allocated (1) or not (0) */ - const int32_t ivas_total_brate /* i : IVAS total bitrate - for setting the DTX */ + const int16_t MCT_flag, /* i : hMCT handle allocated (1) or not (0) */ + const int32_t ivas_total_brate /* i : IVAS total bitrate - for setting the DTX */ ) { float *inp_12k8, *new_inp_12k8; /* pointers to current frame and new data */ diff --git a/lib_rend/lib_rend.c b/lib_rend/lib_rend.c index 5d1a84b53b..8524542532 100644 --- a/lib_rend/lib_rend.c +++ b/lib_rend/lib_rend.c @@ -2932,7 +2932,6 @@ static void clearInputSba( } - static ivas_error setRendInputActiveMasa( void *input, const AUDIO_CONFIG inConfig, -- GitLab