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

port FIX_966_VAR_OVERFLOW_IN_HARM_MODEL_ARI

parent bfc890b6
Loading
Loading
Loading
Loading
Loading
+15 −2
Original line number Diff line number Diff line
@@ -258,7 +258,12 @@ void tcx_hm_modify_envelope(
    Word16 L_frame    /* i:   number of spectral lines          Q0  */
)
{
#ifdef FIX_966_VAR_OVERFLOW_IN_HARM_MODEL_ARI
    Word32 k, h, x;
    Word16 l1, l2, L_frame_m1, L_frame_for_loop;
#else
    Word16 k, h, x, l1, l2, L_frame_m1, L_frame_for_loop;
#endif
    Word16 inv_shape[2 * kTcxHmParabolaHalfWidth + 1];

    IF( gain == 0 )
@@ -275,7 +280,11 @@ void tcx_hm_modify_envelope(

    h = 1;
    move16();
#ifdef FIX_966_VAR_OVERFLOW_IN_HARM_MODEL_ARI
    k = L_shr( lag, fract_res ); /* Q0 */
#else
    k = extract_l( L_shr( lag, fract_res ) );                     /* Q0 */
#endif

    L_frame_m1 = sub( L_frame, 1 );                                 /* Q0 */
    L_frame_for_loop = add( L_frame, kTcxHmParabolaHalfWidth - 1 ); /* Q0 */
@@ -291,7 +300,11 @@ void tcx_hm_modify_envelope(
        }

        h = add( h, 1 ); /* Q0 */
#ifdef FIX_966_VAR_OVERFLOW_IN_HARM_MODEL_ARI
        k = L_shr( W_extract_l( W_mult_32_32( lag, h ) ), fract_res ); /* Q0 */
#else
        k = extract_l( L_shr( imult3216( lag, h ), fract_res ) ); /* Q0 */
#endif
    }
}

+1 −0
Original line number Diff line number Diff line
@@ -115,6 +115,7 @@
#define NONBE_FIX_951_MCMASA_5MS_RENDERING              /* Nokia: issue #951: Differences for 5ms and 20ms rendering for McMASA at 13.2 kbps to BINAURAL */
#define NONBE_FIX_979_OSBA_STEREO_5MS                   /* FhG : issue #979 : 5ms and 20ms output different for OSBA and stereo */
#define FIX_983_DISC_ISM_DIGEST_NUM_OBJS                /* FhG: issue #983: the discrete ISM digest function uses the wrong number of objects */
#define FIX_966_VAR_OVERFLOW_IN_HARM_MODEL_ARI          /* FhG: fix and undef behaviour bug in the harmonic TCX model arithmetic coder */

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