Commit 616854b7 authored by Jan Kiene's avatar Jan Kiene
Browse files

Merge branch 'fix-966-var-overflow-in-harm-model-ari' into 'main'

Fix FIX_966_VAR_OVERFLOW_IN_HARM_MODEL_ARI

See merge request !1385
parents 3672f2fc 7ea7b0cb
Loading
Loading
Loading
Loading
Loading
+1 −15
Original line number Diff line number Diff line
@@ -273,8 +273,7 @@ void tcx_hm_modify_envelope(
)
{
#ifdef FIX_966_VAR_OVERFLOW_IN_HARM_MODEL_ARI
    int16_t h, x;
    int32_t k;
    int32_t h, x, k;
#else
    int16_t k, h, x;
#endif
@@ -295,25 +294,12 @@ void tcx_hm_modify_envelope(

    while ( k <= L_frame + kTcxHmParabolaHalfWidth - 1 )
    {
#ifdef FIX_966_VAR_OVERFLOW_IN_HARM_MODEL_ARI
        int32_t tmp;
#endif

#ifdef FIX_966_VAR_OVERFLOW_IN_HARM_MODEL_ARI
        for ( x = (int16_t) max( 0, k - kTcxHmParabolaHalfWidth ); x <= (int16_t) min( k + kTcxHmParabolaHalfWidth, L_frame - 1 ); ++x )
#else
        for ( x = max( 0, k - kTcxHmParabolaHalfWidth ); x <= min( k + kTcxHmParabolaHalfWidth, L_frame - 1 ); ++x )
#endif
        {
            env[x] = Mpy_32_16( env[x], inv_shape[x - k + kTcxHmParabolaHalfWidth] );
        }
        ++h;
#ifdef FIX_966_VAR_OVERFLOW_IN_HARM_MODEL_ARI
        tmp = ( h * lag );
        k = tmp >> fract_res;
#else
        k = ( h * lag ) >> fract_res;
#endif
    }

    return;
+1 −1
Original line number Diff line number Diff line
@@ -156,7 +156,7 @@
#define FIX_963_USAN_ERROR                              /* Eri: Issue 963: USAN error in Stereo CNG, division by zero */
#define FIX_971_LOG2_IDX_GAIN_0                         /* VA: prevent -Inf due to log2(ratio==0) */
#define FIX_ACCESS_WITHIN_NULL_STRUCT_MC_BW_SWITCHING   /* FhG: fix usan error in MCT with bw swicthing */
// #define FIX_966_VAR_OVERFLOW_IN_HARM_MODEL_ARI          /* FhG: fix and undef behaviour bug in the harmonic TCX model arithmetic coder */
#define FIX_966_VAR_OVERFLOW_IN_HARM_MODEL_ARI          /* FhG: fix and undef behaviour bug in the harmonic TCX model arithmetic coder */
#define FIX_983_DISC_ISM_DIGEST_NUM_OBJS                /* FhG: issue #983: the discrete ISM digest function uses the wrong number of objects */