Commit 9fb2ce5d authored by Arash Azizi's avatar Arash Azizi
Browse files

issue: 2446 harmonizing further skipped places - reverting one wrong change

parent f26e4b73
Loading
Loading
Loading
Loading
Loading
+32 −6
Original line number Diff line number Diff line
@@ -1872,11 +1872,24 @@ void con_tcx_ivas_fx(
    syn = buf + M;             /*Q_syn*/
    Copy( synth - M, buf, M ); /*Q_syn*/

#ifdef HARMONIZE_2446_CON_TCX_FX
    IF(NE_32(st->element_mode, EVS_MONO)) // to keep evs bit-exactness
    {
#endif // HARMONIZE_2446_CON_TCX_FX
        scf = norm_s(tmp_deemph);
        new_Q = sub(Q_exc, 4); // deemph_fx filter gain can be up to 10 (~2^3.32), so 4 bits of headroom are needed to avoid overflow
        new_Q = s_max(new_Q, -1);
        new_Q = s_min(new_Q, scf);

#ifdef HARMONIZE_2446_CON_TCX_FX
    }
    ELSE
    {
        new_Q = sub(Q_exc, 3);
        new_Q = s_max(new_Q, -1);
        scf = 0;
        move16();
    }
#endif // HARMONIZE_2446_CON_TCX_FX
    tmp16 = s_min( new_Q, st->prev_Q_syn );
    st->prev_Q_syn = new_Q;
    move16();
@@ -1886,11 +1899,24 @@ void con_tcx_ivas_fx(
    move16();

    Copy_Scale_sig( buf, mem_syn, M, exp_scale ); /* Q: tmp16 */
#ifdef HARMONIZE_2446_CON_TCX_FX
    IF(NE_32(st->element_mode, EVS_MONO))     // to keep evs bit-exactness
    {
#endif // !HARMONIZE_2446_CON_TCX_FX
    if ( GT_16( sub( Q_syn, st->Q_syn_factor ), scf ) )
    {
        Q_syn = add( scf, st->Q_syn_factor ); // so that (Q_syn - st->Q_syn_factor) = scf;
    }
    tmp_deemph = shl( tmp_deemph, sub( Q_syn, st->Q_syn_factor ) );
#ifdef HARMONIZE_2446_CON_TCX_FX
    }
    ELSE
    {
        tmp_deemph = shl_sat(tmp_deemph, Q_syn); /*Q_syn*/
        st->Q_syn_factor = 0;
        move16();
    }
#endif // !HARMONIZE_2446_CON_TCX_FX
    st->Q_syn = Q_syn;
    move16();

@@ -2139,7 +2165,7 @@ void con_tcx_ivas_fx(
#ifndef HARMONIZE_2446_CON_TCX_FX
    st->hHQ_core->Q_old_wtda_LB = Q_syn; // st->hHQ_core->Q_old_wtda
#else
    IF( NE_16( st->element_mode, EVS_MONO ) )
    IF( EQ_16( st->element_mode, EVS_MONO ) )
    {
        st->hHQ_core->Q_old_wtda_LB = Q_syn; // st->hHQ_core->Q_old_wtda
    }