diff --git a/lib_com/ivas_prot.h b/lib_com/ivas_prot.h index 120042c891c9c0f93d8d555bd2324566fccd5cc1..9869c4bb0f401c1f5b2502eff51e6d9b7832c517 100644 --- a/lib_com/ivas_prot.h +++ b/lib_com/ivas_prot.h @@ -3105,10 +3105,11 @@ int16_t ivas_sba_get_analysis_order( const int16_t sba_order /* i : Ambisonic (SBA) order */ ); +#ifndef SBA_DIRAC_RENDERER_TYPE_CLEANUP int16_t ivas_sba_get_order_transport( const int16_t nchan_transport /* i : Number of transport channels */ ); - +#endif /*! r: number of Ambisonic channels */ int16_t ivas_sba_get_nchan( const int16_t sba_order, /* i : Ambisonic (SBA) order */ diff --git a/lib_com/ivas_sba_config.c b/lib_com/ivas_sba_config.c index 133bf3886d901acab3b98b19b9cb4820d4739759..bf1c000acc5cf9fafa1ca24196dca89a56d0b3b7 100644 --- a/lib_com/ivas_sba_config.c +++ b/lib_com/ivas_sba_config.c @@ -246,7 +246,7 @@ int16_t ivas_sba_get_analysis_order( return sba_analysis_order; } - +#ifndef SBA_DIRAC_RENDERER_TYPE_CLEANUP /*-------------------------------------------------------------------* * ivas_sba_get_order_transport() * @@ -272,7 +272,7 @@ int16_t ivas_sba_get_order_transport( return ( sba_order ); } - +#endif /*-------------------------------------------------------------------* * ivas_sba_get_nchan() diff --git a/lib_com/options.h b/lib_com/options.h old mode 100755 new mode 100644 index 69cdf582f84ee55685ed0bae23d29e1b832ba20a..a98dadd11984dc80eabadd728a44fe2cd10711d0 --- a/lib_com/options.h +++ b/lib_com/options.h @@ -149,6 +149,8 @@ #define BRATE_SWITCHING_RENDERING /* Bitrate switching changes related to the renderers */ #define FIX_150 /* Issue 150: Crash in EVS mono, HQ_HARMONIC mode, related to BASOP_NOGLOB */ #define FIX_VBR_COMPLEXITY /* Issue 234: fix extremely high complexity numbers for IVAS EVS mode */ +#define SBA_DIRAC_RENDERER_TYPE_CLEANUP /* Remove leftovers in renderer_type logic in SBA DirAC decoder */ + /* ################## End DEVELOPMENT switches ######################### */ /* clang-format on */ diff --git a/lib_dec/ivas_init_dec.c b/lib_dec/ivas_init_dec.c index 3855b296c37be61daf337d2ed0b7e48f18086c17..7adef840c284047525578a26a07b85499dcfd5ef 100644 --- a/lib_dec/ivas_init_dec.c +++ b/lib_dec/ivas_init_dec.c @@ -839,7 +839,7 @@ ivas_error ivas_init_decoder( st_ivas->hSpar->dirac_to_spar_md_bands, st_ivas->hQMetaData->useLowerBandRes, st_ivas->hSpar->enc_param_start_band, 0 ); } } - else + else /* SBA_MODE_DIRAC */ { if ( ( error = ivas_dirac_sba_config( st_ivas->hQMetaData, &st_ivas->nchan_transport, &st_ivas->nSCE, &st_ivas->nCPE, &st_ivas->element_mode_init, ivas_total_brate, st_ivas->sba_analysis_order, st_ivas->sba_mode, -1 ) ) != IVAS_ERR_OK ) { @@ -848,6 +848,7 @@ ivas_error ivas_init_decoder( st_ivas->sba_dirac_stereo_flag = ( st_ivas->nchan_transport == 1 && output_config == AUDIO_CONFIG_STEREO ); +#ifndef SBA_DIRAC_RENDERER_TYPE_CLEANUP if ( ( st_ivas->renderer_type == RENDERER_SBA_LINEAR_DEC ) && st_ivas->hOutSetup.is_loudspeaker_setup ) { int16_t ambisonics_order; @@ -869,6 +870,7 @@ ivas_error ivas_init_decoder( return error; } } +#endif } } diff --git a/lib_dec/ivas_sba_dec.c b/lib_dec/ivas_sba_dec.c index 4e96c041bdddadc1e9559ba5a18aee65f949cd79..20f8d66384c2e2939ba7b7a5270caf3826a2c7e0 100644 --- a/lib_dec/ivas_sba_dec.c +++ b/lib_dec/ivas_sba_dec.c @@ -334,6 +334,7 @@ ivas_error ivas_sba_dec_reinit( st_ivas->sba_dirac_stereo_flag = ( st_ivas->nchan_transport == 1 && output_config == AUDIO_CONFIG_STEREO ); +#ifndef SBA_DIRAC_RENDERER_TYPE_CLEANUP if ( ( st_ivas->renderer_type == RENDERER_SBA_LINEAR_DEC ) && st_ivas->hOutSetup.is_loudspeaker_setup ) { int16_t ambisonics_order; @@ -355,6 +356,7 @@ ivas_error ivas_sba_dec_reinit( return error; } } +#endif } if ( st_ivas->renderer_type != RENDERER_BINAURAL_MIXER_CONV && st_ivas->renderer_type != RENDERER_BINAURAL_MIXER_CONV_ROOM && st_ivas->renderer_type != RENDERER_DISABLE && st_ivas->renderer_type != RENDERER_SBA_LINEAR_DEC && st_ivas->sba_mode != SBA_MODE_SPAR ) diff --git a/lib_rend/ivas_output_init.c b/lib_rend/ivas_output_init.c index e5407abff4320d6dab71106886fbf797b74f217a..57fcbf7268da6058c244c65398976d2f979ce580 100644 --- a/lib_rend/ivas_output_init.c +++ b/lib_rend/ivas_output_init.c @@ -542,6 +542,12 @@ void ivas_renderer_select( { *renderer_type = RENDERER_DISABLE; } +#ifdef SBA_DIRAC_RENDERER_TYPE_CLEANUP + else if ( st_ivas->ivas_format == SBA_FORMAT && output_config == AUDIO_CONFIG_MONO ) + { + *renderer_type = RENDERER_SBA_LINEAR_DEC; + } +#else else if ( st_ivas->ivas_format == SBA_FORMAT ) { int16_t nchan_max; @@ -564,6 +570,7 @@ void ivas_renderer_select( *renderer_type = RENDERER_SBA_LINEAR_DEC; } } +#endif } else if ( st_ivas->ivas_format == MC_FORMAT ) {