diff --git a/lib_com/cldfb_fx.c b/lib_com/cldfb_fx.c index 8c3331a3115886baed6f1c7dea632cac932eeb1a..92f0f5418d5c78d296334c6f56e3e0ad592ee36d 100644 --- a/lib_com/cldfb_fx.c +++ b/lib_com/cldfb_fx.c @@ -1166,13 +1166,27 @@ void cldfbSynthesis_ivas_fx( FOR( i = 0; i < M1; i++ ) { Word32 cplx_aux; +#ifdef FIX_2092_ASSERT_IN_OMASA_RENDER_OBJECTS + Word32 cplx_aux1; +#endif /* delay */ /*cplxMult(&rBuffer[i], &iBuffer[i], realBuffer[k][i], imagBuffer[k][i], cos((EVS_PI/M1)*(i+0.5)*(-(h_cldfb->ds-M1)*0.5)), sin((EVS_PI/M1)*(i+0.5)*(-(h_cldfb->ds-M1)*0.5)));*/ /*cplxMult(&rBuffer[i], &iBuffer[i], realBuffer[k][i], imagBuffer[k][i], rot_vctr_delay_re[i], rot_vctr_delay_im[i]);*/ /*cplxMult(&realBuffer[k][i], &imagBuffer[k][i], realBuffer[k][i], imagBuffer[k][i], rot_vctr_delay_re[i], rot_vctr_delay_im[i]);*/ +#ifdef FIX_2092_ASSERT_IN_OMASA_RENDER_OBJECTS + cplx_aux = Mpy_32_32( realBuffer_fx[k][i], rot_vctr_delay_re_fx[i] ); + cplx_aux1 = Mpy_32_32( imagBuffer_fx[k][i], rot_vctr_delay_im_fx[i] ); + cplx_aux = L_sub_sat( cplx_aux, cplx_aux1 ); + + cplx_aux1 = Mpy_32_32( realBuffer_fx[k][i], rot_vctr_delay_im_fx[i] ); + imagBuffer_fx[k][i] = Mpy_32_32( imagBuffer_fx[k][i], rot_vctr_delay_re_fx[i] ); + imagBuffer_fx[k][i] = L_add_sat( cplx_aux1, imagBuffer_fx[k][i] ); +#else cplx_aux = Msub_32_32( Mpy_32_32( realBuffer_fx[k][i], rot_vctr_delay_re_fx[i] ), imagBuffer_fx[k][i], rot_vctr_delay_im_fx[i] ); // Qx imagBuffer_fx[k][i] = Madd_32_32( Mpy_32_32( realBuffer_fx[k][i], rot_vctr_delay_im_fx[i] ), imagBuffer_fx[k][i], rot_vctr_delay_re_fx[i] ); +#endif + move32(); realBuffer_fx[k][i] = cplx_aux; move32(); diff --git a/lib_com/options.h b/lib_com/options.h index 099a8cdd8242790652fe43c9d1ed79ac902afaa8..d4b5fdaa5010f8f244aba768487de2bcb4cbb3a6 100644 --- a/lib_com/options.h +++ b/lib_com/options.h @@ -114,6 +114,7 @@ #define FIX_2083_FLOATING_POINT_LEFTOVERS /* FhG: convert floating-point leftovers in makeCustomLsSetup()*/ #define FIX_2085_FLOATING_POINT_LEFTOVERS /* FhG: convert floating-point leftovers in ivas_dirac_config_fx() */ +#define FIX_2092_ASSERT_IN_OMASA_RENDER_OBJECTS /* Nokia: fixes assert in for +10 dB OMASA rate switching bitstream from float encoder. */ /* #################### Start BASOP porting switches ############################ */ #define NONBE_1244_FIX_SWB_BWE_MEMORY /* VA: issue 1244: fix to SWB BWE memory in case of switching from FB coding - pending a review by Huawei */