Loading lib_com/options.h +3 −1 Original line number Diff line number Diff line Loading @@ -145,6 +145,8 @@ #define LOW_RATE_TRANS_CORE_CODER /* Eri: Activate low-rate-encoding-of-transients contribution for core coder, affects MC, MASA and SBA */ #define FIX_197_CREND_INTERFACE #define FIX_329_ENABLE_TD_RENDERER_REVERB_MC /* Eri: Enable reverb for TD renderer for 5.1 and 7.1 with headtracking enabled for IVAS_dec */ #define FIX_330_ENABLE_TD_RENDERER_REVERB_REND /* Eri: Enable reverb for TD renderer for ISM, 5.1 and 7.1 with headtracking enabled for IVAS_rend */ #define FIX_347_DTX_CRASH /* FhG: Fix crash that can happen with DTX */ #define DISABLE_RES_CHANNELS_MCT /* decode only W and residual for Y when outputting to stereo */ #define FIX_107_5MS_SUBFRAME_RENDERING Loading @@ -164,9 +166,9 @@ #define FIX_351_HRTF_COMMAND /* VA: Issue 354 - improve "-hrtf" command-line option */ #define FIX_94_VERIFY_WAV_NUM_CHANNELS /* FhG: Issue 94 - Check if number of channels in input wav file matches encoder/renderer configuration */ #define ISM_HIGHEST_BITRATE /* VA: Issue 284: Update highest bitrate limit in ISM format */ #define TUNE_360_OBJECT_WITH_NOISE /* VA: issue 360: consider objects being speech+noise for active speech coding */ #define DISCRETE_ISM_DTX_CNG /* FhG/VA: contribution 15 - DTX/CNG for (discrete) ISM */ Loading lib_dec/ivas_init_dec.c +14 −0 Original line number Diff line number Diff line Loading @@ -1232,6 +1232,12 @@ ivas_error ivas_init_decoder( if ( st_ivas->hRenderConfig->roomAcoustics.late_reverb_on ) { #ifdef FIX_330_ENABLE_TD_RENDERER_REVERB_REND if ( ( error = ivas_reverb_open( &st_ivas->hReverb, st_ivas->hDecoderConfig->output_config, NULL, st_ivas->hRenderConfig, st_ivas->hDecoderConfig->output_Fs ) ) != IVAS_ERR_OK ) { return error; } #else #ifdef FIX_197_CREND_INTERFACE #ifdef FIX_329_ENABLE_TD_RENDERER_REVERB_MC if ( ( error = ivas_rend_initCrendWrapper( &st_ivas->hCrendWrapper ) ) != IVAS_ERR_OK ) Loading @@ -1248,6 +1254,7 @@ ivas_error ivas_init_decoder( { return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for Crend\n" ); } #endif } } else if ( st_ivas->renderer_type == RENDERER_MC ) Loading Loading @@ -1592,6 +1599,9 @@ void ivas_initialize_handles_dec( st_ivas->hMonoDmxRenderer = NULL; #ifdef FIX_197_CREND_INTERFACE st_ivas->hCrendWrapper = NULL; #ifdef FIX_330_ENABLE_TD_RENDERER_REVERB_REND st_ivas->hReverb = NULL; #endif #else st_ivas->hCrend = NULL; st_ivas->hHrtf = NULL; Loading Loading @@ -1758,6 +1768,10 @@ void ivas_destroy_dec( #else ivas_crend_close( st_ivas ); #endif #ifdef FIX_330_ENABLE_TD_RENDERER_REVERB_REND /* Reverb handle */ ivas_reverb_close( &st_ivas->hReverb ); #endif /* LS config converter handle */ ivas_ls_setup_conversion_close( &st_ivas->hLsSetUpConversion ); Loading lib_dec/ivas_objectRenderer_internal.c +8 −1 Original line number Diff line number Diff line Loading @@ -71,13 +71,20 @@ void ivas_td_binaural_renderer( const int16_t output_frame /* i : output frame length */ ) { #ifdef FIX_330_ENABLE_TD_RENDERER_REVERB_REND ivas_td_binaural_renderer_unwrap( st_ivas->hReverb, #else ivas_td_binaural_renderer_unwrap( st_ivas->hRenderConfig, st_ivas->ini_frame, #ifdef FIX_197_CREND_INTERFACE st_ivas->hCrendWrapper, #else st_ivas->hCrend, #endif #endif st_ivas->transport_config, st_ivas->hDecoderConfig->output_Fs, st_ivas->hBinRendererTd, st_ivas->nchan_transport, LFE_CHANNEL, st_ivas->ivas_format, #ifndef FIX_330_ENABLE_TD_RENDERER_REVERB_REND st_ivas->hDecoderConfig->output_Fs, #endif st_ivas->hBinRendererTd, st_ivas->nchan_transport, LFE_CHANNEL, st_ivas->ivas_format, st_ivas->hIsmMetaData, st_ivas->hDecoderConfig->Opt_Headrotation, ( st_ivas->hHeadTrackData != NULL ) ? st_ivas->hHeadTrackData->Quaternions : NULL, output, output_frame ); } lib_dec/ivas_stat_dec.h +5 −2 Original line number Diff line number Diff line Loading @@ -1226,6 +1226,9 @@ typedef struct Decoder_Struct MONO_DOWNMIX_RENDERER_HANDLE hMonoDmxRenderer; /* Mono downmix structure */ #ifdef FIX_197_CREND_INTERFACE CREND_WRAPPER_HANDLE hCrendWrapper; #ifdef FIX_330_ENABLE_TD_RENDERER_REVERB_REND REVERB_HANDLE hReverb; /* Reverb handle */ #endif #else CREND_HANDLE hCrend; /* Convolution mixer renderer structure */ HRTFS_HANDLE hHrtf; /* HRTFs handle */ Loading lib_enc/ivas_ism_dtx_enc.c +1 −2 Original line number Diff line number Diff line Loading @@ -121,12 +121,11 @@ int16_t ivas_ism_dtx_enc( float lp_noise[MAX_NUM_OBJECTS], lp_noise_variation, lp_noise_mean; float tmp1, tmp2; #ifdef TUNE_360_OBJECT_WITH_NOISE /* initialization */ for ( ch = 0; ch < nchan_transport; ch++ ) { hSCE[ch]->hCoreCoder[0]->low_rate_mode = 0; } #endif /*------------------------------------------------------------------* * compute global ISM DTX flag Loading Loading
lib_com/options.h +3 −1 Original line number Diff line number Diff line Loading @@ -145,6 +145,8 @@ #define LOW_RATE_TRANS_CORE_CODER /* Eri: Activate low-rate-encoding-of-transients contribution for core coder, affects MC, MASA and SBA */ #define FIX_197_CREND_INTERFACE #define FIX_329_ENABLE_TD_RENDERER_REVERB_MC /* Eri: Enable reverb for TD renderer for 5.1 and 7.1 with headtracking enabled for IVAS_dec */ #define FIX_330_ENABLE_TD_RENDERER_REVERB_REND /* Eri: Enable reverb for TD renderer for ISM, 5.1 and 7.1 with headtracking enabled for IVAS_rend */ #define FIX_347_DTX_CRASH /* FhG: Fix crash that can happen with DTX */ #define DISABLE_RES_CHANNELS_MCT /* decode only W and residual for Y when outputting to stereo */ #define FIX_107_5MS_SUBFRAME_RENDERING Loading @@ -164,9 +166,9 @@ #define FIX_351_HRTF_COMMAND /* VA: Issue 354 - improve "-hrtf" command-line option */ #define FIX_94_VERIFY_WAV_NUM_CHANNELS /* FhG: Issue 94 - Check if number of channels in input wav file matches encoder/renderer configuration */ #define ISM_HIGHEST_BITRATE /* VA: Issue 284: Update highest bitrate limit in ISM format */ #define TUNE_360_OBJECT_WITH_NOISE /* VA: issue 360: consider objects being speech+noise for active speech coding */ #define DISCRETE_ISM_DTX_CNG /* FhG/VA: contribution 15 - DTX/CNG for (discrete) ISM */ Loading
lib_dec/ivas_init_dec.c +14 −0 Original line number Diff line number Diff line Loading @@ -1232,6 +1232,12 @@ ivas_error ivas_init_decoder( if ( st_ivas->hRenderConfig->roomAcoustics.late_reverb_on ) { #ifdef FIX_330_ENABLE_TD_RENDERER_REVERB_REND if ( ( error = ivas_reverb_open( &st_ivas->hReverb, st_ivas->hDecoderConfig->output_config, NULL, st_ivas->hRenderConfig, st_ivas->hDecoderConfig->output_Fs ) ) != IVAS_ERR_OK ) { return error; } #else #ifdef FIX_197_CREND_INTERFACE #ifdef FIX_329_ENABLE_TD_RENDERER_REVERB_MC if ( ( error = ivas_rend_initCrendWrapper( &st_ivas->hCrendWrapper ) ) != IVAS_ERR_OK ) Loading @@ -1248,6 +1254,7 @@ ivas_error ivas_init_decoder( { return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for Crend\n" ); } #endif } } else if ( st_ivas->renderer_type == RENDERER_MC ) Loading Loading @@ -1592,6 +1599,9 @@ void ivas_initialize_handles_dec( st_ivas->hMonoDmxRenderer = NULL; #ifdef FIX_197_CREND_INTERFACE st_ivas->hCrendWrapper = NULL; #ifdef FIX_330_ENABLE_TD_RENDERER_REVERB_REND st_ivas->hReverb = NULL; #endif #else st_ivas->hCrend = NULL; st_ivas->hHrtf = NULL; Loading Loading @@ -1758,6 +1768,10 @@ void ivas_destroy_dec( #else ivas_crend_close( st_ivas ); #endif #ifdef FIX_330_ENABLE_TD_RENDERER_REVERB_REND /* Reverb handle */ ivas_reverb_close( &st_ivas->hReverb ); #endif /* LS config converter handle */ ivas_ls_setup_conversion_close( &st_ivas->hLsSetUpConversion ); Loading
lib_dec/ivas_objectRenderer_internal.c +8 −1 Original line number Diff line number Diff line Loading @@ -71,13 +71,20 @@ void ivas_td_binaural_renderer( const int16_t output_frame /* i : output frame length */ ) { #ifdef FIX_330_ENABLE_TD_RENDERER_REVERB_REND ivas_td_binaural_renderer_unwrap( st_ivas->hReverb, #else ivas_td_binaural_renderer_unwrap( st_ivas->hRenderConfig, st_ivas->ini_frame, #ifdef FIX_197_CREND_INTERFACE st_ivas->hCrendWrapper, #else st_ivas->hCrend, #endif #endif st_ivas->transport_config, st_ivas->hDecoderConfig->output_Fs, st_ivas->hBinRendererTd, st_ivas->nchan_transport, LFE_CHANNEL, st_ivas->ivas_format, #ifndef FIX_330_ENABLE_TD_RENDERER_REVERB_REND st_ivas->hDecoderConfig->output_Fs, #endif st_ivas->hBinRendererTd, st_ivas->nchan_transport, LFE_CHANNEL, st_ivas->ivas_format, st_ivas->hIsmMetaData, st_ivas->hDecoderConfig->Opt_Headrotation, ( st_ivas->hHeadTrackData != NULL ) ? st_ivas->hHeadTrackData->Quaternions : NULL, output, output_frame ); }
lib_dec/ivas_stat_dec.h +5 −2 Original line number Diff line number Diff line Loading @@ -1226,6 +1226,9 @@ typedef struct Decoder_Struct MONO_DOWNMIX_RENDERER_HANDLE hMonoDmxRenderer; /* Mono downmix structure */ #ifdef FIX_197_CREND_INTERFACE CREND_WRAPPER_HANDLE hCrendWrapper; #ifdef FIX_330_ENABLE_TD_RENDERER_REVERB_REND REVERB_HANDLE hReverb; /* Reverb handle */ #endif #else CREND_HANDLE hCrend; /* Convolution mixer renderer structure */ HRTFS_HANDLE hHrtf; /* HRTFs handle */ Loading
lib_enc/ivas_ism_dtx_enc.c +1 −2 Original line number Diff line number Diff line Loading @@ -121,12 +121,11 @@ int16_t ivas_ism_dtx_enc( float lp_noise[MAX_NUM_OBJECTS], lp_noise_variation, lp_noise_mean; float tmp1, tmp2; #ifdef TUNE_360_OBJECT_WITH_NOISE /* initialization */ for ( ch = 0; ch < nchan_transport; ch++ ) { hSCE[ch]->hCoreCoder[0]->low_rate_mode = 0; } #endif /*------------------------------------------------------------------* * compute global ISM DTX flag Loading