Loading lib_com/ivas_prot_fx.h +14 −14 Original line number Diff line number Diff line Loading @@ -798,8 +798,8 @@ void ivas_post_proc_fx( Word32 synth[], /* i/o: output synthesis signal */ Word32 *output[CPE_CHANNELS], /* i/o: output synthesis signal */ const Word16 output_frame, /* i : output frame length */ const Word16 sba_dirac_stereo_flag /* i : signal stereo output for SBA DirAC */ ); const Word16 sba_dirac_stereo_flag, /* i : signal stereo output for SBA DirAC */ Word16 output_q ); #endif // ivas_lfe_dec_fx.c Loading Loading @@ -1703,8 +1703,8 @@ void synchro_synthesis_fx( CPE_DEC_HANDLE hCPE, /* i/o: CPE decoder structure */ Word32 *output_fx[CPE_CHANNELS], /* i/o: output synthesis signal */ const Word16 output_frame, /* i : Number of samples */ const Word16 sba_dirac_stereo_flag /* i : signal stereo output for SBA DirAC */ ); const Word16 sba_dirac_stereo_flag, /* i : signal stereo output for SBA DirAC */ Word16 output_fx_q ); // ivas_dirac_output_synthesis_cov void ivas_dirac_dec_output_synthesis_cov_param_mc_collect_slot_fx( Loading lib_com/prot_fx.h +2 −1 Original line number Diff line number Diff line Loading @@ -5273,7 +5273,8 @@ void tcx_ltp_post32( Word16 output_frame, Word16 delay, Word32 *sig, Word32 *tcx_buf ); Word32 *tcx_buf, Word16 sig_q ); // gs_inact_switching_fx.c void Inac_swtch_ematch_fx( Loading lib_com/tcx_ltp_fx.c +8 −2 Original line number Diff line number Diff line Loading @@ -1669,7 +1669,8 @@ void tcx_ltp_post32( Word16 output_frame, Word16 delay, Word32 *sig, Word32 *tcx_buf ) Word32 *tcx_buf, Word16 sig_q ) { Word16 tmp, L_transition, lpcorder, filtIdx; Word16 gain, gain2; Loading Loading @@ -1744,16 +1745,19 @@ void tcx_ltp_post32( /* Input buffer */ sig_in = buf_in + tcx_buf_len; Copy32( hTcxLtpDec->tcxltp_mem_in_32, buf_in, tcx_buf_len ); scale_sig32( buf_in, tcx_buf_len, sub( hTcxLtpDec->exp_tcxltp_mem_in, sub( 31, sig_q ) ) ); Copy32( sig, buf_in + tcx_buf_len, output_frame ); IF( core > ACELP_CORE ) { Copy32( tcx_buf, sig_in + output_frame, tcx_buf_len ); } Copy32( sig + output_frame - tcx_buf_len, hTcxLtpDec->tcxltp_mem_in_32, tcx_buf_len ); hTcxLtpDec->exp_tcxltp_mem_in = sub( 31, sig_q ); move16(); /* Output buffer */ sig_out = buf_out + output_frame; Copy32( hTcxLtpDec->tcxltp_mem_out_32, buf_out, output_frame ); scale_sig32( buf_out, output_frame, sub( hTcxLtpDec->exp_tcxltp_mem_out, sub( 31, sig_q ) ) ); /* TCX-LTP parameters: integer pitch, fractional pitch, gain */ test(); Loading Loading @@ -2015,4 +2019,6 @@ void tcx_ltp_post32( move16(); st->pit_res_max_past = st->pit_res_max; Copy32( sig_out, hTcxLtpDec->tcxltp_mem_out_32, output_frame ); hTcxLtpDec->exp_tcxltp_mem_out = sub( 31, sig_q ); move16(); } lib_dec/core_dec_init_fx.c +4 −0 Original line number Diff line number Diff line Loading @@ -1144,6 +1144,10 @@ void tcxltp_dec_init_fx( set16_fx( hTcxLtpDec->tcxltp_mem_out, 0, L_FRAME48k ); set32_fx( hTcxLtpDec->tcxltp_mem_in_32, 0, TCXLTP_MAX_DELAY ); set32_fx( hTcxLtpDec->tcxltp_mem_out_32, 0, L_FRAME48k ); hTcxLtpDec->exp_tcxltp_mem_in = 0; move16(); hTcxLtpDec->exp_tcxltp_mem_out = 0; move16(); hTcxLtpDec->tcxltp_pitch_int_post_prev = 0; move16(); hTcxLtpDec->tcxltp_pitch_fr_post_prev = 0; Loading lib_dec/ivas_core_dec.c +1 −1 Original line number Diff line number Diff line Loading @@ -1536,7 +1536,7 @@ ivas_error ivas_core_dec_fx( test(); IF( NE_16( st->element_mode, IVAS_CPE_MDCT ) || sba_dirac_stereo_flag ) { ivas_post_proc_fx( hSCE, hCPE, n, synth_32_fx[n], NULL, output_frame, sba_dirac_stereo_flag ); ivas_post_proc_fx( hSCE, hCPE, n, synth_32_fx[n], NULL, output_frame, sba_dirac_stereo_flag, Q11 ); } /* update OLA buffers - needed for switching to DFT stereo */ Loading Loading
lib_com/ivas_prot_fx.h +14 −14 Original line number Diff line number Diff line Loading @@ -798,8 +798,8 @@ void ivas_post_proc_fx( Word32 synth[], /* i/o: output synthesis signal */ Word32 *output[CPE_CHANNELS], /* i/o: output synthesis signal */ const Word16 output_frame, /* i : output frame length */ const Word16 sba_dirac_stereo_flag /* i : signal stereo output for SBA DirAC */ ); const Word16 sba_dirac_stereo_flag, /* i : signal stereo output for SBA DirAC */ Word16 output_q ); #endif // ivas_lfe_dec_fx.c Loading Loading @@ -1703,8 +1703,8 @@ void synchro_synthesis_fx( CPE_DEC_HANDLE hCPE, /* i/o: CPE decoder structure */ Word32 *output_fx[CPE_CHANNELS], /* i/o: output synthesis signal */ const Word16 output_frame, /* i : Number of samples */ const Word16 sba_dirac_stereo_flag /* i : signal stereo output for SBA DirAC */ ); const Word16 sba_dirac_stereo_flag, /* i : signal stereo output for SBA DirAC */ Word16 output_fx_q ); // ivas_dirac_output_synthesis_cov void ivas_dirac_dec_output_synthesis_cov_param_mc_collect_slot_fx( Loading
lib_com/prot_fx.h +2 −1 Original line number Diff line number Diff line Loading @@ -5273,7 +5273,8 @@ void tcx_ltp_post32( Word16 output_frame, Word16 delay, Word32 *sig, Word32 *tcx_buf ); Word32 *tcx_buf, Word16 sig_q ); // gs_inact_switching_fx.c void Inac_swtch_ematch_fx( Loading
lib_com/tcx_ltp_fx.c +8 −2 Original line number Diff line number Diff line Loading @@ -1669,7 +1669,8 @@ void tcx_ltp_post32( Word16 output_frame, Word16 delay, Word32 *sig, Word32 *tcx_buf ) Word32 *tcx_buf, Word16 sig_q ) { Word16 tmp, L_transition, lpcorder, filtIdx; Word16 gain, gain2; Loading Loading @@ -1744,16 +1745,19 @@ void tcx_ltp_post32( /* Input buffer */ sig_in = buf_in + tcx_buf_len; Copy32( hTcxLtpDec->tcxltp_mem_in_32, buf_in, tcx_buf_len ); scale_sig32( buf_in, tcx_buf_len, sub( hTcxLtpDec->exp_tcxltp_mem_in, sub( 31, sig_q ) ) ); Copy32( sig, buf_in + tcx_buf_len, output_frame ); IF( core > ACELP_CORE ) { Copy32( tcx_buf, sig_in + output_frame, tcx_buf_len ); } Copy32( sig + output_frame - tcx_buf_len, hTcxLtpDec->tcxltp_mem_in_32, tcx_buf_len ); hTcxLtpDec->exp_tcxltp_mem_in = sub( 31, sig_q ); move16(); /* Output buffer */ sig_out = buf_out + output_frame; Copy32( hTcxLtpDec->tcxltp_mem_out_32, buf_out, output_frame ); scale_sig32( buf_out, output_frame, sub( hTcxLtpDec->exp_tcxltp_mem_out, sub( 31, sig_q ) ) ); /* TCX-LTP parameters: integer pitch, fractional pitch, gain */ test(); Loading Loading @@ -2015,4 +2019,6 @@ void tcx_ltp_post32( move16(); st->pit_res_max_past = st->pit_res_max; Copy32( sig_out, hTcxLtpDec->tcxltp_mem_out_32, output_frame ); hTcxLtpDec->exp_tcxltp_mem_out = sub( 31, sig_q ); move16(); }
lib_dec/core_dec_init_fx.c +4 −0 Original line number Diff line number Diff line Loading @@ -1144,6 +1144,10 @@ void tcxltp_dec_init_fx( set16_fx( hTcxLtpDec->tcxltp_mem_out, 0, L_FRAME48k ); set32_fx( hTcxLtpDec->tcxltp_mem_in_32, 0, TCXLTP_MAX_DELAY ); set32_fx( hTcxLtpDec->tcxltp_mem_out_32, 0, L_FRAME48k ); hTcxLtpDec->exp_tcxltp_mem_in = 0; move16(); hTcxLtpDec->exp_tcxltp_mem_out = 0; move16(); hTcxLtpDec->tcxltp_pitch_int_post_prev = 0; move16(); hTcxLtpDec->tcxltp_pitch_fr_post_prev = 0; Loading
lib_dec/ivas_core_dec.c +1 −1 Original line number Diff line number Diff line Loading @@ -1536,7 +1536,7 @@ ivas_error ivas_core_dec_fx( test(); IF( NE_16( st->element_mode, IVAS_CPE_MDCT ) || sba_dirac_stereo_flag ) { ivas_post_proc_fx( hSCE, hCPE, n, synth_32_fx[n], NULL, output_frame, sba_dirac_stereo_flag ); ivas_post_proc_fx( hSCE, hCPE, n, synth_32_fx[n], NULL, output_frame, sba_dirac_stereo_flag, Q11 ); } /* update OLA buffers - needed for switching to DFT stereo */ Loading