diff --git a/lib_com/options.h b/lib_com/options.h index af3057cf381c7f4b8b9cb4676db0f472aa4ee49c..5dddf236eaf2fef2cab58d1b8f98a53e29b27029 100644 --- a/lib_com/options.h +++ b/lib_com/options.h @@ -144,6 +144,7 @@ #define SBA_BR_SWITCHING /* Issue 114: Changes for SBA bit rate switching with reconfiguration for bitrates with same number of transport channels*/ #ifdef SBA_BR_SWITCHING #define SBA_BR_SWITCHING_RECONFIG /* Issue 114: Changes for SBA bitrate switching with reconfiguration for bitrates with different number of transport channels*/ +#define SBA_BR_SWITCHING_COMPLEXITY_FIX /* VA: fix complexity overhead */ #endif #define FIX_I59_DELAY_ROUNDING /* Issue 59: rounding in sample domain instead of nanosec for IVAS_ENC_GetDelay() and IVAS_DEC_GetDelay() */ #define FIX_FIX_I59 /* Issue 59: small fix concerning LFE delay rounding */ diff --git a/lib_enc/ivas_sba_enc.c b/lib_enc/ivas_sba_enc.c index eda030cebec533abec933ccddd67761c4f2439d2..7fd96ae46e544189213b62382466037473094778 100644 --- a/lib_enc/ivas_sba_enc.c +++ b/lib_enc/ivas_sba_enc.c @@ -340,14 +340,15 @@ ivas_error ivas_sba_enc_reconfigure( #ifdef SBA_BR_SWITCHING DIRAC_ENC_HANDLE hDirAC = st_ivas->hDirAC; SPAR_ENC_HANDLE hSpar; + SBA_MODE sba_mode_old; #endif nchan_transport_old = st_ivas->nchan_transport; nCPE_old = st_ivas->nCPE; nSCE_old = st_ivas->nSCE; #ifdef SBA_BR_SWITCHING_RECONFIG - SBA_MODE sba_mode_old; sba_mode_old = st_ivas->sba_mode; #endif + st_ivas->sba_analysis_order = ivas_sba_get_analysis_order( ivas_total_brate, hEncoderConfig->sba_order ); #ifdef SBA_BR_SWITCHING st_ivas->sba_mode = ivas_sba_mode_select( ivas_total_brate ); @@ -399,6 +400,7 @@ ivas_error ivas_sba_enc_reconfigure( hDirAC->hFbMixer = NULL; } + if ( sba_mode_old == SBA_MODE_SPAR ) { // VE: dirty patch -> reconfiguration of SPAR MD, TD_decorr, FbMixer modules should be used instead !!