Commit f48af0d8 authored by Jan Kiene's avatar Jan Kiene
Browse files

store intermediate result in int32 variable

parent 296cd9fe
Loading
Loading
Loading
Loading
Loading
+8 −0
Original line number Diff line number Diff line
@@ -290,13 +290,21 @@ void tcx_hm_modify_envelope(

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

        for ( x = max( 0, k - kTcxHmParabolaHalfWidth ); x <= min( k + kTcxHmParabolaHalfWidth, L_frame - 1 ); ++x )
        {
            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 = (int16_t) (tmp >> fract_res);
#else
        k = ( h * lag ) >> fract_res;
#endif
    }

    return;
+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_966_VAR_OVERFLOW_IN_HARM_MODEL_ARI          /* FhG: fix and undef behaviour bug in the harmonic TCX model arithmetic coder */

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