Loading lib_dec/acelp_core_switch_dec_fx.c +1 −3 Original line number Original line Diff line number Diff line Loading @@ -848,9 +848,7 @@ ivas_error acelp_core_switch_dec_bfi_ivas_fx( st_fx->cldfbSyn->Q_cldfb_state = sub( st_fx->cldfbSyn->Q_cldfb_state, 1 ); st_fx->cldfbSyn->Q_cldfb_state = sub( st_fx->cldfbSyn->Q_cldfb_state, 1 ); Copy_Scale_sig_32_16( synth32, synth_out, L_FRAME48k, -5 ); Copy_Scale_sig_32_16( synth32, synth_out, L_FRAME48k, -5 ); /* output to Q0 */ Scale_sig( synth_out, L_FRAME48k, negate( st_fx->Q_syn ) ); Copy_Scale_sig32_16( syn32, synth_out, L_FRAME16k, -5 ); // Scale_sig(synth_out,L_FRAME48k, negate(st_fx->Q_syn)); cldfb_restore_memory_ivas_fx( st_fx->cldfbSyn ); cldfb_restore_memory_ivas_fx( st_fx->cldfbSyn ); Loading lib_dec/dec_tcx_fx.c +1 −1 Original line number Original line Diff line number Diff line Loading @@ -3299,7 +3299,7 @@ void IMDCT_ivas_fx( FOR( ; i < tcx_mdct_window_half_length; i++ ) FOR( ; i < tcx_mdct_window_half_length; i++ ) { { xn_buf_fx[sub( add( i, shr( overlap, 1 ) ), tcx_offset )] = mult_r( xn_buf_fx[sub( add( i, shr( overlap, 1 ) ), tcx_offset )], tcx_mdct_window_half_fx[sub( tcx_mdct_window_half_length, add( 1, i ) )].v.re ); xn_buf_fx[sub( add( i, shr( overlap, 1 ) ), tcx_offset )] = mult_r( xn_buf_fx[sub( add( i, shr( overlap, 1 ) ), tcx_offset )], tcx_mdct_window_half_fx[sub( tcx_mdct_window_half_length, add( 1, i ) )].v.re ); xn_buf_fx[sub( add( i, shr( overlap, 1 ) ), tcx_offset )] = add( xn_buf_fx[sub( add( i, shr( overlap, 1 ) ), tcx_offset )], mult_r( mult_r( hTcxDec->syn_OverlFB[i], tcx_mdct_window_half_fx[sub( tcx_mdct_window_half_length, add( 1, i ) )].v.im ), tcx_mdct_window_half_fx[sub( tcx_mdct_window_half_length, add( 1, i ) )].v.im ) ); xn_buf_fx[sub( add( i, shr( overlap, 1 ) ), tcx_offset )] = add_sat( xn_buf_fx[sub( add( i, shr( overlap, 1 ) ), tcx_offset )], mult_r( mult_r( hTcxDec->syn_OverlFB[i], tcx_mdct_window_half_fx[sub( tcx_mdct_window_half_length, add( 1, i ) )].v.im ), tcx_mdct_window_half_fx[sub( tcx_mdct_window_half_length, add( 1, i ) )].v.im ) ); move16(); move16(); move16(); move16(); } } Loading lib_dec/er_dec_tcx_fx.c +1 −0 Original line number Original line Diff line number Diff line Loading @@ -1943,6 +1943,7 @@ void con_tcx_ivas_fx( new_Q = sub( Q_exc, 3 ); new_Q = sub( Q_exc, 3 ); new_Q = s_max( new_Q, -1 ); new_Q = s_max( new_Q, -1 ); new_Q = s_min( new_Q, norm_s( tmp_deemph ) ); tmp16 = s_min( new_Q, st->prev_Q_syn ); tmp16 = s_min( new_Q, st->prev_Q_syn ); st->prev_Q_syn = new_Q; st->prev_Q_syn = new_Q; Loading lib_dec/igf_dec_fx.c +9 −3 Original line number Original line Diff line number Diff line Loading @@ -283,8 +283,11 @@ static void IGF_replaceTCXNoise_2_new_ivas( Word32 *in, /**< in { { Word16 nrm = norm_l( in[sb] ); Word16 nrm = norm_l( in[sb] ); in[sb] = L_shl( in[sb], nrm ); // exp: 31 - tmp in[sb] = L_shl( in[sb], nrm ); // exp: 31 - tmp move32(); in[sb] = Mpy_32_16_1( in[sb], g ); // exp: 31 - tmp + tmp_e in[sb] = Mpy_32_16_1( in[sb], g ); // exp: 31 - tmp + tmp_e in[sb] = L_shr( in[sb], sub( in_e, sub( add( 31, tmp_e ), nrm ) ) ); // Making the exponent same as original move32(); /* To handle corner cases */ in[sb] = L_shr_sat( in[sb], sub( in_e, sub( add( 31, tmp_e ), nrm ) ) ); // Making the exponent same as original move32(); move32(); } } } } Loading Loading @@ -4017,6 +4020,9 @@ void IGFDecSetMode_ivas_fx( hIGFDec->flag_sparse = &hIGFDec->flag_sparseBuf[0]; hIGFDec->flag_sparse = &hIGFDec->flag_sparseBuf[0]; hIGFDec->infoTCXNoise_ptr = &hIGFDec->infoTCXNoise_evs[0]; hIGFDec->infoTCXNoise_ptr = &hIGFDec->infoTCXNoise_evs[0]; hIGFDec->virtualSpec_fx = &hIGFDec->virtualSpec[0]; hIGFDec->igfData.pSpecFlat = &hIGFDec->igfData.pSpecFlatBuf_fx[0]; hIGFDec->igfData.igfInfo.nfSeed = &hIGFDec->igfData.igfInfo.nfSeedBuf[0]; return; return; } } /**********************************************************************/ /* /**********************************************************************/ /* Loading lib_dec/ivas_cpe_dec_fx.c +1 −1 Original line number Original line Diff line number Diff line Loading @@ -138,7 +138,7 @@ ivas_error ivas_cpe_dec_fx( } } q_old_out_LB = Q11; q_old_out_LB = Q11; move16(); move16(); FOR( Word16 ind1 = 0; ind1 < 1; ind1++ ) FOR( Word16 ind1 = 0; ind1 < 2; ind1++ ) { { IF( hCPE->hCoreCoder[ind1]->hHQ_core ) IF( hCPE->hCoreCoder[ind1]->hHQ_core ) { { Loading Loading
lib_dec/acelp_core_switch_dec_fx.c +1 −3 Original line number Original line Diff line number Diff line Loading @@ -848,9 +848,7 @@ ivas_error acelp_core_switch_dec_bfi_ivas_fx( st_fx->cldfbSyn->Q_cldfb_state = sub( st_fx->cldfbSyn->Q_cldfb_state, 1 ); st_fx->cldfbSyn->Q_cldfb_state = sub( st_fx->cldfbSyn->Q_cldfb_state, 1 ); Copy_Scale_sig_32_16( synth32, synth_out, L_FRAME48k, -5 ); Copy_Scale_sig_32_16( synth32, synth_out, L_FRAME48k, -5 ); /* output to Q0 */ Scale_sig( synth_out, L_FRAME48k, negate( st_fx->Q_syn ) ); Copy_Scale_sig32_16( syn32, synth_out, L_FRAME16k, -5 ); // Scale_sig(synth_out,L_FRAME48k, negate(st_fx->Q_syn)); cldfb_restore_memory_ivas_fx( st_fx->cldfbSyn ); cldfb_restore_memory_ivas_fx( st_fx->cldfbSyn ); Loading
lib_dec/dec_tcx_fx.c +1 −1 Original line number Original line Diff line number Diff line Loading @@ -3299,7 +3299,7 @@ void IMDCT_ivas_fx( FOR( ; i < tcx_mdct_window_half_length; i++ ) FOR( ; i < tcx_mdct_window_half_length; i++ ) { { xn_buf_fx[sub( add( i, shr( overlap, 1 ) ), tcx_offset )] = mult_r( xn_buf_fx[sub( add( i, shr( overlap, 1 ) ), tcx_offset )], tcx_mdct_window_half_fx[sub( tcx_mdct_window_half_length, add( 1, i ) )].v.re ); xn_buf_fx[sub( add( i, shr( overlap, 1 ) ), tcx_offset )] = mult_r( xn_buf_fx[sub( add( i, shr( overlap, 1 ) ), tcx_offset )], tcx_mdct_window_half_fx[sub( tcx_mdct_window_half_length, add( 1, i ) )].v.re ); xn_buf_fx[sub( add( i, shr( overlap, 1 ) ), tcx_offset )] = add( xn_buf_fx[sub( add( i, shr( overlap, 1 ) ), tcx_offset )], mult_r( mult_r( hTcxDec->syn_OverlFB[i], tcx_mdct_window_half_fx[sub( tcx_mdct_window_half_length, add( 1, i ) )].v.im ), tcx_mdct_window_half_fx[sub( tcx_mdct_window_half_length, add( 1, i ) )].v.im ) ); xn_buf_fx[sub( add( i, shr( overlap, 1 ) ), tcx_offset )] = add_sat( xn_buf_fx[sub( add( i, shr( overlap, 1 ) ), tcx_offset )], mult_r( mult_r( hTcxDec->syn_OverlFB[i], tcx_mdct_window_half_fx[sub( tcx_mdct_window_half_length, add( 1, i ) )].v.im ), tcx_mdct_window_half_fx[sub( tcx_mdct_window_half_length, add( 1, i ) )].v.im ) ); move16(); move16(); move16(); move16(); } } Loading
lib_dec/er_dec_tcx_fx.c +1 −0 Original line number Original line Diff line number Diff line Loading @@ -1943,6 +1943,7 @@ void con_tcx_ivas_fx( new_Q = sub( Q_exc, 3 ); new_Q = sub( Q_exc, 3 ); new_Q = s_max( new_Q, -1 ); new_Q = s_max( new_Q, -1 ); new_Q = s_min( new_Q, norm_s( tmp_deemph ) ); tmp16 = s_min( new_Q, st->prev_Q_syn ); tmp16 = s_min( new_Q, st->prev_Q_syn ); st->prev_Q_syn = new_Q; st->prev_Q_syn = new_Q; Loading
lib_dec/igf_dec_fx.c +9 −3 Original line number Original line Diff line number Diff line Loading @@ -283,8 +283,11 @@ static void IGF_replaceTCXNoise_2_new_ivas( Word32 *in, /**< in { { Word16 nrm = norm_l( in[sb] ); Word16 nrm = norm_l( in[sb] ); in[sb] = L_shl( in[sb], nrm ); // exp: 31 - tmp in[sb] = L_shl( in[sb], nrm ); // exp: 31 - tmp move32(); in[sb] = Mpy_32_16_1( in[sb], g ); // exp: 31 - tmp + tmp_e in[sb] = Mpy_32_16_1( in[sb], g ); // exp: 31 - tmp + tmp_e in[sb] = L_shr( in[sb], sub( in_e, sub( add( 31, tmp_e ), nrm ) ) ); // Making the exponent same as original move32(); /* To handle corner cases */ in[sb] = L_shr_sat( in[sb], sub( in_e, sub( add( 31, tmp_e ), nrm ) ) ); // Making the exponent same as original move32(); move32(); } } } } Loading Loading @@ -4017,6 +4020,9 @@ void IGFDecSetMode_ivas_fx( hIGFDec->flag_sparse = &hIGFDec->flag_sparseBuf[0]; hIGFDec->flag_sparse = &hIGFDec->flag_sparseBuf[0]; hIGFDec->infoTCXNoise_ptr = &hIGFDec->infoTCXNoise_evs[0]; hIGFDec->infoTCXNoise_ptr = &hIGFDec->infoTCXNoise_evs[0]; hIGFDec->virtualSpec_fx = &hIGFDec->virtualSpec[0]; hIGFDec->igfData.pSpecFlat = &hIGFDec->igfData.pSpecFlatBuf_fx[0]; hIGFDec->igfData.igfInfo.nfSeed = &hIGFDec->igfData.igfInfo.nfSeedBuf[0]; return; return; } } /**********************************************************************/ /* /**********************************************************************/ /* Loading
lib_dec/ivas_cpe_dec_fx.c +1 −1 Original line number Original line Diff line number Diff line Loading @@ -138,7 +138,7 @@ ivas_error ivas_cpe_dec_fx( } } q_old_out_LB = Q11; q_old_out_LB = Q11; move16(); move16(); FOR( Word16 ind1 = 0; ind1 < 1; ind1++ ) FOR( Word16 ind1 = 0; ind1 < 2; ind1++ ) { { IF( hCPE->hCoreCoder[ind1]->hHQ_core ) IF( hCPE->hCoreCoder[ind1]->hHQ_core ) { { Loading