Loading lib_dec/ivas_init_dec.c +1 −1 Original line number Diff line number Diff line Loading @@ -427,7 +427,7 @@ static ivas_error ivas_read_format( break; case SID_ISM: st_ivas->ivas_format = ISM_FORMAT; #ifndef DISCRETE_ISM_DTX #ifndef DISCRETE_ISM_DTX_CNG #ifdef PARAM_ISM_DTX_CNG if ( st_ivas->ism_mode == ISM_MODE_DISC ) { Loading lib_enc/ivas_init_enc.c +4 −0 Original line number Diff line number Diff line Loading @@ -443,7 +443,11 @@ ivas_error ivas_init_encoder( } #ifdef PARAM_ISM_DTX_CNG #ifdef DISCRETE_ISM_DTX_CNG if ( st_ivas->hEncoderConfig->Opt_DTX_ON ) #else if ( st_ivas->hEncoderConfig->Opt_DTX_ON && st_ivas->ism_mode == ISM_MODE_PARAM ) #endif { if ( ( error = ivas_ism_dtx_open( st_ivas ) ) != IVAS_ERR_OK ) { Loading lib_enc/ivas_ism_dtx_enc.c +4 −0 Original line number Diff line number Diff line Loading @@ -486,7 +486,11 @@ void ivas_ism_coh_estim_dtx_enc( { Encoder_State *st, *st_id0; int16_t sce_id, i; #ifdef DISCRETE_ISM_DTX_CNG float acorr_ene[MAX_NUM_OBJECTS], xcorr_ene; #else float acorr_ene[PARAM_ISM_MAX_DMX], xcorr_ene; #endif if ( nchan_transport == 1 ) { Loading lib_enc/ivas_ism_enc.c +12 −3 Original line number Diff line number Diff line Loading @@ -88,7 +88,7 @@ ivas_error ivas_ism_enc( int16_t i, nBits; #ifdef PARAM_ISM_DTX_CNG #ifdef DISCRETE_ISM_DTX_CNG int16_t num_obj, dtx_flag, sid_flag; int16_t num_obj, dtx_flag, sid_flag, flag_noisy_speech; int16_t md_diff_flag[MAX_NUM_OBJECTS]; #else int16_t dtx_flag, sid_flag; Loading @@ -107,6 +107,7 @@ ivas_error ivas_ism_enc( #ifdef PARAM_ISM_DTX_CNG dtx_flag = 0; sid_flag = 0; flag_noisy_speech = 0; #ifdef DISCRETE_ISM_DTX_CNG if ( st_ivas->ism_mode == ISM_MODE_PARAM ) Loading Loading @@ -228,6 +229,7 @@ ivas_error ivas_ism_enc( } #ifdef DEBUG_MODE_PARAM_ISM if ( st_ivas->hDirAC != NULL ) dbgwrite( &( st_ivas->hDirAC->hParamIsm->flag_noisy_speech ), sizeof( int16_t ), 1, 1, "./res/ParamISM_noisy_speech_flag_enc.dat" ); dbgwrite( &( st_ivas->hISMDTX->dtx_flag ), sizeof( int16_t ), 1, 1, "./res/ParamISM_DTX_CNG_flag_enc.dat" ); #endif Loading @@ -243,6 +245,9 @@ ivas_error ivas_ism_enc( if ( st_ivas->ism_mode == ISM_MODE_PARAM ) { ivas_param_ism_compute_noisy_speech_flag( st_ivas ); #ifdef DISCRETE_ISM_DTX_CNG flag_noisy_speech = st_ivas->hDirAC->hParamIsm->flag_noisy_speech; #endif } if ( dtx_flag ) Loading @@ -250,7 +255,7 @@ ivas_error ivas_ism_enc( #ifdef DISCRETE_ISM_DTX_CNG if ( st_ivas->ism_mode != ISM_MODE_PARAM ) { ivas_ism_metadata_sid_enc( st_ivas->hISMDTX, st_ivas->hDirAC->hParamIsm->flag_noisy_speech, num_obj, st_ivas->nchan_transport, st_ivas->ism_mode, st_ivas->hIsmMetaData, sid_flag, md_diff_flag, st_ivas->hSCE[st_ivas->nSCE - 1]->hMetaData, nb_bits_metadata ); ivas_ism_metadata_sid_enc( st_ivas->hISMDTX, flag_noisy_speech, num_obj, st_ivas->nchan_transport, st_ivas->ism_mode, st_ivas->hIsmMetaData, sid_flag, md_diff_flag, st_ivas->hSCE[st_ivas->nSCE - 1]->hMetaData, nb_bits_metadata ); } else #endif Loading Loading @@ -311,7 +316,11 @@ ivas_error ivas_ism_enc( st = st_ivas->hSCE[0]->hCoreCoder[0]; #ifdef DISCRETE_ISM_DTX_CNG if ( st->core_brate == SID_2k40 || sid_flag ) // VE!!!!! to be simplified #else if ( st->core_brate == SID_2k40 ) #endif { ivas_write_format_sid( st_ivas->hEncoderConfig->ivas_format, IVAS_SCE, st->hBstr ); Loading lib_enc/lib_enc.c +11 −6 Original line number Diff line number Diff line Loading @@ -875,8 +875,11 @@ static ivas_error configureEncoder( #ifdef PARAM_ISM_DTX_CNG if ( hEncoderConfig->Opt_DTX_ON && hEncoderConfig->ivas_format != MONO_FORMAT && ( ( hEncoderConfig->ivas_format == ISM_FORMAT && hEncoderConfig->nchan_inp == 2 ) || // ToDo: see Issue 113 ( #ifndef DISCRETE_ISM_DTX_CNG ( hEncoderConfig->ivas_format == ISM_FORMAT && hEncoderConfig->nchan_inp == 2 ) || // ToDo: see Issue 113 ( hEncoderConfig->ivas_format == ISM_FORMAT && hEncoderConfig->nchan_inp > 2 && hEncoderConfig->ivas_total_brate != IVAS_24k4 && hEncoderConfig->ivas_total_brate != IVAS_32k ) || // ParamISM #endif ( hEncoderConfig->ivas_format == MASA_FORMAT && hEncoderConfig->ivas_total_brate > IVAS_128k ) || // ToDo: remove the bitrate limitation ( hEncoderConfig->ivas_format == SBA_FORMAT && ivas_get_sba_num_TCs( hEncoderConfig->ivas_total_brate, 1 ) > 2 ) || // ToDo: support for 3+ TCs to be done hEncoderConfig->ivas_format == MC_FORMAT // ToDo: TBD Loading Loading @@ -919,11 +922,13 @@ static ivas_error configureEncoder( return error; } #ifndef DISCRETE_ISM_DTX_CNG #ifdef PARAM_ISM_DTX_CNG if ( hEncoderConfig->Opt_DTX_ON && ( hEncoderConfig->ivas_format == ISM_FORMAT ) && !( st_ivas->ism_mode == ISM_MODE_DISC && hEncoderConfig->nchan_inp == 1 ) && !( st_ivas->ism_mode == ISM_MODE_PARAM && ( hEncoderConfig->nchan_inp == 3 || hEncoderConfig->nchan_inp == 4 ) ) ) { return IVAS_ERROR( IVAS_ERR_UNKNOWN, "DTX is not supported in this IVAS format and element mode." ); } #endif #endif if ( hEncoderConfig->ivas_format == MONO_FORMAT ) Loading Loading
lib_dec/ivas_init_dec.c +1 −1 Original line number Diff line number Diff line Loading @@ -427,7 +427,7 @@ static ivas_error ivas_read_format( break; case SID_ISM: st_ivas->ivas_format = ISM_FORMAT; #ifndef DISCRETE_ISM_DTX #ifndef DISCRETE_ISM_DTX_CNG #ifdef PARAM_ISM_DTX_CNG if ( st_ivas->ism_mode == ISM_MODE_DISC ) { Loading
lib_enc/ivas_init_enc.c +4 −0 Original line number Diff line number Diff line Loading @@ -443,7 +443,11 @@ ivas_error ivas_init_encoder( } #ifdef PARAM_ISM_DTX_CNG #ifdef DISCRETE_ISM_DTX_CNG if ( st_ivas->hEncoderConfig->Opt_DTX_ON ) #else if ( st_ivas->hEncoderConfig->Opt_DTX_ON && st_ivas->ism_mode == ISM_MODE_PARAM ) #endif { if ( ( error = ivas_ism_dtx_open( st_ivas ) ) != IVAS_ERR_OK ) { Loading
lib_enc/ivas_ism_dtx_enc.c +4 −0 Original line number Diff line number Diff line Loading @@ -486,7 +486,11 @@ void ivas_ism_coh_estim_dtx_enc( { Encoder_State *st, *st_id0; int16_t sce_id, i; #ifdef DISCRETE_ISM_DTX_CNG float acorr_ene[MAX_NUM_OBJECTS], xcorr_ene; #else float acorr_ene[PARAM_ISM_MAX_DMX], xcorr_ene; #endif if ( nchan_transport == 1 ) { Loading
lib_enc/ivas_ism_enc.c +12 −3 Original line number Diff line number Diff line Loading @@ -88,7 +88,7 @@ ivas_error ivas_ism_enc( int16_t i, nBits; #ifdef PARAM_ISM_DTX_CNG #ifdef DISCRETE_ISM_DTX_CNG int16_t num_obj, dtx_flag, sid_flag; int16_t num_obj, dtx_flag, sid_flag, flag_noisy_speech; int16_t md_diff_flag[MAX_NUM_OBJECTS]; #else int16_t dtx_flag, sid_flag; Loading @@ -107,6 +107,7 @@ ivas_error ivas_ism_enc( #ifdef PARAM_ISM_DTX_CNG dtx_flag = 0; sid_flag = 0; flag_noisy_speech = 0; #ifdef DISCRETE_ISM_DTX_CNG if ( st_ivas->ism_mode == ISM_MODE_PARAM ) Loading Loading @@ -228,6 +229,7 @@ ivas_error ivas_ism_enc( } #ifdef DEBUG_MODE_PARAM_ISM if ( st_ivas->hDirAC != NULL ) dbgwrite( &( st_ivas->hDirAC->hParamIsm->flag_noisy_speech ), sizeof( int16_t ), 1, 1, "./res/ParamISM_noisy_speech_flag_enc.dat" ); dbgwrite( &( st_ivas->hISMDTX->dtx_flag ), sizeof( int16_t ), 1, 1, "./res/ParamISM_DTX_CNG_flag_enc.dat" ); #endif Loading @@ -243,6 +245,9 @@ ivas_error ivas_ism_enc( if ( st_ivas->ism_mode == ISM_MODE_PARAM ) { ivas_param_ism_compute_noisy_speech_flag( st_ivas ); #ifdef DISCRETE_ISM_DTX_CNG flag_noisy_speech = st_ivas->hDirAC->hParamIsm->flag_noisy_speech; #endif } if ( dtx_flag ) Loading @@ -250,7 +255,7 @@ ivas_error ivas_ism_enc( #ifdef DISCRETE_ISM_DTX_CNG if ( st_ivas->ism_mode != ISM_MODE_PARAM ) { ivas_ism_metadata_sid_enc( st_ivas->hISMDTX, st_ivas->hDirAC->hParamIsm->flag_noisy_speech, num_obj, st_ivas->nchan_transport, st_ivas->ism_mode, st_ivas->hIsmMetaData, sid_flag, md_diff_flag, st_ivas->hSCE[st_ivas->nSCE - 1]->hMetaData, nb_bits_metadata ); ivas_ism_metadata_sid_enc( st_ivas->hISMDTX, flag_noisy_speech, num_obj, st_ivas->nchan_transport, st_ivas->ism_mode, st_ivas->hIsmMetaData, sid_flag, md_diff_flag, st_ivas->hSCE[st_ivas->nSCE - 1]->hMetaData, nb_bits_metadata ); } else #endif Loading Loading @@ -311,7 +316,11 @@ ivas_error ivas_ism_enc( st = st_ivas->hSCE[0]->hCoreCoder[0]; #ifdef DISCRETE_ISM_DTX_CNG if ( st->core_brate == SID_2k40 || sid_flag ) // VE!!!!! to be simplified #else if ( st->core_brate == SID_2k40 ) #endif { ivas_write_format_sid( st_ivas->hEncoderConfig->ivas_format, IVAS_SCE, st->hBstr ); Loading
lib_enc/lib_enc.c +11 −6 Original line number Diff line number Diff line Loading @@ -875,8 +875,11 @@ static ivas_error configureEncoder( #ifdef PARAM_ISM_DTX_CNG if ( hEncoderConfig->Opt_DTX_ON && hEncoderConfig->ivas_format != MONO_FORMAT && ( ( hEncoderConfig->ivas_format == ISM_FORMAT && hEncoderConfig->nchan_inp == 2 ) || // ToDo: see Issue 113 ( #ifndef DISCRETE_ISM_DTX_CNG ( hEncoderConfig->ivas_format == ISM_FORMAT && hEncoderConfig->nchan_inp == 2 ) || // ToDo: see Issue 113 ( hEncoderConfig->ivas_format == ISM_FORMAT && hEncoderConfig->nchan_inp > 2 && hEncoderConfig->ivas_total_brate != IVAS_24k4 && hEncoderConfig->ivas_total_brate != IVAS_32k ) || // ParamISM #endif ( hEncoderConfig->ivas_format == MASA_FORMAT && hEncoderConfig->ivas_total_brate > IVAS_128k ) || // ToDo: remove the bitrate limitation ( hEncoderConfig->ivas_format == SBA_FORMAT && ivas_get_sba_num_TCs( hEncoderConfig->ivas_total_brate, 1 ) > 2 ) || // ToDo: support for 3+ TCs to be done hEncoderConfig->ivas_format == MC_FORMAT // ToDo: TBD Loading Loading @@ -919,11 +922,13 @@ static ivas_error configureEncoder( return error; } #ifndef DISCRETE_ISM_DTX_CNG #ifdef PARAM_ISM_DTX_CNG if ( hEncoderConfig->Opt_DTX_ON && ( hEncoderConfig->ivas_format == ISM_FORMAT ) && !( st_ivas->ism_mode == ISM_MODE_DISC && hEncoderConfig->nchan_inp == 1 ) && !( st_ivas->ism_mode == ISM_MODE_PARAM && ( hEncoderConfig->nchan_inp == 3 || hEncoderConfig->nchan_inp == 4 ) ) ) { return IVAS_ERROR( IVAS_ERR_UNKNOWN, "DTX is not supported in this IVAS format and element mode." ); } #endif #endif if ( hEncoderConfig->ivas_format == MONO_FORMAT ) Loading