Loading lib_dec/ivas_core_dec_fx.c +8 −1 Original line number Diff line number Diff line Loading @@ -1009,16 +1009,20 @@ ivas_error ivas_core_dec_fx( Copy_Scale_sig_16_32_no_sat( hBWE_TD->syn_overlap_fx, hBWE_TD->syn_overlap_fx_32, L_SHB_LAHEAD, sub( Q11, hBWE_TD->prev_Q_bwe_syn2 ) ); // Q11 Copy_Scale_sig_32_16( hBWE_TD->old_tbe_synth_fx_32, hBWE_TD->old_tbe_synth_fx, L_SHB_TRANSITION_LENGTH, sub( hBWE_TD->prev_Qx, Q11 ) ); // prev_Qx #ifndef HARMONIZE_TBE3 IF( GT_16( Q_white_exc, 31 ) ) { Scale_sig( tmp_buffer_fx, L_FRAME48k, sub( 31, Q_white_exc ) ); // Q31 Q_white_exc = 31; move16(); } #endif /* FB TBE decoder */ IF( EQ_16( st->extl, FB_TBE ) ) { #ifdef HARMONIZE_TBE3 // TODO: check why 'Q_synth' is not used instead of 'Q_white_exc' as the second but last paremeter in the following function call #endif fb_tbe_dec_fx( st, tmp_buffer_fx /*fb_exc*/, Q_white_exc, NULL, hb_synth_32_fx[n], 0, tmp_buffer_fx /*fb_synth_ref*/, Q_white_exc, output_frame ); } } Loading Loading @@ -1113,6 +1117,9 @@ ivas_error ivas_core_dec_fx( q = Q11; move16(); #ifdef HARMONIZE_TBE3 // TODO: check whether 'Q_synth' is not used instead of 'Q_white_exc' as the last paremeter in the following function call #endif stereo_icBWE_dec_fx( hCPE, hb_synth_32_fx[0], hb_synth_32_fx[1], tmp_buffer_fx /*fb_synth_ref*/, voice_factors_fx[0], output_frame, &q, Q_white_exc ); test(); Loading lib_dec/swb_tbe_dec_fx.c +20 −1 Original line number Diff line number Diff line Loading @@ -4689,6 +4689,7 @@ void swb_tbe_dec_ivas_fx( calc_tilt_bwe_fx_loc( old_syn_12k8_16k_fx, &tilt_swb_fec_32_fx, &tilt_swb_fec_fx_q, L_FRAME ); tilt_swb_fec_fx = round_fx_sat( L_shl_sat( tilt_swb_fec_32_fx, sub( 11 + 16, tilt_swb_fec_fx_q ) ) ); } test(); if ( st->bfi && st->clas_dec != UNVOICED_CLAS ) { Loading Loading @@ -5069,6 +5070,14 @@ void swb_tbe_dec_ivas_fx( } } #if 0 // TBV: this looks like a bug in EVS: the code is present in float but not in BASOP test(); IF( st->use_partial_copy && st->nelp_mode_dec ) { set16_fx( vf_modified_fx, 0, NB_SUBFR16k ); } #endif /* SHB LSF from current frame; and convert to LSP for interpolation */ E_LPC_lsf_lsp_conversion( lsf_shb_fx, lsp_shb_2_fx, LPC_SHB_ORDER ); Loading Loading @@ -6473,6 +6482,16 @@ void swb_tbe_dec_ivas_fx( } *Q_white_exc = sub( add( *Q_white_exc, tmp ), 1 ); move16(); #ifdef HARMONIZE_TBE3 test(); IF( st->element_mode != EVS_MONO && GT_16( *Q_white_exc, Q31 ) ) { Scale_sig( White_exc16k_fx, L_FRAME16k, sub( Q31, *Q_white_exc ) ); // Q31 Q_white_exc = Q31; move16(); } #endif } #ifdef HARMONIZE_TBE3 Loading lib_basop/basop32.c +1 −1 File changed.Contains only whitespace changes. Show changes lib_basop/typedefs.h +1 −1 File changed.Contains only whitespace changes. Show changes Loading
lib_dec/ivas_core_dec_fx.c +8 −1 Original line number Diff line number Diff line Loading @@ -1009,16 +1009,20 @@ ivas_error ivas_core_dec_fx( Copy_Scale_sig_16_32_no_sat( hBWE_TD->syn_overlap_fx, hBWE_TD->syn_overlap_fx_32, L_SHB_LAHEAD, sub( Q11, hBWE_TD->prev_Q_bwe_syn2 ) ); // Q11 Copy_Scale_sig_32_16( hBWE_TD->old_tbe_synth_fx_32, hBWE_TD->old_tbe_synth_fx, L_SHB_TRANSITION_LENGTH, sub( hBWE_TD->prev_Qx, Q11 ) ); // prev_Qx #ifndef HARMONIZE_TBE3 IF( GT_16( Q_white_exc, 31 ) ) { Scale_sig( tmp_buffer_fx, L_FRAME48k, sub( 31, Q_white_exc ) ); // Q31 Q_white_exc = 31; move16(); } #endif /* FB TBE decoder */ IF( EQ_16( st->extl, FB_TBE ) ) { #ifdef HARMONIZE_TBE3 // TODO: check why 'Q_synth' is not used instead of 'Q_white_exc' as the second but last paremeter in the following function call #endif fb_tbe_dec_fx( st, tmp_buffer_fx /*fb_exc*/, Q_white_exc, NULL, hb_synth_32_fx[n], 0, tmp_buffer_fx /*fb_synth_ref*/, Q_white_exc, output_frame ); } } Loading Loading @@ -1113,6 +1117,9 @@ ivas_error ivas_core_dec_fx( q = Q11; move16(); #ifdef HARMONIZE_TBE3 // TODO: check whether 'Q_synth' is not used instead of 'Q_white_exc' as the last paremeter in the following function call #endif stereo_icBWE_dec_fx( hCPE, hb_synth_32_fx[0], hb_synth_32_fx[1], tmp_buffer_fx /*fb_synth_ref*/, voice_factors_fx[0], output_frame, &q, Q_white_exc ); test(); Loading
lib_dec/swb_tbe_dec_fx.c +20 −1 Original line number Diff line number Diff line Loading @@ -4689,6 +4689,7 @@ void swb_tbe_dec_ivas_fx( calc_tilt_bwe_fx_loc( old_syn_12k8_16k_fx, &tilt_swb_fec_32_fx, &tilt_swb_fec_fx_q, L_FRAME ); tilt_swb_fec_fx = round_fx_sat( L_shl_sat( tilt_swb_fec_32_fx, sub( 11 + 16, tilt_swb_fec_fx_q ) ) ); } test(); if ( st->bfi && st->clas_dec != UNVOICED_CLAS ) { Loading Loading @@ -5069,6 +5070,14 @@ void swb_tbe_dec_ivas_fx( } } #if 0 // TBV: this looks like a bug in EVS: the code is present in float but not in BASOP test(); IF( st->use_partial_copy && st->nelp_mode_dec ) { set16_fx( vf_modified_fx, 0, NB_SUBFR16k ); } #endif /* SHB LSF from current frame; and convert to LSP for interpolation */ E_LPC_lsf_lsp_conversion( lsf_shb_fx, lsp_shb_2_fx, LPC_SHB_ORDER ); Loading Loading @@ -6473,6 +6482,16 @@ void swb_tbe_dec_ivas_fx( } *Q_white_exc = sub( add( *Q_white_exc, tmp ), 1 ); move16(); #ifdef HARMONIZE_TBE3 test(); IF( st->element_mode != EVS_MONO && GT_16( *Q_white_exc, Q31 ) ) { Scale_sig( White_exc16k_fx, L_FRAME16k, sub( Q31, *Q_white_exc ) ); // Q31 Q_white_exc = Q31; move16(); } #endif } #ifdef HARMONIZE_TBE3 Loading