Loading lib_com/ivas_prot.h +6 −0 Original line number Diff line number Diff line Loading @@ -5276,6 +5276,12 @@ ivas_error ivas_ism_renderer_open( Decoder_Struct *st_ivas /* i/o: IVAS decoder structure */ ); #ifdef FIX_ISMRENDERER_HANDLE_DEALLOC void ivas_ism_renderer_close( ISM_RENDERER_HANDLE *hIsmRendererData /* i/o: ISM renderer handle */ ); #endif void ivas_ism_render( Decoder_Struct *st_ivas, /* i/o: IVAS decoder structure */ float *output_f[], /* i/o: core-coder transport channels/object output */ Loading lib_com/options.h +2 −1 Original line number Diff line number Diff line Loading @@ -173,6 +173,7 @@ #define FIX_518_ISM_BRIR_EXTREND /* FhG: fix issue #518, cleanup ISM to BINAURAL_ROOM_IR rendering in the external renderer */ #define FIX_764_HARM_CODE /* VA: issue 764: introduce new function for the same code block at four different places */ #define FIX_747_ISM_TODOS /* VA: issue 747 - address ISM ToDos */ #define FIX_ISMRENDERER_HANDLE_DEALLOC /* VA: issue 781: harmonize Deallocation of handle 'hIsmRendererData' */ /* #################### End BE switches ################################## */ Loading @@ -199,9 +200,9 @@ #define NONBE_FIX_ISM_DTX_INFINITE_CNG_ON_TRAILING_SILENCE /* FhG: fix for cng in ISM DTX on sudden silence periods - JBM addon (issue 552) */ #define NONBE_FIX_738_SBA_BR_SW_ASAN /* FhG: issue 738: fixes bug when switching to an MCT bitrate and previous frame was ACELP */ #define NONBE_CR_FIX_735_SBA_HP20_BRATE_SWITCHING /* VA: Issue 735: Resolve "HP20 filtering bug in SBA/OSBA bitrate switching" */ #define NONBE_FIX_588_UPDATE_FASTCONV_SD /* FhG: issue 588: update FastConv SD HRTFs in CLDFB domain with new conversion method */ /* ##################### End NON-BE switches ########################### */ /* ################## End DEVELOPMENT switches ######################### */ Loading lib_dec/ivas_init_dec.c +4 −0 Original line number Diff line number Diff line Loading @@ -2550,12 +2550,16 @@ void ivas_destroy_dec( ivas_ism_metadata_close( st_ivas->hIsmMetaData, 0 ); /* ISM renderer handle */ #ifdef FIX_ISMRENDERER_HANDLE_DEALLOC ivas_ism_renderer_close( &( st_ivas->hIsmRendererData ) ); #else if ( st_ivas->hIsmRendererData != NULL ) { free( st_ivas->hIsmRendererData->interpolator ); free( st_ivas->hIsmRendererData ); st_ivas->hIsmRendererData = NULL; } #endif /* DirAC handle */ if ( st_ivas->ivas_format == ISM_FORMAT ) Loading lib_dec/ivas_ism_dec.c +9 −0 Original line number Diff line number Diff line Loading @@ -210,12 +210,17 @@ static ivas_error ivas_ism_bitrate_switching_dec( else { /* close the ISM renderer and reinitialize */ #ifdef FIX_ISMRENDERER_HANDLE_DEALLOC ivas_ism_renderer_close( &st_ivas->hIsmRendererData ); #else if ( st_ivas->hIsmRendererData != NULL ) { free( st_ivas->hIsmRendererData->interpolator ); free( st_ivas->hIsmRendererData ); st_ivas->hIsmRendererData = NULL; } #endif if ( ( error = ivas_ism_renderer_open( st_ivas ) ) != IVAS_ERR_OK ) { Loading Loading @@ -295,12 +300,16 @@ static ivas_error ivas_ism_bitrate_switching_dec( else { /* Close the ISM renderer */ #ifdef FIX_ISMRENDERER_HANDLE_DEALLOC ivas_ism_renderer_close( &st_ivas->hIsmRendererData ); #else if ( st_ivas->hIsmRendererData != NULL ) { free( st_ivas->hIsmRendererData->interpolator ); free( st_ivas->hIsmRendererData ); st_ivas->hIsmRendererData = NULL; } #endif } if ( st_ivas->hOutSetup.output_config == IVAS_AUDIO_CONFIG_BINAURAL_ROOM_IR ) Loading lib_dec/ivas_ism_renderer.c +34 −0 Original line number Diff line number Diff line Loading @@ -108,6 +108,36 @@ ivas_error ivas_ism_renderer_open( } #ifdef FIX_ISMRENDERER_HANDLE_DEALLOC /*-------------------------------------------------------------------------* * ivas_ism_renderer_close() * * Close struct for object rendering. *-------------------------------------------------------------------------*/ void ivas_ism_renderer_close( ISM_RENDERER_HANDLE *hIsmRendererData /* i/o: ISM renderer handle */ ) { if ( *hIsmRendererData == NULL || hIsmRendererData == NULL ) { return; } if ( ( *hIsmRendererData )->interpolator != NULL ) { free( ( *hIsmRendererData )->interpolator ); ( *hIsmRendererData )->interpolator = NULL; } free( *hIsmRendererData ); *hIsmRendererData = NULL; return; } #endif /*-------------------------------------------------------------------------* * ivas_ism_render() * Loading Loading @@ -440,6 +470,9 @@ void ivas_omasa_separate_object_renderer_close( } } #ifdef FIX_ISMRENDERER_HANDLE_DEALLOC ivas_ism_renderer_close( &st_ivas->hIsmRendererData ); #else if ( st_ivas->hIsmRendererData != NULL ) { if ( st_ivas->hIsmRendererData->interpolator != NULL ) Loading @@ -451,6 +484,7 @@ void ivas_omasa_separate_object_renderer_close( free( st_ivas->hIsmRendererData ); st_ivas->hIsmRendererData = NULL; } #endif return; } Loading Loading
lib_com/ivas_prot.h +6 −0 Original line number Diff line number Diff line Loading @@ -5276,6 +5276,12 @@ ivas_error ivas_ism_renderer_open( Decoder_Struct *st_ivas /* i/o: IVAS decoder structure */ ); #ifdef FIX_ISMRENDERER_HANDLE_DEALLOC void ivas_ism_renderer_close( ISM_RENDERER_HANDLE *hIsmRendererData /* i/o: ISM renderer handle */ ); #endif void ivas_ism_render( Decoder_Struct *st_ivas, /* i/o: IVAS decoder structure */ float *output_f[], /* i/o: core-coder transport channels/object output */ Loading
lib_com/options.h +2 −1 Original line number Diff line number Diff line Loading @@ -173,6 +173,7 @@ #define FIX_518_ISM_BRIR_EXTREND /* FhG: fix issue #518, cleanup ISM to BINAURAL_ROOM_IR rendering in the external renderer */ #define FIX_764_HARM_CODE /* VA: issue 764: introduce new function for the same code block at four different places */ #define FIX_747_ISM_TODOS /* VA: issue 747 - address ISM ToDos */ #define FIX_ISMRENDERER_HANDLE_DEALLOC /* VA: issue 781: harmonize Deallocation of handle 'hIsmRendererData' */ /* #################### End BE switches ################################## */ Loading @@ -199,9 +200,9 @@ #define NONBE_FIX_ISM_DTX_INFINITE_CNG_ON_TRAILING_SILENCE /* FhG: fix for cng in ISM DTX on sudden silence periods - JBM addon (issue 552) */ #define NONBE_FIX_738_SBA_BR_SW_ASAN /* FhG: issue 738: fixes bug when switching to an MCT bitrate and previous frame was ACELP */ #define NONBE_CR_FIX_735_SBA_HP20_BRATE_SWITCHING /* VA: Issue 735: Resolve "HP20 filtering bug in SBA/OSBA bitrate switching" */ #define NONBE_FIX_588_UPDATE_FASTCONV_SD /* FhG: issue 588: update FastConv SD HRTFs in CLDFB domain with new conversion method */ /* ##################### End NON-BE switches ########################### */ /* ################## End DEVELOPMENT switches ######################### */ Loading
lib_dec/ivas_init_dec.c +4 −0 Original line number Diff line number Diff line Loading @@ -2550,12 +2550,16 @@ void ivas_destroy_dec( ivas_ism_metadata_close( st_ivas->hIsmMetaData, 0 ); /* ISM renderer handle */ #ifdef FIX_ISMRENDERER_HANDLE_DEALLOC ivas_ism_renderer_close( &( st_ivas->hIsmRendererData ) ); #else if ( st_ivas->hIsmRendererData != NULL ) { free( st_ivas->hIsmRendererData->interpolator ); free( st_ivas->hIsmRendererData ); st_ivas->hIsmRendererData = NULL; } #endif /* DirAC handle */ if ( st_ivas->ivas_format == ISM_FORMAT ) Loading
lib_dec/ivas_ism_dec.c +9 −0 Original line number Diff line number Diff line Loading @@ -210,12 +210,17 @@ static ivas_error ivas_ism_bitrate_switching_dec( else { /* close the ISM renderer and reinitialize */ #ifdef FIX_ISMRENDERER_HANDLE_DEALLOC ivas_ism_renderer_close( &st_ivas->hIsmRendererData ); #else if ( st_ivas->hIsmRendererData != NULL ) { free( st_ivas->hIsmRendererData->interpolator ); free( st_ivas->hIsmRendererData ); st_ivas->hIsmRendererData = NULL; } #endif if ( ( error = ivas_ism_renderer_open( st_ivas ) ) != IVAS_ERR_OK ) { Loading Loading @@ -295,12 +300,16 @@ static ivas_error ivas_ism_bitrate_switching_dec( else { /* Close the ISM renderer */ #ifdef FIX_ISMRENDERER_HANDLE_DEALLOC ivas_ism_renderer_close( &st_ivas->hIsmRendererData ); #else if ( st_ivas->hIsmRendererData != NULL ) { free( st_ivas->hIsmRendererData->interpolator ); free( st_ivas->hIsmRendererData ); st_ivas->hIsmRendererData = NULL; } #endif } if ( st_ivas->hOutSetup.output_config == IVAS_AUDIO_CONFIG_BINAURAL_ROOM_IR ) Loading
lib_dec/ivas_ism_renderer.c +34 −0 Original line number Diff line number Diff line Loading @@ -108,6 +108,36 @@ ivas_error ivas_ism_renderer_open( } #ifdef FIX_ISMRENDERER_HANDLE_DEALLOC /*-------------------------------------------------------------------------* * ivas_ism_renderer_close() * * Close struct for object rendering. *-------------------------------------------------------------------------*/ void ivas_ism_renderer_close( ISM_RENDERER_HANDLE *hIsmRendererData /* i/o: ISM renderer handle */ ) { if ( *hIsmRendererData == NULL || hIsmRendererData == NULL ) { return; } if ( ( *hIsmRendererData )->interpolator != NULL ) { free( ( *hIsmRendererData )->interpolator ); ( *hIsmRendererData )->interpolator = NULL; } free( *hIsmRendererData ); *hIsmRendererData = NULL; return; } #endif /*-------------------------------------------------------------------------* * ivas_ism_render() * Loading Loading @@ -440,6 +470,9 @@ void ivas_omasa_separate_object_renderer_close( } } #ifdef FIX_ISMRENDERER_HANDLE_DEALLOC ivas_ism_renderer_close( &st_ivas->hIsmRendererData ); #else if ( st_ivas->hIsmRendererData != NULL ) { if ( st_ivas->hIsmRendererData->interpolator != NULL ) Loading @@ -451,6 +484,7 @@ void ivas_omasa_separate_object_renderer_close( free( st_ivas->hIsmRendererData ); st_ivas->hIsmRendererData = NULL; } #endif return; } Loading