Commit 6533802a authored by vaclav's avatar vaclav
Browse files

Merge branch...

Merge branch '971-usan-error-in-swb_tbe_enc-c-inf-is-outside-the-range-of-representable-values-of-type-short-for' into 'main'

Resolve "USAN error in swb_tbe_enc.c: "-inf is outside the range of representable values of type 'short'" for OMASA encoding"

See merge request !1342
parents 7097cb8f c09627af
Loading
Loading
Loading
Loading
Loading

lib_com/options.h

100755 → 100644
+1 −0
Original line number Diff line number Diff line
@@ -158,6 +158,7 @@
#define FIX_955_FASTCONV_REND_IN_ISM                    /* VA: put FastConv rendering call under DEBUGGING */
#define FIX_969_USAN_IGF_ARITH                          /* FhG: issue 969: fix USAN error in igf_sce_dec; same issue as #962 */
#define FIX_959_MASA_LINEAR_REND                        /* VA: issue 959: remove unused calling of ivas_sba_linear_renderer() in MASA rendering */
#define FIX_971_LOG2_IDX_GAIN_0                         /* VA: prevent -Inf due to log2(ratio==0) */

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

+6 −0
Original line number Diff line number Diff line
@@ -2738,6 +2738,12 @@ void fb_tbe_enc(
    hBWE_TD->prev_fb_energy = sum2_f( input_fhb + L_FRAME48k / 2, L_FRAME48k / 2 );
    fb_exc_energy = sum2_f( fb_exc, L_FRAME16k ) + EPSILON;
    ratio = (float) sqrt( temp2 / fb_exc_energy );
#ifdef FIX_971_LOG2_IDX_GAIN_0
    if ( ratio < 1.0f )
    {
        ratio = 1.0f;
    }
#endif
    idxGain = (int16_t) ( log2_f( (float) ratio ) + 0.5f );
    idxGain = max( 0, min( 15, idxGain ) );
    ratio = (float) ( 1 << idxGain );