diff --git a/lib_com/options.h b/lib_com/options.h index f37a0c7a82b280393c4cc064b7838f64e3df17c0..7c98551eb0bc737ae5e1ce6dbd481cdc4e296d0b 100644 --- a/lib_com/options.h +++ b/lib_com/options.h @@ -100,6 +100,7 @@ #define NONBE_FIX2614_LP_CNG_ASSERT /* FhG: */ #define FIX_FLOAT_1600_OMASA_WRONG_RENDER_PATH /* Nokia: float issue 1600: fix initialization condition of stereo type detection for OMASA */ #define FIX_BASOP_1765_MASA1TC_CNG_MISMATCH /* Nokia: BASOP issue 1765: Improve accuracy of FD CNG noise estimation */ +#define DEBUG_ISSUE_2622_MISS_SUM /* FhG: debugging issue 2622: Missing sum in function stereo_dft_enc_update()*/ /* ##################### End NON-BE switches ########################### */ diff --git a/lib_enc/ivas_stereo_dft_enc_fx.c b/lib_enc/ivas_stereo_dft_enc_fx.c index 91598e0fffeb98545a1781e8355ab147dda55252..bfb6494a4600405326c796c1c226d27deb4e92b4 100644 --- a/lib_enc/ivas_stereo_dft_enc_fx.c +++ b/lib_enc/ivas_stereo_dft_enc_fx.c @@ -889,6 +889,12 @@ void stereo_dft_enc_update_fx( Word16 exp; tmp = BASOP_Util_Divide3232_Scale_newton( tmp, hStereoDft->NFFT, &exp ); hStereoDft->res_cod_line_max = extract_l( L_shr( tmp, sub( 31, exp ) ) ); +#ifdef DEBUG_ISSUE_2622_MISS_SUM + Word16 exp2 = 0; + Word32 tmp2 = BASOP_Util_Add_Mant32Exp( tmp, exp, ONE_IN_Q30, 0, &exp2 ); + Word16 final_res = extract_l( L_shr( tmp2, sub( 31, exp2 ) ) ); + assert( EQ_16( hStereoDft->res_cod_line_max, final_res ) ); +#endif // DEBUG_ISSUE_2622_MISS_SUM move16(); // hStereoDft->res_cod_line_max = 8 * (hStereoDft->res_cod_line_max / 8); hStereoDft->res_cod_line_max = shl( shr( hStereoDft->res_cod_line_max, 3 ), 3 );