Loading lib_com/options.h +1 −0 Original line number Diff line number Diff line Loading @@ -96,6 +96,7 @@ #define HARM_2336_DOTP /* VA: basop 2336; Harmonisation of some dot_product function + some BE optimisation */ #define FIX_2431_AVOID_CALLOC /* VA: basp issue 2431: avoid use of calloc() */ #define FIX_2424_REMOVE_GAUSS_L2_ENC /* VA: basop issue 2424: Remove duplicated code in gauss_L2_ivas_fx() */ #define HARMONIZE_TBE3 /* VA: basop issue 2399: Remove duplicated code: TBE, step 3 */ /* #################### End BE switches ################################## */ Loading lib_com/prot_fx.h +22 −5 Original line number Diff line number Diff line Loading @@ -9829,6 +9829,21 @@ void v_sub32_fx( const Word16 N /* i : Vector length */ ); #ifdef HARMONIZE_TBE3 void swb_tbe_dec_ivas_fx( Decoder_State *st, /* i/o: decoder state structure */ STEREO_ICBWE_DEC_HANDLE hStereoICBWE, /* i/o: IC-BWE state structure */ const Word32 *bwe_exc_extended_fx, /* i : bandwidth extended excitation : Q_exc */ const Word16 voice_factors_fx[], /* i : voicing factors : Q15 */ const Word16 old_syn_12k8_16k_fx16[], /* i : low band synthesis : old_syn_fx */ Word16 *White_exc16k_fx, /* o : shaped white excitation for the FB TBE : Q_white_exc*/ Word16 *Q_white_exc, /* o : Q-factor of White_exc16k_fx */ Word16 *synth_fx16, /* o : SHB synthesis/final synthesis 16-bit : Qx */ Word32 *synth_fx, /* o : SHB synthesis/final synthesis 32-bit : Qx */ Word16 *Q_synth, /* o : Q-factor of synth_fx16[]/synth_fx[] */ Word16 *pitch_buf_fx /* i : Q6 */ ); #else void swb_tbe_dec_ivas_fx( Decoder_State *st, /* i/o: decoder state structure */ STEREO_ICBWE_DEC_HANDLE hStereoICBWE, /* i/o: IC-BWE state structure */ Loading @@ -9837,9 +9852,11 @@ void swb_tbe_dec_ivas_fx( const Word16 voice_factors_fx[], /* i : voicing factors : Q15 */ const Word16 old_syn_12k8_16k_fx16[], /* i : low band synthesis : old_syn_fx */ Word16 *White_exc16k_fx, /* o : shaped white excitation for the FB TBE : Q_white_exc*/ Word32 *synth_fx, /* o : SHB synthesis/final synthesis : Qx */ Word32 *synth_fx, /* o : SHB synthesis/final synthesis 32-bit : Qx */ Word16 *pitch_buf_fx, /* i : Q6 */ Word16 *Q_white_exc ); Word16 *Q_white_exc /* o : Q-factor of White_exc16k_fx */ ); #endif Word16 swb_bwe_dec_fx32( Decoder_State *st_fx, /* i/o: decoder state structure */ Loading lib_dec/evs_dec_fx.c +12 −1 Original line number Diff line number Diff line Loading @@ -416,8 +416,13 @@ ivas_error evs_dec_fx( IF( EQ_16( st_fx->extl, SWB_TBE ) || EQ_16( st_fx->extl, FB_TBE ) || ( NE_16( st_fx->coder_type, AUDIO ) && NE_16( st_fx->coder_type, INACTIVE ) && GT_32( st_fx->core_brate, SID_2k40 ) && EQ_16( st_fx->core, ACELP_CORE ) && GE_32( st_fx->output_Fs, 32000 ) && GT_16( st_fx->bwidth, NB ) && st_fx->bws_cnt > 0 && !st_fx->ppp_mode_dec && !( EQ_16( st_fx->nelp_mode_dec, 1 ) && EQ_16( st_fx->bfi, 1 ) ) ) ) { /* SWB TBE decoder */ #ifdef HARMONIZE_TBE3 swb_tbe_dec_ivas_fx( st_fx, NULL, bwe_exc_extended_fx, voice_factors_fx, old_syn_12k8_16k_fx, fb_exc_fx, &Q_fb_exc, hb_synth_fx, NULL, pitch_buf_fx, &hb_synth_fx_exp ); #else swb_tbe_dec_fx( st_fx, st_fx->coder_type, bwe_exc_extended_fx, st_fx->Q_exc, voice_factors_fx, old_syn_12k8_16k_fx, fb_exc_fx, &Q_fb_exc, hb_synth_fx, &hb_synth_fx_exp, pitch_buf_fx ); #endif /* FB TBE decoder */ test(); Loading Loading @@ -853,8 +858,14 @@ ivas_error evs_dec_fx( ELSE IF( EQ_16( st_fx->extl, SWB_TBE ) || EQ_16( st_fx->extl, FB_TBE ) ) { /* SWB TBE decoder */ #ifdef HARMONIZE_TBE3 swb_tbe_dec_ivas_fx( st_fx, NULL, bwe_exc_extended_fx, voice_factors_fx, hBWE_TD->old_core_synth_fx, fb_exc_fx, &Q_fb_exc, hb_synth_fx, NULL, pitch_buf_fx, &hb_synth_fx_exp ); #else swb_tbe_dec_fx( st_fx, st_fx->coder_type, bwe_exc_extended_fx, st_fx->Q_exc, voice_factors_fx, hBWE_TD->old_core_synth_fx, fb_exc_fx, &Q_fb_exc, hb_synth_fx, &hb_synth_fx_exp, pitch_buf_fx ); #endif test(); IF( EQ_16( st_fx->extl, FB_TBE ) && EQ_16( output_frame, L_FRAME48k ) ) { Loading lib_dec/ivas_core_dec_fx.c +4 −0 Original line number Diff line number Diff line Loading @@ -1000,7 +1000,11 @@ ivas_error ivas_core_dec_fx( IF( flag_swb_tbe ) { /* SWB TBE decoder */ #ifdef HARMONIZE_TBE3 swb_tbe_dec_ivas_fx( st, hStereoICBWE, bwe_exc_extended_fx[n], voice_factors_fx[n], old_syn_12k8_16k_fx[n], tmp_buffer_fx /*fb_exc*/, &Q_white_exc, NULL, hb_synth_32_fx[n], pitch_buf_fx[n], &tmp16 ); #else swb_tbe_dec_ivas_fx( st, hStereoICBWE, bwe_exc_extended_fx[n], st->Q_exc, voice_factors_fx[n], old_syn_12k8_16k_fx[n], tmp_buffer_fx /*fb_exc*/, hb_synth_32_fx[n], pitch_buf_fx[n], &Q_white_exc ); #endif 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 Loading lib_dec/swb_tbe_dec_fx.c +401 −80 File changed.Preview size limit exceeded, changes collapsed. Show changes Loading
lib_com/options.h +1 −0 Original line number Diff line number Diff line Loading @@ -96,6 +96,7 @@ #define HARM_2336_DOTP /* VA: basop 2336; Harmonisation of some dot_product function + some BE optimisation */ #define FIX_2431_AVOID_CALLOC /* VA: basp issue 2431: avoid use of calloc() */ #define FIX_2424_REMOVE_GAUSS_L2_ENC /* VA: basop issue 2424: Remove duplicated code in gauss_L2_ivas_fx() */ #define HARMONIZE_TBE3 /* VA: basop issue 2399: Remove duplicated code: TBE, step 3 */ /* #################### End BE switches ################################## */ Loading
lib_com/prot_fx.h +22 −5 Original line number Diff line number Diff line Loading @@ -9829,6 +9829,21 @@ void v_sub32_fx( const Word16 N /* i : Vector length */ ); #ifdef HARMONIZE_TBE3 void swb_tbe_dec_ivas_fx( Decoder_State *st, /* i/o: decoder state structure */ STEREO_ICBWE_DEC_HANDLE hStereoICBWE, /* i/o: IC-BWE state structure */ const Word32 *bwe_exc_extended_fx, /* i : bandwidth extended excitation : Q_exc */ const Word16 voice_factors_fx[], /* i : voicing factors : Q15 */ const Word16 old_syn_12k8_16k_fx16[], /* i : low band synthesis : old_syn_fx */ Word16 *White_exc16k_fx, /* o : shaped white excitation for the FB TBE : Q_white_exc*/ Word16 *Q_white_exc, /* o : Q-factor of White_exc16k_fx */ Word16 *synth_fx16, /* o : SHB synthesis/final synthesis 16-bit : Qx */ Word32 *synth_fx, /* o : SHB synthesis/final synthesis 32-bit : Qx */ Word16 *Q_synth, /* o : Q-factor of synth_fx16[]/synth_fx[] */ Word16 *pitch_buf_fx /* i : Q6 */ ); #else void swb_tbe_dec_ivas_fx( Decoder_State *st, /* i/o: decoder state structure */ STEREO_ICBWE_DEC_HANDLE hStereoICBWE, /* i/o: IC-BWE state structure */ Loading @@ -9837,9 +9852,11 @@ void swb_tbe_dec_ivas_fx( const Word16 voice_factors_fx[], /* i : voicing factors : Q15 */ const Word16 old_syn_12k8_16k_fx16[], /* i : low band synthesis : old_syn_fx */ Word16 *White_exc16k_fx, /* o : shaped white excitation for the FB TBE : Q_white_exc*/ Word32 *synth_fx, /* o : SHB synthesis/final synthesis : Qx */ Word32 *synth_fx, /* o : SHB synthesis/final synthesis 32-bit : Qx */ Word16 *pitch_buf_fx, /* i : Q6 */ Word16 *Q_white_exc ); Word16 *Q_white_exc /* o : Q-factor of White_exc16k_fx */ ); #endif Word16 swb_bwe_dec_fx32( Decoder_State *st_fx, /* i/o: decoder state structure */ Loading
lib_dec/evs_dec_fx.c +12 −1 Original line number Diff line number Diff line Loading @@ -416,8 +416,13 @@ ivas_error evs_dec_fx( IF( EQ_16( st_fx->extl, SWB_TBE ) || EQ_16( st_fx->extl, FB_TBE ) || ( NE_16( st_fx->coder_type, AUDIO ) && NE_16( st_fx->coder_type, INACTIVE ) && GT_32( st_fx->core_brate, SID_2k40 ) && EQ_16( st_fx->core, ACELP_CORE ) && GE_32( st_fx->output_Fs, 32000 ) && GT_16( st_fx->bwidth, NB ) && st_fx->bws_cnt > 0 && !st_fx->ppp_mode_dec && !( EQ_16( st_fx->nelp_mode_dec, 1 ) && EQ_16( st_fx->bfi, 1 ) ) ) ) { /* SWB TBE decoder */ #ifdef HARMONIZE_TBE3 swb_tbe_dec_ivas_fx( st_fx, NULL, bwe_exc_extended_fx, voice_factors_fx, old_syn_12k8_16k_fx, fb_exc_fx, &Q_fb_exc, hb_synth_fx, NULL, pitch_buf_fx, &hb_synth_fx_exp ); #else swb_tbe_dec_fx( st_fx, st_fx->coder_type, bwe_exc_extended_fx, st_fx->Q_exc, voice_factors_fx, old_syn_12k8_16k_fx, fb_exc_fx, &Q_fb_exc, hb_synth_fx, &hb_synth_fx_exp, pitch_buf_fx ); #endif /* FB TBE decoder */ test(); Loading Loading @@ -853,8 +858,14 @@ ivas_error evs_dec_fx( ELSE IF( EQ_16( st_fx->extl, SWB_TBE ) || EQ_16( st_fx->extl, FB_TBE ) ) { /* SWB TBE decoder */ #ifdef HARMONIZE_TBE3 swb_tbe_dec_ivas_fx( st_fx, NULL, bwe_exc_extended_fx, voice_factors_fx, hBWE_TD->old_core_synth_fx, fb_exc_fx, &Q_fb_exc, hb_synth_fx, NULL, pitch_buf_fx, &hb_synth_fx_exp ); #else swb_tbe_dec_fx( st_fx, st_fx->coder_type, bwe_exc_extended_fx, st_fx->Q_exc, voice_factors_fx, hBWE_TD->old_core_synth_fx, fb_exc_fx, &Q_fb_exc, hb_synth_fx, &hb_synth_fx_exp, pitch_buf_fx ); #endif test(); IF( EQ_16( st_fx->extl, FB_TBE ) && EQ_16( output_frame, L_FRAME48k ) ) { Loading
lib_dec/ivas_core_dec_fx.c +4 −0 Original line number Diff line number Diff line Loading @@ -1000,7 +1000,11 @@ ivas_error ivas_core_dec_fx( IF( flag_swb_tbe ) { /* SWB TBE decoder */ #ifdef HARMONIZE_TBE3 swb_tbe_dec_ivas_fx( st, hStereoICBWE, bwe_exc_extended_fx[n], voice_factors_fx[n], old_syn_12k8_16k_fx[n], tmp_buffer_fx /*fb_exc*/, &Q_white_exc, NULL, hb_synth_32_fx[n], pitch_buf_fx[n], &tmp16 ); #else swb_tbe_dec_ivas_fx( st, hStereoICBWE, bwe_exc_extended_fx[n], st->Q_exc, voice_factors_fx[n], old_syn_12k8_16k_fx[n], tmp_buffer_fx /*fb_exc*/, hb_synth_32_fx[n], pitch_buf_fx[n], &Q_white_exc ); #endif 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 Loading
lib_dec/swb_tbe_dec_fx.c +401 −80 File changed.Preview size limit exceeded, changes collapsed. Show changes