Loading lib_com/options.h +2 −0 Original line number Diff line number Diff line Loading @@ -130,6 +130,8 @@ #define FIX_BASOP_2592_OVERFLOW /* FhG: BASOP #2592: fix overflow in GetF0() */ #define FIX_BASOP_2591_EDGE_DETECT_COMP /* FhG: BASOP #2591: Wrong comparison in edge_detect_fx() */ #define FIX_NONBE_2580_USE_LENGTH_NOT_CONSTANT /* Dolby: fix 2580: use dynamic length denominator for average energy in unclr_calc_corr_features_fx() */ #define FIX_BASOP_2599_TCA_OVERFLOW /* VA: issue 2599, Fix TCA overflow */ #define FIX_2588_MISSING_CONDITIONS /* VA: Proposed fix to 2588, addition of a condition in lsf_dec */ /* ##################### End NON-BE switches ########################### */ Loading lib_dec/lsf_dec_fx.c +5 −0 Original line number Diff line number Diff line Loading @@ -409,7 +409,12 @@ void lsf_end_dec_fx( test(); test(); #ifndef FIX_2588_MISSING_CONDITIONS IF( ( EQ_16( coder_type_org, GENERIC ) ) && ( EQ_32( st->sr_core, INT_FS_16k ) ) && ( mode2_flag == 0 ) ) #else test(); IF( ( EQ_16( coder_type_org, GENERIC ) ) && ( EQ_32( st->sr_core, INT_FS_16k ) ) && ( mode2_flag == 0 ) && st->idchan == 0 ) #endif { /* this bit is used only for primary channel or mono */ coder_type = (Word16) get_next_indice_fx( st, 1 ); /* Q0 */ Loading lib_enc/ivas_stereo_ica_enc_fx.c +4 −0 Original line number Diff line number Diff line Loading @@ -1367,7 +1367,11 @@ static void estDownmixGain_fx( exp = 0; move16(); } #ifdef FIX_BASOP_2599_TCA_OVERFLOW unclr_instTargetGain = BASOP_Util_Log10( L_add_sat( unclr_instTargetGain, L_shr( MAX_32, sub( Q31, exp ) ) ), exp ); #else unclr_instTargetGain = BASOP_Util_Log10( L_add( unclr_instTargetGain, L_shr( MAX_32, sub( Q31, exp ) ) ), exp ); #endif // unclr_fv_fx is expected in Q15 - log result will be in Q25 - hence rightshift by 10. hStereoClassif->unclr_fv_fx[E_ica_instTargetGain] = L_shr( unclr_instTargetGain, Q10 ); /* Q15 */ move32(); Loading Loading
lib_com/options.h +2 −0 Original line number Diff line number Diff line Loading @@ -130,6 +130,8 @@ #define FIX_BASOP_2592_OVERFLOW /* FhG: BASOP #2592: fix overflow in GetF0() */ #define FIX_BASOP_2591_EDGE_DETECT_COMP /* FhG: BASOP #2591: Wrong comparison in edge_detect_fx() */ #define FIX_NONBE_2580_USE_LENGTH_NOT_CONSTANT /* Dolby: fix 2580: use dynamic length denominator for average energy in unclr_calc_corr_features_fx() */ #define FIX_BASOP_2599_TCA_OVERFLOW /* VA: issue 2599, Fix TCA overflow */ #define FIX_2588_MISSING_CONDITIONS /* VA: Proposed fix to 2588, addition of a condition in lsf_dec */ /* ##################### End NON-BE switches ########################### */ Loading
lib_dec/lsf_dec_fx.c +5 −0 Original line number Diff line number Diff line Loading @@ -409,7 +409,12 @@ void lsf_end_dec_fx( test(); test(); #ifndef FIX_2588_MISSING_CONDITIONS IF( ( EQ_16( coder_type_org, GENERIC ) ) && ( EQ_32( st->sr_core, INT_FS_16k ) ) && ( mode2_flag == 0 ) ) #else test(); IF( ( EQ_16( coder_type_org, GENERIC ) ) && ( EQ_32( st->sr_core, INT_FS_16k ) ) && ( mode2_flag == 0 ) && st->idchan == 0 ) #endif { /* this bit is used only for primary channel or mono */ coder_type = (Word16) get_next_indice_fx( st, 1 ); /* Q0 */ Loading
lib_enc/ivas_stereo_ica_enc_fx.c +4 −0 Original line number Diff line number Diff line Loading @@ -1367,7 +1367,11 @@ static void estDownmixGain_fx( exp = 0; move16(); } #ifdef FIX_BASOP_2599_TCA_OVERFLOW unclr_instTargetGain = BASOP_Util_Log10( L_add_sat( unclr_instTargetGain, L_shr( MAX_32, sub( Q31, exp ) ) ), exp ); #else unclr_instTargetGain = BASOP_Util_Log10( L_add( unclr_instTargetGain, L_shr( MAX_32, sub( Q31, exp ) ) ), exp ); #endif // unclr_fv_fx is expected in Q15 - log result will be in Q25 - hence rightshift by 10. hStereoClassif->unclr_fv_fx[E_ica_instTargetGain] = L_shr( unclr_instTargetGain, Q10 ); /* Q15 */ move32(); Loading