Loading lib_dec/er_dec_tcx_fx.c +16 −5 Original line number Diff line number Diff line Loading @@ -785,10 +785,21 @@ void con_tcx_fx( syn = buf + M; /*Q_syn*/ Copy( synth - M, buf, M ); /*Q_syn*/ #ifdef FIX_1793_DEC_MC_TO_MONO_SCALING_ISSUE IF( NE_32( st->element_mode, EVS_MONO ) ) // to keep evs bit-exactness { scf = norm_s( tmp_deemph ); new_Q = sub( Q_exc, 4 ); new_Q = s_max( new_Q, -1 ); new_Q = s_min( new_Q, scf ); } ELSE { new_Q = sub( Q_exc, 3 ); new_Q = s_max( new_Q, -1 ); scf = 0; move16(); } #else new_Q = sub( Q_exc, 3 ); new_Q = s_max( new_Q, -1 ); Loading @@ -804,7 +815,7 @@ void con_tcx_fx( Copy_Scale_sig( buf, mem_syn, M, exp_scale ); /*Q: tmp16*/ #ifdef FIX_1793_DEC_MC_TO_MONO_SCALING_ISSUE if ( GT_16( sub( Q_syn, st->Q_syn_factor ), scf ) ) if ( NE_32( st->element_mode, EVS_MONO ) && 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; } Loading Loading
lib_dec/er_dec_tcx_fx.c +16 −5 Original line number Diff line number Diff line Loading @@ -785,10 +785,21 @@ void con_tcx_fx( syn = buf + M; /*Q_syn*/ Copy( synth - M, buf, M ); /*Q_syn*/ #ifdef FIX_1793_DEC_MC_TO_MONO_SCALING_ISSUE IF( NE_32( st->element_mode, EVS_MONO ) ) // to keep evs bit-exactness { scf = norm_s( tmp_deemph ); new_Q = sub( Q_exc, 4 ); new_Q = s_max( new_Q, -1 ); new_Q = s_min( new_Q, scf ); } ELSE { new_Q = sub( Q_exc, 3 ); new_Q = s_max( new_Q, -1 ); scf = 0; move16(); } #else new_Q = sub( Q_exc, 3 ); new_Q = s_max( new_Q, -1 ); Loading @@ -804,7 +815,7 @@ void con_tcx_fx( Copy_Scale_sig( buf, mem_syn, M, exp_scale ); /*Q: tmp16*/ #ifdef FIX_1793_DEC_MC_TO_MONO_SCALING_ISSUE if ( GT_16( sub( Q_syn, st->Q_syn_factor ), scf ) ) if ( NE_32( st->element_mode, EVS_MONO ) && 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; } Loading