Commit 36eccef9 authored by vaclav's avatar vaclav
Browse files

issue 820: Double precision arithmetic in IVAS_CALCULATE_ABS(); under FIX_820_DOUBLE_PREC_MACROS

parent b15a5701
Loading
Loading
Loading
Loading
Loading
+9 −1
Original line number Diff line number Diff line
@@ -4679,11 +4679,19 @@ void ivas_td_decorr_APD_iir_filter(
    out1_re = ( in1_re * in2_re ) - ( in1_im * in2_im ); MAC(1); MULT(1);    \
    out1_im = ( in1_re * in2_im ) + ( in2_re * in1_im ); MAC(1); MULT(1);

#ifdef FIX_820_DOUBLE_PREC_MACROS
#define IVAS_CALCULATE_ABS( re, im, out ) \
    out = sqrtf( ( re * re ) + ( im * im ) ); MAC(1); MULT(1); SQRT(1);

#define IVAS_CALCULATE_RABS( re, out ) \
    out = sqrtf( re * re ); MULT(1); SQRT(1);
#else
#define IVAS_CALCULATE_ABS( re, im, out ) \
    out = (float) sqrt( ( re * re ) + ( im * im ) ); MAC(1); MULT(1); SQRT(1);

#define IVAS_CALCULATE_RABS( re, out ) \
    out = (float) sqrt( re * re ); MULT(1); SQRT(1);
    out = (float) sqrt( re * re ); MULT(1); SQRT(1);#endif
#endif

#define IVAS_CALCULATE_SQ_ABS( re, im, out ) \
    out = (float) ( ( re * re ) + ( im * im ) ); MAC(1); MULT(1);
+1 −1
Original line number Diff line number Diff line
@@ -165,7 +165,7 @@
#define FIX_818_DOUBLE_PREC_KERNEL_SW                   /* FhG: Issue 818: Avoid double precision in kernel switching */
#define FIX_822_REFACTOR_BIN_REVERB_OPEN                /* Nokia: Addresses first step of issue 822 by refactoring ivas_binaural_reverb_open */
#define FIX_847_OUTPUT_PCM_BUFFER                       /* VA: issue 847: Allocate decoder output PCM buffer dynamically */

#define FIX_820_DOUBLE_PREC_MACROS                      /* VA: issue 820: Double precision arithmetic in IVAS_CALCULATE_ABS() */

/* #################### End BE switches ################################## */