Commit a3e8b707 authored by Archit Tamarapu's avatar Archit Tamarapu
Browse files

port NONBE_FIX_1091_PMC_LOW_SIGNAL_BURSTS

parent 06323e73
Loading
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -221,6 +221,7 @@
#define FIX_1001_ARI_HM_OVERFLOW                        /* FhG: fix for undef behaviour in in the harmonic TCX model arithmetic coder */
#define NONBE_FIX_1005_MC_RS_TCBUFFER_UPDATE            /* FhG: issue #1005: fix TC Buffer update at a MC rate switch */
#define NONBE_FIX_1004_USAN_DTX_MASA_NO_DIRS             /* Nokia: fix USAN error caused by non-setting of correctly the number of MASA directions in DTX */
#define NONBE_FIX_1091_PMC_LOW_SIGNAL_BURSTS            /* FhG: fix for #1091, fix limit calculation for the regularized inverse of Kx to avoid bursts in very low signals */

/* #################### End BASOP porting switches ############################ */

+11 −0
Original line number Diff line number Diff line
@@ -51,6 +51,13 @@
#include "wmc_auto.h"
#include "rom_dec.h"

#ifdef NONBE_FIX_1091_PMC_LOW_SIGNAL_BURSTS
/*-----------------------------------------------------------------------*
 * Local constants
 *-----------------------------------------------------------------------*/

#define SQRT_EPSILON 3.16227755e-08 /* square root of EPSILON */
#endif

/*-------------------------------------------------------------------*
 * ivas_dirac_dec_output_synthesis_cov_open()
@@ -574,7 +581,11 @@ int16_t computeMixingMatrices(
     *-----------------------------------------------------------------*/

    maximum( svd_s_buffer, lengthCx, &limit );
#ifdef NONBE_FIX_1091_PMC_LOW_SIGNAL_BURSTS
    limit = (float) max( limit * reg_Sx, SQRT_EPSILON );
#else
    limit = limit * reg_Sx + EPSILON;
#endif

    for ( i = 0; i < lengthCx; ++i )
    {