Loading lib_com/options.h +2 −0 Original line number Diff line number Diff line Loading @@ -189,6 +189,8 @@ #define FIX_622_SILENCE_USAN_WARNING /* FhG: silenceusan warning in ifft code */ #define FIX_615_UBSAN_SPAR_TO_DIRAC /*Dlb : Fix for UBSAN issue 615*/ #define FIX_616_DIV_ZERO_MCT /*FhG : Fix UBSAN division by zero error of issue 616*/ /* ################## End BE DEVELOPMENT switches ######################### */ Loading lib_enc/ivas_mct_core_enc.c 100755 → 100644 +5 −0 Original line number Diff line number Diff line Loading @@ -143,8 +143,13 @@ static void AdjustChannelRatios( } for ( i = 3; i < nChannels; i++ ) { #ifdef FIX_616_DIV_ZERO_MCT cur_ratio = (float) chBitRatios[i] / ( sum_ratio + FLT_MIN ); tar_ratio = (float) force_ch_bit_ratios[i] / ( sum_tar_ratio + FLT_MIN ); #else cur_ratio = (float) chBitRatios[i] / sum_ratio; tar_ratio = (float) force_ch_bit_ratios[i] / sum_tar_ratio; #endif tar_ratio = min( tar_ratio, cur_ratio ); chBitRatios[i] = (int16_t) ( tar_ratio * sum_tar_ratio ); Loading Loading
lib_com/options.h +2 −0 Original line number Diff line number Diff line Loading @@ -189,6 +189,8 @@ #define FIX_622_SILENCE_USAN_WARNING /* FhG: silenceusan warning in ifft code */ #define FIX_615_UBSAN_SPAR_TO_DIRAC /*Dlb : Fix for UBSAN issue 615*/ #define FIX_616_DIV_ZERO_MCT /*FhG : Fix UBSAN division by zero error of issue 616*/ /* ################## End BE DEVELOPMENT switches ######################### */ Loading
lib_enc/ivas_mct_core_enc.c 100755 → 100644 +5 −0 Original line number Diff line number Diff line Loading @@ -143,8 +143,13 @@ static void AdjustChannelRatios( } for ( i = 3; i < nChannels; i++ ) { #ifdef FIX_616_DIV_ZERO_MCT cur_ratio = (float) chBitRatios[i] / ( sum_ratio + FLT_MIN ); tar_ratio = (float) force_ch_bit_ratios[i] / ( sum_tar_ratio + FLT_MIN ); #else cur_ratio = (float) chBitRatios[i] / sum_ratio; tar_ratio = (float) force_ch_bit_ratios[i] / sum_tar_ratio; #endif tar_ratio = min( tar_ratio, cur_ratio ); chBitRatios[i] = (int16_t) ( tar_ratio * sum_tar_ratio ); Loading