diff --git a/lib_com/options.h b/lib_com/options.h index 58337d6abe88d64a1382387104a34812259c42d2..b26b2d81c5f0f695f95604719a7d6e4149afb06c 100644 --- a/lib_com/options.h +++ b/lib_com/options.h @@ -171,6 +171,7 @@ /* all switches in this category should start with "NONBE_" */ #define NONBE_FIX_1176_OSBA_REVERB_JBM_ASAN_ERROR /* Ericsson: Issue 1176, fix in TDREND_firfilt for subframes shorter than the filter length */ +#define NONBE_1240_FIX_CORE_SELECTION_ISM_SW /* VA: issue 1240: Remove the forcing of the TCX core in ISM when switching from a high bitarte to a low one */ /* ##################### End NON-BE switches ########################### */ diff --git a/lib_enc/ivas_decision_matrix_enc.c b/lib_enc/ivas_decision_matrix_enc.c index 306aaf74b6581a0f503e399273a457fc05cb709e..2b0f688226d355786fc0a075400f56f6c3c39715 100644 --- a/lib_enc/ivas_decision_matrix_enc.c +++ b/lib_enc/ivas_decision_matrix_enc.c @@ -172,7 +172,12 @@ void ivas_decision_matrix_enc( st->core = ACELP_CORE; } +#ifdef NONBE_1240_FIX_CORE_SELECTION_ISM_SW + /* sanity check: highest bitrates in ISM */ + if ( st->is_ism_format && st->tcxonly && st->total_brate > MAX_ACELP_BRATE_ISM ) +#else if ( st->is_ism_format && st->tcxonly ) +#endif { st->core = TCX_20_CORE; }