diff --git a/lib_com/options.h b/lib_com/options.h index 7165e2f07145e259da37260baaeab8585abe0332..42a41806b2b0252798aaffbb5b635199f7a136b0 100644 --- a/lib_com/options.h +++ b/lib_com/options.h @@ -173,6 +173,7 @@ #define FIX_1465_SWB_TBE_RANDOM_VECTOR_CREATION /* Dolby: issue 1465: Fix constant in create_random_vector() to allow more reliable fixed point port */ +#define FIX_1500_ISM_MD_DTX /* VA: float issue 1500: fix ISM elevation metadata smoothing in DTX */ /* ##################### End NON-BE switches ########################### */ diff --git a/lib_dec/ivas_ism_metadata_dec.c b/lib_dec/ivas_ism_metadata_dec.c index 3316c5222cce33f2e015f34ccad1dde8df7b355e..f129a1c6b6965c61e6768eb07c8d656dbc901ba3 100644 --- a/lib_dec/ivas_ism_metadata_dec.c +++ b/lib_dec/ivas_ism_metadata_dec.c @@ -119,7 +119,11 @@ static void ism_metadata_smooth( /* smooth elevation */ diff = hIsmMetaData->last_true_elevation - hIsmMetaData->last_elevation; +#ifdef FIX_1500_ISM_MD_DTX + if ( ism_total_brate > IVAS_SID_5k2 && fabsf( diff ) > IVAS_ISM_DTX_HO_MAX * CNG_MD_MAX_DIFF_ELEVATION ) +#else if ( ism_total_brate > IVAS_SID_5k2 && diff > IVAS_ISM_DTX_HO_MAX * CNG_MD_MAX_DIFF_ELEVATION ) +#endif { /* skip the smoothing */ }