diff --git a/lib_com/options.h b/lib_com/options.h index 86ff4ca1d2582787220bcd432c2a0e8f4912a0e0..6d89e62aab87bdf08ce1a1884d290a8ff2ac5f07 100755 --- a/lib_com/options.h +++ b/lib_com/options.h @@ -158,6 +158,8 @@ #define FIX_557_CRASH_IN_ISM_DTX /* VA issue 557: fix crash in 1ISM 48 kbps DTX */ #define FIX_563_PARAMMC_LIMITER /* FhG: issue 563: fix ILD limiter when coming from silence w/o transient set */ +#define FIX_560_VAD_FLAG /* Eri: Issue 560 - VAD flag issue for unified stereo */ + #define IGF_TUNING_96 /* FhG: Issue 546: slight tuning of IGF config used in 96 kbps stereo, 128 kbps SBA and others */ #define FIX_549_DMX_GAIN /* FhG: issue 549: ParamISM output too quiet */ #define FIX_522_ISM_FIRST_SID /* VA: fix ISM decoder crash if first received frame is an SID */ diff --git a/lib_enc/ivas_core_pre_proc_front.c b/lib_enc/ivas_core_pre_proc_front.c index b9e5061ed53206dfc55d4428d176c72ecf132dbd..879062ff3de40ae66f0245c78f5f023a7f191160 100644 --- a/lib_enc/ivas_core_pre_proc_front.c +++ b/lib_enc/ivas_core_pre_proc_front.c @@ -163,7 +163,9 @@ ivas_error pre_proc_front_ivas( float temp1F_icatdmResampBuf[L_FILT_MAX]; /* temp buffers for ICA TDM resamplers */ int16_t old_pitch1; /* previous frame OL pitch[1] @12.8 kHz */ int16_t LR_localVAD; +#ifndef FIX_560_VAD_FLAG int16_t LR_vad_flag; +#endif ivas_error error; push_wmops( "pre_proc_front" ); @@ -180,7 +182,9 @@ ivas_error pre_proc_front_ivas( res_cod_SNR_M = tmpF; LR_localVAD = 0; +#ifndef FIX_560_VAD_FLAG LR_vad_flag = 0; +#endif if ( hSCE != NULL ) { @@ -208,7 +212,9 @@ ivas_error pre_proc_front_ivas( { /* Combine localVAD and vad_flag from LR processing */ LR_localVAD = hCPE->hCoreCoder[0]->localVAD || hCPE->hCoreCoder[1]->localVAD; +#ifndef FIX_560_VAD_FLAG LR_vad_flag = hCPE->hFrontVad[0]->hVAD->vad_flag || hCPE->hFrontVad[1]->hVAD->vad_flag; +#endif } if ( hCPE->hStereoTD != NULL ) @@ -462,8 +468,10 @@ ivas_error pre_proc_front_ivas( /* Add down mix stereo activity to LR vad_flag_dtx */ *vad_flag_dtx = *vad_flag_dtx || st->vad_flag; +#ifndef FIX_560_VAD_FLAG /* Combine the LR VAD flag and stereo downmix VAD flag */ st->vad_flag = ( LR_vad_flag || st->vad_flag ); +#endif /* Determine hangover flag status based on LR localVAD and downmix localVAD */ *vad_hover_flag = *vad_flag_dtx && !( LR_localVAD || st->localVAD );