diff --git a/lib_com/ivas_cov_smooth.c b/lib_com/ivas_cov_smooth.c index b5bd6369c5c41bcd0bb7a7e70183c5aaa533cb8a..7a2439660671bbdf529b1a62cc38dd159809f7ab 100644 --- a/lib_com/ivas_cov_smooth.c +++ b/lib_com/ivas_cov_smooth.c @@ -50,8 +50,11 @@ static void ivas_set_up_cov_smoothing( ivas_cov_smooth_state_t *hCovState, ivas_filterbank_t *pFb, const float max_update_rate, - const int16_t min_pool_size, + const int16_t min_pool_size +#ifndef FIX_331_ALL_BRS + , const int16_t nchan_inp /* i : number of input channels */ +#endif , const int32_t ivas_total_brate ) { @@ -90,7 +93,9 @@ static void ivas_set_up_cov_smoothing( } } } - else if ( nchan_inp <= FOA_CHANNELS ) + else +#ifndef FIX_331_ALL_BRS + if ( nchan_inp <= FOA_CHANNELS ) { for ( j = 0; j < pFb->filterbank_num_bands; j++ ) { @@ -112,6 +117,7 @@ static void ivas_set_up_cov_smoothing( } else { +#endif for ( j = 0; j < pFb->filterbank_num_bands; j++ ) { float update_factor; @@ -131,7 +137,9 @@ static void ivas_set_up_cov_smoothing( hCovState->pSmoothing_factor[j] = max_update_rate; } } +#ifndef FIX_331_ALL_BRS } +#endif hCovState->prior_bank_idx = -1; return; @@ -178,7 +186,12 @@ ivas_error ivas_spar_covar_smooth_enc_open( } } + +#ifndef FIX_331_ALL_BRS ivas_set_up_cov_smoothing( hCovState, pFb, cov_smooth_cfg->max_update_rate, cov_smooth_cfg->min_pool_size, nchan_inp, ivas_total_brate ); +#else + ivas_set_up_cov_smoothing( hCovState, pFb, cov_smooth_cfg->max_update_rate, cov_smooth_cfg->min_pool_size, ivas_total_brate ); +#endif *hCovState_out = hCovState; diff --git a/lib_com/options.h b/lib_com/options.h old mode 100644 new mode 100755 index b6dba1a36810632aa62c6c7a060e339ee2fd0111..5bb7f4c79228fc1dc04742aa050b2e7d85dc1d49 --- a/lib_com/options.h +++ b/lib_com/options.h @@ -137,6 +137,10 @@ #define DISABLE_ADAP_RES_COD_TMP /* temporary fix for IVAS-403, disables adaptive residual coding */ /*#define FIX_I4_OL_PITCH*/ /* fix open-loop pitch used for EVS core switching */ +#define FIX_103_RA_PARAMS_PARAM_BIN_REND /* Issue 103: Digest room acoustics parameters for Parametric Binaural Renderer*/ +/*#define SBA_HPF_TUNING_DEC*/ +#define SMOOTH_WITH_TRANS_DET +#define FIX_331_ALL_BRS /*Enable the fix_331 across all the bitrates and sba modes*/ #define FIX_ISM_DTX_CNG_BWIDTH_ALT /* VA: issue 396 - alternative fix for bw changes on CNG frames in ISM DTX for objects that use the decoder-side noise estimation */ #define FIX_398_MASA_DIRECTION_ALIGNMENT /* Nokia: Issue 398: in 2dir MASA, dynamically adjust directions to be consistent */ diff --git a/lib_enc/ivas_spar_encoder.c b/lib_enc/ivas_spar_encoder.c index 5ca91f334f68c4d8ef420dc039514061bbae4fdc..098654416a362fa11befcd4771505c3b4e2a175e 100644 --- a/lib_enc/ivas_spar_encoder.c +++ b/lib_enc/ivas_spar_encoder.c @@ -501,10 +501,12 @@ static ivas_error ivas_spar_enc_process( *-----------------------------------------------------------------------------------------*/ ivas_transient_det_process( hSpar->hTranDet, data_f[0], input_frame, transient_det ); +#ifndef FIX_331_ALL_BRS if ( sba_order == 1 ) { transient_det[1] = transient_det[0]; } +#endif if ( ivas_total_brate < IVAS_24k4 ) { transient_det[1] = 0; diff --git a/lib_rend/ivas_dirac_dec_binaural_functions.c b/lib_rend/ivas_dirac_dec_binaural_functions.c index 0af9e47868fc878c6e8ce1903dd1c603873bf9f2..d212517d0803ac1bd01ddc39ca07e823ca40a451 100644 --- a/lib_rend/ivas_dirac_dec_binaural_functions.c +++ b/lib_rend/ivas_dirac_dec_binaural_functions.c @@ -2356,25 +2356,24 @@ static void adaptTransportSignalsHeadtracked( } #endif -#ifdef FIX_355_REFACTOR_PARAMBIN_TO_5MS static void ivas_dirac_dec_binaural_check_and_switch_transports_headtracked( HEAD_TRACK_DATA_HANDLE hHeadTrackData, +#ifdef FIX_355_REFACTOR_PARAMBIN_TO_5MS float inRe[][CLDFB_SLOTS_PER_SUBFRAME][CLDFB_NO_CHANNELS_MAX], float inIm[][CLDFB_SLOTS_PER_SUBFRAME][CLDFB_NO_CHANNELS_MAX], const int16_t nBins, - float Rmat[3][3] ) -{ - int16_t slot, bin, ch; #else -static void ivas_dirac_dec_binaural_check_and_switch_transports_headtracked( - HEAD_TRACK_DATA_HANDLE hHeadTrackData, float inIm[][CLDFB_NO_COL_MAX][CLDFB_NO_CHANNELS_MAX], float inRe[][CLDFB_NO_COL_MAX][CLDFB_NO_CHANNELS_MAX], const uint8_t firstSlot, const uint8_t slotEnd, const uint8_t nBins, +#endif float Rmat[3][3] ) { +#ifdef FIX_355_REFACTOR_PARAMBIN_TO_5MS + int16_t slot, bin, ch; +#else uint8_t slot, bin, ch; #endif float tmpVal;