Loading lib_com/prot_fx.h +17 −16 Original line number Diff line number Diff line Loading @@ -5516,6 +5516,21 @@ void wb_tbe_dec_fx( Word16 *synth, /* i/o: ACELP core synthesis/final synthesis */ Word16 *Q_synth ); #ifdef HARMONIZE_TBE3 void swb_tbe_dec_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_fx( Decoder_State *st_fx, /* i/o: decoder state structure */ const Word16 coder_type, /* i : coding type */ Loading @@ -5528,6 +5543,7 @@ void swb_tbe_dec_fx( Word16 *synth, /* o : SHB synthesis/final synthesis */ Word16 *Q_synth, Word16 *pitch_buf ); #endif void fb_tbe_dec_fx( Decoder_State *st, /* i/o: encoder state structure */ Loading Loading @@ -9818,21 +9834,7 @@ 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 #ifndef 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 */ Loading @@ -9846,7 +9848,6 @@ void swb_tbe_dec_ivas_fx( 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 */ Word32 output_fx[], /* i : synthesis @internal Fs : Q11 */ Loading lib_dec/evs_dec_fx.c +2 −4 Original line number Diff line number Diff line Loading @@ -417,8 +417,7 @@ ivas_error evs_dec_fx( { /* 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, &hb_synth_fx_exp, pitch_buf_fx ); swb_tbe_dec_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, &hb_synth_fx_exp, pitch_buf_fx ); #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 ); Loading Loading @@ -859,8 +858,7 @@ ivas_error evs_dec_fx( { /* 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, &hb_synth_fx_exp, pitch_buf_fx ); swb_tbe_dec_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, &hb_synth_fx_exp, pitch_buf_fx ); #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 ); Loading lib_dec/ivas_core_dec_fx.c +1 −1 Original line number Diff line number Diff line Loading @@ -1001,7 +1001,7 @@ ivas_error ivas_core_dec_fx( { /* 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], &tmp16, pitch_buf_fx[n] ); swb_tbe_dec_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], NULL, pitch_buf_fx[n] ); #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 Loading lib_dec/swb_tbe_dec_fx.c +32 −6 Original line number Diff line number Diff line Loading @@ -1334,7 +1334,7 @@ void wb_tbe_dec_fx( return; } #ifndef HARMONIZE_TBE3 /*======================================================================================*/ /* FUNCTION : void swb_tbe_dec_fx () */ /*--------------------------------------------------------------------------------------*/ Loading Loading @@ -3022,6 +3022,14 @@ void swb_tbe_dec_fx( return; } #endif /*-------------------------------------------------------------------* * gradientGainShape() * * *-------------------------------------------------------------------*/ static void gradientGainShape( Decoder_State *st_fx, Word16 *GainShape, Loading Loading @@ -4532,7 +4540,7 @@ static void find_max_mem_dec_m3( *-------------------------------------------------------------------*/ #ifdef HARMONIZE_TBE3 void swb_tbe_dec_ivas_fx( void swb_tbe_dec_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 */ Loading Loading @@ -5552,6 +5560,13 @@ void swb_tbe_dec_ivas_fx( move16(); L_ener = EPSILON_FX_SMALL; move32(); #ifdef HARMONIZE_TBE3 if ( st->element_mode == EVS_MONO ) { L_ener = 0; move32(); } #endif FOR( i = 0; i < NUM_SHB_SUBGAINS; i++ ) { Loading Loading @@ -6132,10 +6147,19 @@ void swb_tbe_dec_ivas_fx( curr_frame_pow_exp = hBWE_TD->prev_frame_pow_exp; move16(); } test(); test(); IF( !st->bfi && ( st->prev_bfi || st->prev_use_partial_copy ) ) { #ifdef HARMONIZE_TBE3 IF( st->element_mode == EVS_MONO ) { L_tmp = L_shr( curr_frame_pow_fx, 4 ); L_tmp = Mult_32_16( L_tmp, 17476 ); } #endif test(); test(); IF( ( GT_32( L_shr( curr_frame_pow_fx, 1 ), hBWE_TD->prev_swb_bwe_frame_pow_fx ) ) && Loading Loading @@ -6437,8 +6461,6 @@ void swb_tbe_dec_ivas_fx( #endif { Word32 idx32 = L_shr_r( 0x00333333, 10 ); /*NUM_SHB_SUBFR/L_FRAME16k*/ // Q16 FOR( i = 0; i < L_FRAME16k; i++ ) { Word16 idx; Loading Loading @@ -6602,9 +6624,13 @@ void swb_tbe_dec_ivas_fx( move16(); hBWE_TD->prev_Qx = Q_bwe_exc; move16(); #ifdef HARMONIZE_TBE3 if ( Q_synth != NULL ) { *Q_synth = Q_bwe_exc; move16(); } #endif return; Loading Loading
lib_com/prot_fx.h +17 −16 Original line number Diff line number Diff line Loading @@ -5516,6 +5516,21 @@ void wb_tbe_dec_fx( Word16 *synth, /* i/o: ACELP core synthesis/final synthesis */ Word16 *Q_synth ); #ifdef HARMONIZE_TBE3 void swb_tbe_dec_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_fx( Decoder_State *st_fx, /* i/o: decoder state structure */ const Word16 coder_type, /* i : coding type */ Loading @@ -5528,6 +5543,7 @@ void swb_tbe_dec_fx( Word16 *synth, /* o : SHB synthesis/final synthesis */ Word16 *Q_synth, Word16 *pitch_buf ); #endif void fb_tbe_dec_fx( Decoder_State *st, /* i/o: encoder state structure */ Loading Loading @@ -9818,21 +9834,7 @@ 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 #ifndef 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 */ Loading @@ -9846,7 +9848,6 @@ void swb_tbe_dec_ivas_fx( 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 */ Word32 output_fx[], /* i : synthesis @internal Fs : Q11 */ Loading
lib_dec/evs_dec_fx.c +2 −4 Original line number Diff line number Diff line Loading @@ -417,8 +417,7 @@ ivas_error evs_dec_fx( { /* 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, &hb_synth_fx_exp, pitch_buf_fx ); swb_tbe_dec_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, &hb_synth_fx_exp, pitch_buf_fx ); #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 ); Loading Loading @@ -859,8 +858,7 @@ ivas_error evs_dec_fx( { /* 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, &hb_synth_fx_exp, pitch_buf_fx ); swb_tbe_dec_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, &hb_synth_fx_exp, pitch_buf_fx ); #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 ); Loading
lib_dec/ivas_core_dec_fx.c +1 −1 Original line number Diff line number Diff line Loading @@ -1001,7 +1001,7 @@ ivas_error ivas_core_dec_fx( { /* 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], &tmp16, pitch_buf_fx[n] ); swb_tbe_dec_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], NULL, pitch_buf_fx[n] ); #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 Loading
lib_dec/swb_tbe_dec_fx.c +32 −6 Original line number Diff line number Diff line Loading @@ -1334,7 +1334,7 @@ void wb_tbe_dec_fx( return; } #ifndef HARMONIZE_TBE3 /*======================================================================================*/ /* FUNCTION : void swb_tbe_dec_fx () */ /*--------------------------------------------------------------------------------------*/ Loading Loading @@ -3022,6 +3022,14 @@ void swb_tbe_dec_fx( return; } #endif /*-------------------------------------------------------------------* * gradientGainShape() * * *-------------------------------------------------------------------*/ static void gradientGainShape( Decoder_State *st_fx, Word16 *GainShape, Loading Loading @@ -4532,7 +4540,7 @@ static void find_max_mem_dec_m3( *-------------------------------------------------------------------*/ #ifdef HARMONIZE_TBE3 void swb_tbe_dec_ivas_fx( void swb_tbe_dec_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 */ Loading Loading @@ -5552,6 +5560,13 @@ void swb_tbe_dec_ivas_fx( move16(); L_ener = EPSILON_FX_SMALL; move32(); #ifdef HARMONIZE_TBE3 if ( st->element_mode == EVS_MONO ) { L_ener = 0; move32(); } #endif FOR( i = 0; i < NUM_SHB_SUBGAINS; i++ ) { Loading Loading @@ -6132,10 +6147,19 @@ void swb_tbe_dec_ivas_fx( curr_frame_pow_exp = hBWE_TD->prev_frame_pow_exp; move16(); } test(); test(); IF( !st->bfi && ( st->prev_bfi || st->prev_use_partial_copy ) ) { #ifdef HARMONIZE_TBE3 IF( st->element_mode == EVS_MONO ) { L_tmp = L_shr( curr_frame_pow_fx, 4 ); L_tmp = Mult_32_16( L_tmp, 17476 ); } #endif test(); test(); IF( ( GT_32( L_shr( curr_frame_pow_fx, 1 ), hBWE_TD->prev_swb_bwe_frame_pow_fx ) ) && Loading Loading @@ -6437,8 +6461,6 @@ void swb_tbe_dec_ivas_fx( #endif { Word32 idx32 = L_shr_r( 0x00333333, 10 ); /*NUM_SHB_SUBFR/L_FRAME16k*/ // Q16 FOR( i = 0; i < L_FRAME16k; i++ ) { Word16 idx; Loading Loading @@ -6602,9 +6624,13 @@ void swb_tbe_dec_ivas_fx( move16(); hBWE_TD->prev_Qx = Q_bwe_exc; move16(); #ifdef HARMONIZE_TBE3 if ( Q_synth != NULL ) { *Q_synth = Q_bwe_exc; move16(); } #endif return; Loading