Loading lib_com/options.h +2 −0 Original line number Diff line number Diff line Loading @@ -183,6 +183,8 @@ #define FIX_803_SCE_MD_HANDLE /* VA: issue 803: Resolve "MD handle needed only for one SCE" */ #define FIX_812_DOUBLE_PREC_MCT /* FhG: Issue 812: Avoid double precision in MCT */ #define FIX_807_VARIABLE_SPEED_DECODING /* FhG: Issue 807: Resolve "Variable Speed Decoding broken" */ #define FIX_818_DOUBLE_PREC_KERNEN_SW /* FhG: Issue 818: Avoid double precision in kernel switching */ /* #################### End BE switches ################################## */ Loading lib_enc/ivas_mdct_core_enc.c +8 −0 Original line number Diff line number Diff line Loading @@ -228,7 +228,11 @@ static void kernel_switch_trafo( edxt( inputBuffer, y, l / 2 + m + r / 2, kernelType, FALSE ); #ifdef FIX_818_DOUBLE_PREC_KERNEL_SW v_multc( y, sqrtf( (float) NORM_MDCT_FACTOR / ( l / 2 + m + r / 2 ) ), y, l / 2 + m + r / 2 ); #else v_multc( y, (float) sqrt( (float) NORM_MDCT_FACTOR / ( l / 2 + m + r / 2 ) ), y, l / 2 + m + r / 2 ); #endif return; } Loading Loading @@ -277,7 +281,11 @@ static void kernel_switch_update_transforms( edxt( windowedTimeSignal, sigR, s, kernelType, FALSE ); #ifdef FIX_818_DOUBLE_PREC_KERNEL_SW v_multc( sigR, sqrtf( (float) NORM_MDCT_FACTOR / s ), sigR, s ); #else v_multc( sigR, (float) sqrt( (float) NORM_MDCT_FACTOR / s ), sigR, s ); #endif } else /* 2 TCX5 subframes or 1 TCX10 or 1 transitory TCX20 */ { Loading Loading
lib_com/options.h +2 −0 Original line number Diff line number Diff line Loading @@ -183,6 +183,8 @@ #define FIX_803_SCE_MD_HANDLE /* VA: issue 803: Resolve "MD handle needed only for one SCE" */ #define FIX_812_DOUBLE_PREC_MCT /* FhG: Issue 812: Avoid double precision in MCT */ #define FIX_807_VARIABLE_SPEED_DECODING /* FhG: Issue 807: Resolve "Variable Speed Decoding broken" */ #define FIX_818_DOUBLE_PREC_KERNEN_SW /* FhG: Issue 818: Avoid double precision in kernel switching */ /* #################### End BE switches ################################## */ Loading
lib_enc/ivas_mdct_core_enc.c +8 −0 Original line number Diff line number Diff line Loading @@ -228,7 +228,11 @@ static void kernel_switch_trafo( edxt( inputBuffer, y, l / 2 + m + r / 2, kernelType, FALSE ); #ifdef FIX_818_DOUBLE_PREC_KERNEL_SW v_multc( y, sqrtf( (float) NORM_MDCT_FACTOR / ( l / 2 + m + r / 2 ) ), y, l / 2 + m + r / 2 ); #else v_multc( y, (float) sqrt( (float) NORM_MDCT_FACTOR / ( l / 2 + m + r / 2 ) ), y, l / 2 + m + r / 2 ); #endif return; } Loading Loading @@ -277,7 +281,11 @@ static void kernel_switch_update_transforms( edxt( windowedTimeSignal, sigR, s, kernelType, FALSE ); #ifdef FIX_818_DOUBLE_PREC_KERNEL_SW v_multc( sigR, sqrtf( (float) NORM_MDCT_FACTOR / s ), sigR, s ); #else v_multc( sigR, (float) sqrt( (float) NORM_MDCT_FACTOR / s ), sigR, s ); #endif } else /* 2 TCX5 subframes or 1 TCX10 or 1 transitory TCX20 */ { Loading