Loading lib_com/options.h +2 −3 Original line number Diff line number Diff line Loading @@ -156,10 +156,9 @@ #define FIX_FIX_I59 /* Issue 59: small fix concerning LFE delay rounding */ #define FIX_I59_CREND /* Issue 59: Fixes for gcc compiler warnings in ivas_crend_utest_utils.c */ #define LOW_RATE_TRANS /* Eri: Contribution 20: low rate encoding of transients */ #define MC_BITRATE_SWITCHING /* Issue 116: support bitrate switching in MC format */ #define SIMPLIFY_TD_BWE_RESET /* Issue 250: Resolve "TB-BWE state memories reset simplification" */ /* ################## End DEVELOPMENT switches ######################### */ Loading lib_com/prot.h +7 −0 Original line number Diff line number Diff line Loading @@ -2623,6 +2623,13 @@ void InitSWBencBuffer( TD_BWE_ENC_HANDLE hBWE_TD /* i/o: TD BWE data handle */ ); #ifdef SIMPLIFY_TD_BWE_RESET void InitSWBencBufferStates( TD_BWE_ENC_HANDLE hBWE_TD, /* i/o: TD BWE data handle */ float *shb_speech /* o : SHB target signal (6-14kHz) at 16kHz */ ); #endif void swb_tbe_enc( Encoder_State *st, /* i/o: encoder state structure */ STEREO_ICBWE_ENC_HANDLE hStereoICBWE, /* i/o: IC-BWE state structure */ Loading lib_enc/core_switching_enc.c +4 −0 Original line number Diff line number Diff line Loading @@ -401,6 +401,9 @@ void core_switching_post_enc( ( st->last_core == HQ_CORE || st->L_frame != st->last_L_frame || ( st->last_extl != SWB_TBE && st->last_extl != FB_TBE && st->last_core != TCX_20_CORE && st->last_core != TCX_10_CORE ) ) ) { set_f( st->hBWE_TD->state_ana_filt_shb, 0.0f, ( 2 * ALLPASSSECTIONS_STEEP + 1 ) ); #ifdef SIMPLIFY_TD_BWE_RESET InitSWBencBufferStates( st->hBWE_TD, NULL ); #else set_f( st->hBWE_TD->old_speech_shb, 0.0f, L_LOOK_16k + L_SUBFR16k ); set_f( st->hBWE_TD->mem_shb_res, 0.0f, MAX_LEN_MA_FILTER ); set_f( st->hBWE_TD->old_EnvSHBres, 0.0f, L_FRAME4k ); Loading @@ -410,6 +413,7 @@ void core_switching_post_enc( st->hBWE_TD->prev_pow_exc16kWhtnd = 1.0f; st->hBWE_TD->prev_mix_factor = 1.0f; st->hBWE_TD->prev_Env_error = 0.0f; #endif swb_tbe_reset( st->hBWE_TD->mem_csfilt, st->hBWE_TD->mem_genSHBexc_filt_down_shb, st->hBWE_TD->state_lpc_syn, st->hBWE_TD->syn_overlap, st->hBWE_TD->state_syn_shbexc, &( st->hBWE_TD->tbe_demph ), &( st->hBWE_TD->tbe_premph ), st->hBWE_TD->mem_stp_swb, &( st->hBWE_TD->gain_prec_swb ) ); Loading lib_enc/evs_enc.c +6 −0 Original line number Diff line number Diff line Loading @@ -163,6 +163,7 @@ ivas_error evs_enc( if ( st->last_core == AMR_WB_CORE ) { updt_IO_switch_enc( st, input_frame ); #ifndef SIMPLIFY_TD_BWE_RESET set_f( st->hBWE_TD->old_speech_shb, 0, L_LOOK_16k + L_SUBFR16k ); set_f( st->hBWE_TD->mem_shb_res, 0.0f, MAX_LEN_MA_FILTER ); set_f( st->hBWE_TD->old_EnvSHBres, 0.0f, L_FRAME4k ); Loading @@ -174,6 +175,7 @@ ivas_error evs_enc( st->hBWE_TD->prev_Env_error = 0.0f; cldfb_reset_memory( st->cldfbAnaEnc ); cldfb_reset_memory( st->cldfbSynTd ); #endif } /*---------------------------------------------------------------------* Loading Loading @@ -426,6 +428,9 @@ ivas_error evs_enc( } else if ( st->input_Fs >= 32000 ) { #ifdef SIMPLIFY_TD_BWE_RESET InitSWBencBufferStates( st->hBWE_TD, shb_speech ); #else set_f( st->hBWE_TD->old_speech_shb, 0.0f, L_LOOK_16k + L_SUBFR16k ); set_f( shb_speech, 0.0f, L_FRAME16k ); set_f( st->hBWE_TD->mem_shb_res, 0.0f, MAX_LEN_MA_FILTER ); Loading @@ -436,6 +441,7 @@ ivas_error evs_enc( st->hBWE_TD->prev_pow_exc16kWhtnd = 1.0f; st->hBWE_TD->prev_mix_factor = 1.0f; st->hBWE_TD->prev_Env_error = 0.0f; #endif } /* SWB TBE encoder */ Loading lib_enc/ivas_core_enc.c +4 −0 Original line number Diff line number Diff line Loading @@ -343,6 +343,9 @@ ivas_error ivas_core_enc( { if ( st->hBWE_TD != NULL ) { #ifdef SIMPLIFY_TD_BWE_RESET InitSWBencBufferStates( st->hBWE_TD, shb_speech ); #else set_f( st->hBWE_TD->old_speech_shb, 0.0f, L_LOOK_16k + L_SUBFR16k ); set_f( shb_speech, 0.0f, L_FRAME16k ); set_f( st->hBWE_TD->mem_shb_res, 0.0f, MAX_LEN_MA_FILTER ); Loading @@ -353,6 +356,7 @@ ivas_error ivas_core_enc( st->hBWE_TD->prev_pow_exc16kWhtnd = 1.0f; st->hBWE_TD->prev_mix_factor = 1.0f; st->hBWE_TD->prev_Env_error = 0.0f; #endif } } Loading Loading
lib_com/options.h +2 −3 Original line number Diff line number Diff line Loading @@ -156,10 +156,9 @@ #define FIX_FIX_I59 /* Issue 59: small fix concerning LFE delay rounding */ #define FIX_I59_CREND /* Issue 59: Fixes for gcc compiler warnings in ivas_crend_utest_utils.c */ #define LOW_RATE_TRANS /* Eri: Contribution 20: low rate encoding of transients */ #define MC_BITRATE_SWITCHING /* Issue 116: support bitrate switching in MC format */ #define SIMPLIFY_TD_BWE_RESET /* Issue 250: Resolve "TB-BWE state memories reset simplification" */ /* ################## End DEVELOPMENT switches ######################### */ Loading
lib_com/prot.h +7 −0 Original line number Diff line number Diff line Loading @@ -2623,6 +2623,13 @@ void InitSWBencBuffer( TD_BWE_ENC_HANDLE hBWE_TD /* i/o: TD BWE data handle */ ); #ifdef SIMPLIFY_TD_BWE_RESET void InitSWBencBufferStates( TD_BWE_ENC_HANDLE hBWE_TD, /* i/o: TD BWE data handle */ float *shb_speech /* o : SHB target signal (6-14kHz) at 16kHz */ ); #endif void swb_tbe_enc( Encoder_State *st, /* i/o: encoder state structure */ STEREO_ICBWE_ENC_HANDLE hStereoICBWE, /* i/o: IC-BWE state structure */ Loading
lib_enc/core_switching_enc.c +4 −0 Original line number Diff line number Diff line Loading @@ -401,6 +401,9 @@ void core_switching_post_enc( ( st->last_core == HQ_CORE || st->L_frame != st->last_L_frame || ( st->last_extl != SWB_TBE && st->last_extl != FB_TBE && st->last_core != TCX_20_CORE && st->last_core != TCX_10_CORE ) ) ) { set_f( st->hBWE_TD->state_ana_filt_shb, 0.0f, ( 2 * ALLPASSSECTIONS_STEEP + 1 ) ); #ifdef SIMPLIFY_TD_BWE_RESET InitSWBencBufferStates( st->hBWE_TD, NULL ); #else set_f( st->hBWE_TD->old_speech_shb, 0.0f, L_LOOK_16k + L_SUBFR16k ); set_f( st->hBWE_TD->mem_shb_res, 0.0f, MAX_LEN_MA_FILTER ); set_f( st->hBWE_TD->old_EnvSHBres, 0.0f, L_FRAME4k ); Loading @@ -410,6 +413,7 @@ void core_switching_post_enc( st->hBWE_TD->prev_pow_exc16kWhtnd = 1.0f; st->hBWE_TD->prev_mix_factor = 1.0f; st->hBWE_TD->prev_Env_error = 0.0f; #endif swb_tbe_reset( st->hBWE_TD->mem_csfilt, st->hBWE_TD->mem_genSHBexc_filt_down_shb, st->hBWE_TD->state_lpc_syn, st->hBWE_TD->syn_overlap, st->hBWE_TD->state_syn_shbexc, &( st->hBWE_TD->tbe_demph ), &( st->hBWE_TD->tbe_premph ), st->hBWE_TD->mem_stp_swb, &( st->hBWE_TD->gain_prec_swb ) ); Loading
lib_enc/evs_enc.c +6 −0 Original line number Diff line number Diff line Loading @@ -163,6 +163,7 @@ ivas_error evs_enc( if ( st->last_core == AMR_WB_CORE ) { updt_IO_switch_enc( st, input_frame ); #ifndef SIMPLIFY_TD_BWE_RESET set_f( st->hBWE_TD->old_speech_shb, 0, L_LOOK_16k + L_SUBFR16k ); set_f( st->hBWE_TD->mem_shb_res, 0.0f, MAX_LEN_MA_FILTER ); set_f( st->hBWE_TD->old_EnvSHBres, 0.0f, L_FRAME4k ); Loading @@ -174,6 +175,7 @@ ivas_error evs_enc( st->hBWE_TD->prev_Env_error = 0.0f; cldfb_reset_memory( st->cldfbAnaEnc ); cldfb_reset_memory( st->cldfbSynTd ); #endif } /*---------------------------------------------------------------------* Loading Loading @@ -426,6 +428,9 @@ ivas_error evs_enc( } else if ( st->input_Fs >= 32000 ) { #ifdef SIMPLIFY_TD_BWE_RESET InitSWBencBufferStates( st->hBWE_TD, shb_speech ); #else set_f( st->hBWE_TD->old_speech_shb, 0.0f, L_LOOK_16k + L_SUBFR16k ); set_f( shb_speech, 0.0f, L_FRAME16k ); set_f( st->hBWE_TD->mem_shb_res, 0.0f, MAX_LEN_MA_FILTER ); Loading @@ -436,6 +441,7 @@ ivas_error evs_enc( st->hBWE_TD->prev_pow_exc16kWhtnd = 1.0f; st->hBWE_TD->prev_mix_factor = 1.0f; st->hBWE_TD->prev_Env_error = 0.0f; #endif } /* SWB TBE encoder */ Loading
lib_enc/ivas_core_enc.c +4 −0 Original line number Diff line number Diff line Loading @@ -343,6 +343,9 @@ ivas_error ivas_core_enc( { if ( st->hBWE_TD != NULL ) { #ifdef SIMPLIFY_TD_BWE_RESET InitSWBencBufferStates( st->hBWE_TD, shb_speech ); #else set_f( st->hBWE_TD->old_speech_shb, 0.0f, L_LOOK_16k + L_SUBFR16k ); set_f( shb_speech, 0.0f, L_FRAME16k ); set_f( st->hBWE_TD->mem_shb_res, 0.0f, MAX_LEN_MA_FILTER ); Loading @@ -353,6 +356,7 @@ ivas_error ivas_core_enc( st->hBWE_TD->prev_pow_exc16kWhtnd = 1.0f; st->hBWE_TD->prev_mix_factor = 1.0f; st->hBWE_TD->prev_Env_error = 0.0f; #endif } } Loading