diff --git a/lib_com/options.h b/lib_com/options.h index c5d1fd35b6917098c032ad7b5ba31d40a21d58ce..83481715bb6c0dbdf693a708ae618fd17e2e5c35 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 52e03fc4095d8640458b630d9dfd5644bc1b98d0..feff99a7d2fa3973c397dc4406175519c8e74b50 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 1edace43baf434c484efc5465684d5067ef4c9a5..5f77e70cbda1f17cd8c0dec7a5253f0869b2f509 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;