Loading lib_dec/dec_ace_fx.c +4 −0 Original line number Diff line number Diff line Loading @@ -690,6 +690,10 @@ void decoder_acelp_fx( E_UTIL_deemph2( st->Q_syn, syn, st->preemph_fac, st->L_frame, &tmp_deemph ); /* tmp_deemph and syn in Q0 starting from here*/ bufferCopyFx( syn + shr( st->L_frame, 1 ), hTcxDec->old_syn_Overl, shr( st->L_frame, 1 ), 0 /*Qf_syn*/, -1 /*Qf_old_xnq*/, 0, 0 /*Q_old_xnq*/ ); #ifdef FIX_1348_BIT_PRECISION_IMPROVEMENT st->hTcxDec->Q_old_syn_Overl = sub( st->Q_syn, 1 ); move16(); #endif Copy( syn + sub( st->L_frame, M + 1 ), st->syn, 1 + M ); /*Q0*/ Loading lib_dec/er_dec_acelp_fx.c +8 −1 Original line number Diff line number Diff line Loading @@ -1018,6 +1018,10 @@ void con_acelp_fx( Copy( syn, synth, st->L_frame ); bufferCopyFx( syn + sub( st->L_frame, shr( st->L_frame, 1 ) ), hTcxDec->old_syn_Overl, shr( st->L_frame, 1 ), 0 /*Qf_syn*/, -1 /*Qf_old_xnq*/, 0, 0 /*Q_old_xnq*/ ); #ifdef FIX_1348_BIT_PRECISION_IMPROVEMENT st->hTcxDec->Q_old_syn_Overl = sub( Qf_syn, 1 ); move16(); #endif /* save last half frame if next frame is TCX */ bufferCopyFx( syn + st->L_frame, hTcxDec->syn_Overl_TDAC, shr( st->L_frame, 1 ), 0 /*Qf_syn*/, -1 /*Qf_old_xnq*/, 0, 0 /*Q_old_xnq*/ ); Loading Loading @@ -1057,7 +1061,10 @@ void con_acelp_fx( move16(); } set16_fx( &hHQ_core->old_out_LB_fx[( W1 + n )], 0, n ); #ifndef FIX_1348_BIT_PRECISION_IMPROVEMENT #ifdef FIX_1348_BIT_PRECISION_IMPROVEMENT hHQ_core->Q_old_wtda_LB = st->Q_syn; move16(); #else hHQ_core->Q_old_wtda = hHQ_core->Q_old_wtda_LB; move16(); #endif Loading lib_dec/er_dec_tcx_fx.c +10 −0 Original line number Diff line number Diff line Loading @@ -843,7 +843,15 @@ void con_tcx_fx( lerp( syn + sub( L_frame, shr( L_frame, 1 ) ), hTcxDec->old_syn_Overl, shr( st->L_frame, 1 ), shr( L_frame, 1 ) ); #ifdef FIX_1348_BIT_PRECISION_IMPROVEMENT st->hTcxDec->Q_old_syn_Overl = Q_syn; move16(); #endif Copy( syn + sub( L_frame, n ), hHQ_core->old_out_fx, sub( L_frame, n ) ); /*Q_syn*/ #ifdef FIX_1348_BIT_PRECISION_IMPROVEMENT hHQ_core->Q_old_wtda = Q_syn; move16(); #endif FOR( i = 0; i < W12; i++ ) { Loading Loading @@ -934,7 +942,9 @@ void con_tcx_fx( move16(); /* update memory for low band */ #ifndef FIX_1348_BIT_PRECISION_IMPROVEMENT Scale_sig( hTcxDec->old_syn_Overl, shr( st->L_frame, 1 ), sub( -1, Q_syn ) ); /*Q_syn*/ #endif lerp( hTcxDec->syn_OverlFB, hTcxDec->syn_Overl, shr( st->L_frame, 1 ), shr( L_frame, 1 ) ); #ifdef FIX_1348_BIT_PRECISION_IMPROVEMENT hTcxDec->Q_syn_Overl = hTcxDec->Q_syn_OverlFB; Loading lib_dec/updt_dec_fx.c +4 −0 Original line number Diff line number Diff line Loading @@ -1207,6 +1207,10 @@ void update_decoder_LPD_cng( Copy( hTcxDec->old_synth + st->L_frame, hTcxDec->old_synth, sub( hTcxDec->old_synth_len, st->L_frame ) ); Copy( synth, hTcxDec->old_synth + sub( hTcxDec->old_synth_len, st->L_frame ), st->L_frame ); bufferCopyFx( synth + sub( st->L_frame, ( st->L_frame / 2 ) ), hTcxDec->old_syn_Overl, st->L_frame / 2, 0 /*Qf_syn*/, -1 /*Qf_old_xnq*/, 0, 0 /*Q_old_xnq*/ ); #ifdef FIX_1348_BIT_PRECISION_IMPROVEMENT st->hTcxDec->Q_old_syn_Overl = sub( st->Q_syn, 1 ); move16(); #endif hTcxDec->tcxltp_last_gain_unmodified = 0; move16(); Loading Loading
lib_dec/dec_ace_fx.c +4 −0 Original line number Diff line number Diff line Loading @@ -690,6 +690,10 @@ void decoder_acelp_fx( E_UTIL_deemph2( st->Q_syn, syn, st->preemph_fac, st->L_frame, &tmp_deemph ); /* tmp_deemph and syn in Q0 starting from here*/ bufferCopyFx( syn + shr( st->L_frame, 1 ), hTcxDec->old_syn_Overl, shr( st->L_frame, 1 ), 0 /*Qf_syn*/, -1 /*Qf_old_xnq*/, 0, 0 /*Q_old_xnq*/ ); #ifdef FIX_1348_BIT_PRECISION_IMPROVEMENT st->hTcxDec->Q_old_syn_Overl = sub( st->Q_syn, 1 ); move16(); #endif Copy( syn + sub( st->L_frame, M + 1 ), st->syn, 1 + M ); /*Q0*/ Loading
lib_dec/er_dec_acelp_fx.c +8 −1 Original line number Diff line number Diff line Loading @@ -1018,6 +1018,10 @@ void con_acelp_fx( Copy( syn, synth, st->L_frame ); bufferCopyFx( syn + sub( st->L_frame, shr( st->L_frame, 1 ) ), hTcxDec->old_syn_Overl, shr( st->L_frame, 1 ), 0 /*Qf_syn*/, -1 /*Qf_old_xnq*/, 0, 0 /*Q_old_xnq*/ ); #ifdef FIX_1348_BIT_PRECISION_IMPROVEMENT st->hTcxDec->Q_old_syn_Overl = sub( Qf_syn, 1 ); move16(); #endif /* save last half frame if next frame is TCX */ bufferCopyFx( syn + st->L_frame, hTcxDec->syn_Overl_TDAC, shr( st->L_frame, 1 ), 0 /*Qf_syn*/, -1 /*Qf_old_xnq*/, 0, 0 /*Q_old_xnq*/ ); Loading Loading @@ -1057,7 +1061,10 @@ void con_acelp_fx( move16(); } set16_fx( &hHQ_core->old_out_LB_fx[( W1 + n )], 0, n ); #ifndef FIX_1348_BIT_PRECISION_IMPROVEMENT #ifdef FIX_1348_BIT_PRECISION_IMPROVEMENT hHQ_core->Q_old_wtda_LB = st->Q_syn; move16(); #else hHQ_core->Q_old_wtda = hHQ_core->Q_old_wtda_LB; move16(); #endif Loading
lib_dec/er_dec_tcx_fx.c +10 −0 Original line number Diff line number Diff line Loading @@ -843,7 +843,15 @@ void con_tcx_fx( lerp( syn + sub( L_frame, shr( L_frame, 1 ) ), hTcxDec->old_syn_Overl, shr( st->L_frame, 1 ), shr( L_frame, 1 ) ); #ifdef FIX_1348_BIT_PRECISION_IMPROVEMENT st->hTcxDec->Q_old_syn_Overl = Q_syn; move16(); #endif Copy( syn + sub( L_frame, n ), hHQ_core->old_out_fx, sub( L_frame, n ) ); /*Q_syn*/ #ifdef FIX_1348_BIT_PRECISION_IMPROVEMENT hHQ_core->Q_old_wtda = Q_syn; move16(); #endif FOR( i = 0; i < W12; i++ ) { Loading Loading @@ -934,7 +942,9 @@ void con_tcx_fx( move16(); /* update memory for low band */ #ifndef FIX_1348_BIT_PRECISION_IMPROVEMENT Scale_sig( hTcxDec->old_syn_Overl, shr( st->L_frame, 1 ), sub( -1, Q_syn ) ); /*Q_syn*/ #endif lerp( hTcxDec->syn_OverlFB, hTcxDec->syn_Overl, shr( st->L_frame, 1 ), shr( L_frame, 1 ) ); #ifdef FIX_1348_BIT_PRECISION_IMPROVEMENT hTcxDec->Q_syn_Overl = hTcxDec->Q_syn_OverlFB; Loading
lib_dec/updt_dec_fx.c +4 −0 Original line number Diff line number Diff line Loading @@ -1207,6 +1207,10 @@ void update_decoder_LPD_cng( Copy( hTcxDec->old_synth + st->L_frame, hTcxDec->old_synth, sub( hTcxDec->old_synth_len, st->L_frame ) ); Copy( synth, hTcxDec->old_synth + sub( hTcxDec->old_synth_len, st->L_frame ), st->L_frame ); bufferCopyFx( synth + sub( st->L_frame, ( st->L_frame / 2 ) ), hTcxDec->old_syn_Overl, st->L_frame / 2, 0 /*Qf_syn*/, -1 /*Qf_old_xnq*/, 0, 0 /*Q_old_xnq*/ ); #ifdef FIX_1348_BIT_PRECISION_IMPROVEMENT st->hTcxDec->Q_old_syn_Overl = sub( st->Q_syn, 1 ); move16(); #endif hTcxDec->tcxltp_last_gain_unmodified = 0; move16(); Loading