Commit 1272b3dc authored by Sandesh Venkatesh's avatar Sandesh Venkatesh
Browse files

Issue 738: Precision handling in ivas_svd_dec.c

As suggested in
#739,
a new implementation for SVD was proposed. The corresponding IVAS MR is
ivas-codec-pc/ivas-codec!1518
parent d631e089
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -61,6 +61,7 @@
#define NON_BE_FIX_1048_THRESHOLD_COH_BASOP             /* Nokia: Fix 1048 replace comparison with 0 with comparison to threshold, to align with BASOP*/
#define NONBE_FIX_1054_NEGATIVE_LVQ_INDEX               /* Nokia: issue 1054: Input to decode_comb in deindex_lvq_SHB should be positive */
#define NONBE_FIX_738_QUATERNION_SLERP_PRECISION        /* Philips: issue 738: Quaternion spherical linear interpolation precision handling issues */
#define NONBE_FIX_1069_SVD_TUNING                       /* FhG: issue 1069: tune SVD constants */
/* #################### End FIXES switches ############################ */

#define BASOP_NOGLOB                                    /* Disable global symbols in BASOPs, Overflow/Carry in BASOPs disabled, additional BASOPs in case of Overflow */
+7 −1
Original line number Diff line number Diff line
@@ -45,11 +45,17 @@
 *-----------------------------------------------------------------------*/

/* The SVD is sensitive to changes to the following constants, so please be careful when trying to tune things   */
#ifdef NONBE_FIX_1069_SVD_TUNING
#define SVD_MINIMUM_VALUE        1e-32f   /* minimum value                                                   */
#define CONVERGENCE_FACTOR       1.0e-04f /* factor for SVD convergence                                      */
#define SVD_MAX_NUM_ITERATION    75       /* maximum number of interations before exiting the SVD            */
#define SVD_ZERO_FLUSH_THRESHOLD 0.0f
#else
#define SVD_MINIMUM_VALUE        1e-32f          /* minimum value                                                   */
#define CONVERGENCE_FACTOR       1.19209290e-07f /* factor for SVD convergence                                      */
#define SVD_MAX_NUM_ITERATION    75              /* maximum number of interations before exiting the SVD            */
#define SVD_ZERO_FLUSH_THRESHOLD 1.0e-20f

#endif

/*-----------------------------------------------------------------------*
 * Local function prototypes