Loading lib_dec/dec_tcx_fx.c +11 −3 Original line number Diff line number Diff line Loading @@ -2589,7 +2589,7 @@ static Word16 IMDCT_ivas_fx_calc_qwin( const Word16 L_frameTCX, const Word16 FB_flag ) { Word16 oldLength, t, old_syn_Overl_len; Word16 oldLength, t, old_syn_Overl_len, syn_Overl_TDAC_len; oldLength = s_min( L_FRAME32k, L_frame ); t = L_FRAME32k; Loading @@ -2602,18 +2602,26 @@ static Word16 IMDCT_ivas_fx_calc_qwin( } old_syn_Overl_len = st->hTcxCfg->tcx_mdct_window_length; syn_Overl_TDAC_len = s_max( st->hTcxCfg->tcx_mdct_window_length_old, 0 ); IF( ( st->prev_bfi && EQ_16( st->last_core_bfi, ACELP_CORE ) ) || EQ_16( st->last_core, ACELP_CORE ) ) { old_syn_Overl_len = shr( st->L_frame, 1 ); syn_Overl_TDAC_len = shr( st->last_L_frame, 1 ); } IF( st->prev_bfi && ( st->last_core_bfi == ACELP_CORE ) ) { syn_Overl_TDAC_len = old_syn_Overl_len; } q_win = 6; move16(); // q_win == norm + Q_syn_Overl_TDAC q_win = s_min( q_win, norm_arr( syn_Overl_TDAC, shr( oldLength, 1 ) ) + Q_syn_Overl_TDAC ); q_win = s_min( q_win, norm_arr( syn_Overl_TDAC, syn_Overl_TDAC_len ) + Q_syn_Overl_TDAC ); // q_win = s_min( q_win, norm_arr( syn_Overl, oldLength / 2 ) + Q_syn_Overl ); q_win = s_min( q_win, norm_arr( syn_Overl, shr( t, 1 ) ) + Q_syn_Overl ); q_win = s_min( q_win, norm_arr( syn_Overl, old_syn_Overl_len ) + Q_syn_Overl ); q_win = s_min( q_win, norm_arr( old_syn_Overl, old_syn_Overl_len ) + Q_old_syn_Overl ); // q_win = s_min( q_win, norm_arr( old_out_fx, oldLength ) + Q_old_out_fx ); q_win = s_min( q_win, norm_arr( old_out_fx, t ) + Q_old_out_fx ); Loading Loading
lib_dec/dec_tcx_fx.c +11 −3 Original line number Diff line number Diff line Loading @@ -2589,7 +2589,7 @@ static Word16 IMDCT_ivas_fx_calc_qwin( const Word16 L_frameTCX, const Word16 FB_flag ) { Word16 oldLength, t, old_syn_Overl_len; Word16 oldLength, t, old_syn_Overl_len, syn_Overl_TDAC_len; oldLength = s_min( L_FRAME32k, L_frame ); t = L_FRAME32k; Loading @@ -2602,18 +2602,26 @@ static Word16 IMDCT_ivas_fx_calc_qwin( } old_syn_Overl_len = st->hTcxCfg->tcx_mdct_window_length; syn_Overl_TDAC_len = s_max( st->hTcxCfg->tcx_mdct_window_length_old, 0 ); IF( ( st->prev_bfi && EQ_16( st->last_core_bfi, ACELP_CORE ) ) || EQ_16( st->last_core, ACELP_CORE ) ) { old_syn_Overl_len = shr( st->L_frame, 1 ); syn_Overl_TDAC_len = shr( st->last_L_frame, 1 ); } IF( st->prev_bfi && ( st->last_core_bfi == ACELP_CORE ) ) { syn_Overl_TDAC_len = old_syn_Overl_len; } q_win = 6; move16(); // q_win == norm + Q_syn_Overl_TDAC q_win = s_min( q_win, norm_arr( syn_Overl_TDAC, shr( oldLength, 1 ) ) + Q_syn_Overl_TDAC ); q_win = s_min( q_win, norm_arr( syn_Overl_TDAC, syn_Overl_TDAC_len ) + Q_syn_Overl_TDAC ); // q_win = s_min( q_win, norm_arr( syn_Overl, oldLength / 2 ) + Q_syn_Overl ); q_win = s_min( q_win, norm_arr( syn_Overl, shr( t, 1 ) ) + Q_syn_Overl ); q_win = s_min( q_win, norm_arr( syn_Overl, old_syn_Overl_len ) + Q_syn_Overl ); q_win = s_min( q_win, norm_arr( old_syn_Overl, old_syn_Overl_len ) + Q_old_syn_Overl ); // q_win = s_min( q_win, norm_arr( old_out_fx, oldLength ) + Q_old_out_fx ); q_win = s_min( q_win, norm_arr( old_out_fx, t ) + Q_old_out_fx ); Loading