scale_sig(&(synth[-(((L_frame/2)+hTcxDec->pit_max_TCX)+2*M)]),add(add(shr(L_frame,1),hTcxDec->pit_max_TCX),shl(M,1)),negate(st->Q_syn_factor));/*Q0, Setting back to Q0, as the following calculations are implemented assuming synth is in Q0 */
scale_sig(&synth[-L_frame],L_frame,negate(st->Q_syn_factor));/*Q0, Setting back to Q0, as the following calculations are implemented assuming synth is in Q0 */
#endif
Copy(st->old_Aq_12_8_fx,A_local,M+1);/*Q14*/
@@ -1777,12 +1781,17 @@ void con_tcx_ivas_fx(
Copy(synth-M,buf,M);/*Q_syn*/
#ifdef FIX_2003_CON_TCX_OVERFLOW
new_Q=sub(Q_exc,4);
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
Word16Q_syn_factor;// This q_factor is used to avoid using fixed Q0 for synth[] at the output of con_tcx_ivas_fx(). It is then used for two consecutive TCX concealment processes. It cannot be greater than 0.