From a5a4839d8139af1b93971d069f973e69443f3830 Mon Sep 17 00:00:00 2001 From: advasila Date: Thu, 19 Oct 2023 08:37:09 +0300 Subject: [PATCH] remove OMASA redundancies (fix 863) --- lib_com/options.h | 2 +- lib_enc/ivas_masa_enc.c | 5 ++++- lib_enc/ivas_stereo_classifier.c | 5 ++++- 3 files changed, 9 insertions(+), 3 deletions(-) diff --git a/lib_com/options.h b/lib_com/options.h index c5d1fd35b6..83481715bb 100644 --- a/lib_com/options.h +++ b/lib_com/options.h @@ -153,7 +153,7 @@ #define FIX_820_DOUBLE_PREC_MACROS /* VA: issue 820: Double precision arithmetic in IVAS_CALCULATE_ABS() */ #define FIX_814_DOUBLE_PREC_IN_REVERB /* Philips: Issue 814: Replace double precision arithmetic in reverb */ #define FIX_866_MOVE_VBAP /* Nokia: Issue 866: Move VBAP to lib_rend */ - +#define FIX_863_REMOVE_REDUNDANCIES_OMASA /* Nokia/VA: Issue 863: Remove redundancies in stereo_classifier for OMASA */ /* #################### End BE switches ################################## */ diff --git a/lib_enc/ivas_masa_enc.c b/lib_enc/ivas_masa_enc.c index 52e03fc409..feff99a7d2 100644 --- a/lib_enc/ivas_masa_enc.c +++ b/lib_enc/ivas_masa_enc.c @@ -1983,8 +1983,11 @@ void ivas_masa_enc_reconfigure( copy_encoder_config( st_ivas, st_ivas->hCPE[cpe_id]->hCoreCoder[n], 0 ); st_ivas->hCPE[cpe_id]->hCoreCoder[n]->total_brate = st_ivas->hCPE[cpe_id]->element_brate / ( st_ivas->nCPE > 1 ? 1 : CPE_CHANNELS ); /* dummy initialization for getting right pointers initialization of input buffers in init_coder_ace_plus() */ } - +#ifdef FIX_863_REMOVE_REDUNDANCIES_OMASA + if ( ivas_total_brate - ism_total_brate < MIN_BRATE_MDCT_STEREO ) +#else if ( ivas_total_brate - ism_total_brate < MASA_STEREO_MIN_BITRATE || ivas_total_brate - ism_total_brate < MIN_BRATE_MDCT_STEREO ) +#endif { st_ivas->hCPE[cpe_id]->element_mode = IVAS_CPE_DFT; } diff --git a/lib_enc/ivas_stereo_classifier.c b/lib_enc/ivas_stereo_classifier.c index 1edace43ba..5f77e70cbd 100644 --- a/lib_enc/ivas_stereo_classifier.c +++ b/lib_enc/ivas_stereo_classifier.c @@ -124,8 +124,11 @@ int16_t select_stereo_mode( { stereo_switching_flag = 0; } - +#ifdef FIX_863_REMOVE_REDUNDANCIES_OMASA + if ( hCPE->element_brate >= MIN_BRATE_MDCT_STEREO ) +#else if ( hCPE->element_brate >= MIN_BRATE_MDCT_STEREO && !( hCPE->element_brate == IVAS_48k && ivas_total_brate == IVAS_32k ) ) /* the second condition for PARAM mode OMASA */ +#endif { hStereoClassif->prev_lrtd_mode = 0; hStereoClassif->lrtd_mode = 0; -- GitLab