Loading lib_dec/core_switching_dec_fx.c +1 −1 Original line number Diff line number Diff line Loading @@ -1694,7 +1694,7 @@ ivas_error core_switching_post_dec_ivas_fx( } /* delay HQ synthesis to synchronize with ACELP synthesis */ /* rescaling to the min exp of the 2 */ if ( hHQ_core->Q_old_postdec ) IF( hHQ_core->Q_old_postdec ) { Scale_sig( st_fx->delay_buf_out_fx, delay_comp, negate( hHQ_core->Q_old_postdec ) ); } Loading lib_dec/ivas_core_dec.c +6 −10 Original line number Diff line number Diff line Loading @@ -744,11 +744,14 @@ ivas_error ivas_core_dec_fx( move16(); } #ifdef FIX_778_STEREO_BRATE_SWITCHING if ( NE_16( st->core, st->last_core ) ) { st->Q_syn = 0; move16(); } #endif st->prev_Q_syn = st->Q_syn; st->prev_Q_syn = st->Q_syn; move16(); Scale_sig( st->hHQ_core->old_out_LB_fx, L_FRAME32k, sub( st->Q_syn, st->hHQ_core->Q_old_wtda_LB ) ); Loading Loading @@ -879,13 +882,6 @@ ivas_error ivas_core_dec_fx( Scale_sig32( output_32_fx[n], L_FRAME48k, sub( Q4, Q11 ) ); IF( st->hHQ_core != NULL ) { Scale_sig( st->hHQ_core->old_out_fx, L_FRAME48k, negate( st->hHQ_core->Q_old_wtda ) ); st->hHQ_core->Q_old_wtda = 0; move16(); } /*size of synth is choosen as delay comp to start with*/ /*-------------------cldfb-start-------------------------*/ Loading lib_dec/ivas_mct_dec.c +10 −6 Original line number Diff line number Diff line Loading @@ -587,17 +587,21 @@ ivas_error ivas_mct_dec_fx( ivas_mdct_core_reconstruct_fx( hCPE, x_fx, synth_fx, fUseTns[cpe_id], 1, q_output, e_sig ); IF( getScaleFactor16( synth_fx[0], hCPE->hCoreCoder[0]->hTcxDec->L_frameTCX ) != 0 ) Word16 hdrm, sh; hdrm = getScaleFactor16( synth_fx[0], hCPE->hCoreCoder[0]->hTcxDec->L_frameTCX ); IF( hdrm != 0 ) { Scale_sig( synth_fx[0], hCPE->hCoreCoder[0]->hTcxDec->L_frameTCX, sub( e_sig[0], 15 ) ); e_sig[0] = 15; sh = s_min( sub( e_sig[0], 15 ), hdrm ); Scale_sig( synth_fx[0], hCPE->hCoreCoder[0]->hTcxDec->L_frameTCX, sh ); e_sig[0] = sub( e_sig[0], sh ); move16(); } IF( getScaleFactor16( synth_fx[1], hCPE->hCoreCoder[1]->hTcxDec->L_frameTCX ) != 0 ) IF( hdrm != 0 ) { Scale_sig( synth_fx[1], hCPE->hCoreCoder[1]->hTcxDec->L_frameTCX, sub( e_sig[1], 15 ) ); e_sig[1] = 15; sh = s_min( sub( e_sig[1], 15 ), hdrm ); Scale_sig( synth_fx[1], hCPE->hCoreCoder[1]->hTcxDec->L_frameTCX, sh ); e_sig[1] = sub( e_sig[1], sh ); move16(); } Loading lib_dec/ivas_mdct_core_dec.c +5 −1 Original line number Diff line number Diff line Loading @@ -2104,9 +2104,11 @@ void ivas_mdct_core_reconstruct_fx( decoder_tcx_post_ivas_fx( st, synth_fx, synthFB_fx, NULL, bfi, MCT_flag ); sf = getScaleFactor16( synth_buf_fx, add( add( st->hTcxDec->old_synth_len, L_FRAME_PLUS ), M ) ); if ( LT_16( sf, 2 ) ) IF( LT_16( sf, 2 ) ) { q_syn = sub( sf, 2 ); st->Q_syn = q_syn; move16(); } Scale_sig( st->hTcxDec->syn_Overl_TDACFB, L_FRAME_MAX / 2, sub( sub( -1, st->Q_syn ), q_win ) ); Scale_sig( st->hTcxDec->syn_Overl_TDAC, L_FRAME32k / 2, sub( sub( -1, st->Q_syn ), q_win ) ); Loading @@ -2130,6 +2132,8 @@ void ivas_mdct_core_reconstruct_fx( Scale_sig( synth_buf_fx, add( add( st->hTcxDec->old_synth_len, L_FRAME_PLUS ), M ), negate( q_syn ) ); Scale_sig( synth_bufFB_fx, add( add( st->hTcxDec->old_synth_lenFB, L_FRAME_PLUS ), M ), negate( q_syn ) ); q_syn = 0; st->Q_syn = 0; move16(); move16(); /* PLC: [TCX: TD PLC] */ IF( MCT_flag != 0 ) Loading lib_rend/ivas_dirac_dec_binaural_functions.c +1 −1 Original line number Diff line number Diff line Loading @@ -2786,7 +2786,7 @@ static void ivas_dirac_dec_binaural_formulate_input_and_target_covariance_matric idx = s_min( bin, MASA_NUM_DEFINED_SUR_SPR_COH_ENE_BINS - 1 ); /* Apply target spectrum that emphasizes low frequencies when the sound is surround coherent */ spectrumModVal = L_add( L_sub( ONE_IN_Q28, L_shl( surCoh_fx, 14 ) ), L_mult( surCoh_fx, surCohEne_fx[idx] ) ); // Q29 spectrumModVal = L_add( L_sub( ONE_IN_Q29, L_shl( surCoh_fx, 14 ) ), L_mult( surCoh_fx, surCohEne_fx[idx] ) ); // Q29 diffEne_fx = Mpy_32_32( diffEne_fx, spectrumModVal ); // Q-2 q_diffEne = sub( q_diffEne, 2 ); /* Modify also the value for decorrelation reduction */ Loading Loading
lib_dec/core_switching_dec_fx.c +1 −1 Original line number Diff line number Diff line Loading @@ -1694,7 +1694,7 @@ ivas_error core_switching_post_dec_ivas_fx( } /* delay HQ synthesis to synchronize with ACELP synthesis */ /* rescaling to the min exp of the 2 */ if ( hHQ_core->Q_old_postdec ) IF( hHQ_core->Q_old_postdec ) { Scale_sig( st_fx->delay_buf_out_fx, delay_comp, negate( hHQ_core->Q_old_postdec ) ); } Loading
lib_dec/ivas_core_dec.c +6 −10 Original line number Diff line number Diff line Loading @@ -744,11 +744,14 @@ ivas_error ivas_core_dec_fx( move16(); } #ifdef FIX_778_STEREO_BRATE_SWITCHING if ( NE_16( st->core, st->last_core ) ) { st->Q_syn = 0; move16(); } #endif st->prev_Q_syn = st->Q_syn; st->prev_Q_syn = st->Q_syn; move16(); Scale_sig( st->hHQ_core->old_out_LB_fx, L_FRAME32k, sub( st->Q_syn, st->hHQ_core->Q_old_wtda_LB ) ); Loading Loading @@ -879,13 +882,6 @@ ivas_error ivas_core_dec_fx( Scale_sig32( output_32_fx[n], L_FRAME48k, sub( Q4, Q11 ) ); IF( st->hHQ_core != NULL ) { Scale_sig( st->hHQ_core->old_out_fx, L_FRAME48k, negate( st->hHQ_core->Q_old_wtda ) ); st->hHQ_core->Q_old_wtda = 0; move16(); } /*size of synth is choosen as delay comp to start with*/ /*-------------------cldfb-start-------------------------*/ Loading
lib_dec/ivas_mct_dec.c +10 −6 Original line number Diff line number Diff line Loading @@ -587,17 +587,21 @@ ivas_error ivas_mct_dec_fx( ivas_mdct_core_reconstruct_fx( hCPE, x_fx, synth_fx, fUseTns[cpe_id], 1, q_output, e_sig ); IF( getScaleFactor16( synth_fx[0], hCPE->hCoreCoder[0]->hTcxDec->L_frameTCX ) != 0 ) Word16 hdrm, sh; hdrm = getScaleFactor16( synth_fx[0], hCPE->hCoreCoder[0]->hTcxDec->L_frameTCX ); IF( hdrm != 0 ) { Scale_sig( synth_fx[0], hCPE->hCoreCoder[0]->hTcxDec->L_frameTCX, sub( e_sig[0], 15 ) ); e_sig[0] = 15; sh = s_min( sub( e_sig[0], 15 ), hdrm ); Scale_sig( synth_fx[0], hCPE->hCoreCoder[0]->hTcxDec->L_frameTCX, sh ); e_sig[0] = sub( e_sig[0], sh ); move16(); } IF( getScaleFactor16( synth_fx[1], hCPE->hCoreCoder[1]->hTcxDec->L_frameTCX ) != 0 ) IF( hdrm != 0 ) { Scale_sig( synth_fx[1], hCPE->hCoreCoder[1]->hTcxDec->L_frameTCX, sub( e_sig[1], 15 ) ); e_sig[1] = 15; sh = s_min( sub( e_sig[1], 15 ), hdrm ); Scale_sig( synth_fx[1], hCPE->hCoreCoder[1]->hTcxDec->L_frameTCX, sh ); e_sig[1] = sub( e_sig[1], sh ); move16(); } Loading
lib_dec/ivas_mdct_core_dec.c +5 −1 Original line number Diff line number Diff line Loading @@ -2104,9 +2104,11 @@ void ivas_mdct_core_reconstruct_fx( decoder_tcx_post_ivas_fx( st, synth_fx, synthFB_fx, NULL, bfi, MCT_flag ); sf = getScaleFactor16( synth_buf_fx, add( add( st->hTcxDec->old_synth_len, L_FRAME_PLUS ), M ) ); if ( LT_16( sf, 2 ) ) IF( LT_16( sf, 2 ) ) { q_syn = sub( sf, 2 ); st->Q_syn = q_syn; move16(); } Scale_sig( st->hTcxDec->syn_Overl_TDACFB, L_FRAME_MAX / 2, sub( sub( -1, st->Q_syn ), q_win ) ); Scale_sig( st->hTcxDec->syn_Overl_TDAC, L_FRAME32k / 2, sub( sub( -1, st->Q_syn ), q_win ) ); Loading @@ -2130,6 +2132,8 @@ void ivas_mdct_core_reconstruct_fx( Scale_sig( synth_buf_fx, add( add( st->hTcxDec->old_synth_len, L_FRAME_PLUS ), M ), negate( q_syn ) ); Scale_sig( synth_bufFB_fx, add( add( st->hTcxDec->old_synth_lenFB, L_FRAME_PLUS ), M ), negate( q_syn ) ); q_syn = 0; st->Q_syn = 0; move16(); move16(); /* PLC: [TCX: TD PLC] */ IF( MCT_flag != 0 ) Loading
lib_rend/ivas_dirac_dec_binaural_functions.c +1 −1 Original line number Diff line number Diff line Loading @@ -2786,7 +2786,7 @@ static void ivas_dirac_dec_binaural_formulate_input_and_target_covariance_matric idx = s_min( bin, MASA_NUM_DEFINED_SUR_SPR_COH_ENE_BINS - 1 ); /* Apply target spectrum that emphasizes low frequencies when the sound is surround coherent */ spectrumModVal = L_add( L_sub( ONE_IN_Q28, L_shl( surCoh_fx, 14 ) ), L_mult( surCoh_fx, surCohEne_fx[idx] ) ); // Q29 spectrumModVal = L_add( L_sub( ONE_IN_Q29, L_shl( surCoh_fx, 14 ) ), L_mult( surCoh_fx, surCohEne_fx[idx] ) ); // Q29 diffEne_fx = Mpy_32_32( diffEne_fx, spectrumModVal ); // Q-2 q_diffEne = sub( q_diffEne, 2 ); /* Modify also the value for decorrelation reduction */ Loading