Skip to content
Commits on Source (6)
...@@ -168,6 +168,7 @@ ...@@ -168,6 +168,7 @@
#define NON_BE_FIX_EVS_USAN_ERR_IN_WAVEADJUST /* FhG: address issue 1037 */ #define NON_BE_FIX_EVS_USAN_ERR_IN_WAVEADJUST /* FhG: address issue 1037 */
#define FIX_1038_OFFSET_TO_NULL_PTR_IN_EVS_TCX_BFI /* FhG: move setting of pointers for parameter decoding so they are skipped in lost frames when they are not needed */ #define FIX_1038_OFFSET_TO_NULL_PTR_IN_EVS_TCX_BFI /* FhG: move setting of pointers for parameter decoding so they are skipped in lost frames when they are not needed */
#define NONBE_FIX_1056_ISM_RATE_SWITCH /* FhG: Fix #1056: fix TC buffer udpate on a ISM rate switch */ #define NONBE_FIX_1056_ISM_RATE_SWITCH /* FhG: Fix #1056: fix TC buffer udpate on a ISM rate switch */
#define NONBE_FIX_1075 /* FhG: fix segfault for bitrate switching + BINAURAL_ROOM_REVERB output in MC */
/* #################### End BASOP porting switches ############################ */ /* #################### End BASOP porting switches ############################ */
......
...@@ -2411,6 +2411,15 @@ ivas_error ivas_init_decoder_fx( ...@@ -2411,6 +2411,15 @@ ivas_error ivas_init_decoder_fx(
SrcSpatial_p->q_Pos_p = Q31; SrcSpatial_p->q_Pos_p = Q31;
move16(); move16();
} }
#ifdef NONBE_FIX_1075
IF( EQ_32( st_ivas->hOutSetup.output_config, IVAS_AUDIO_CONFIG_BINAURAL_ROOM_REVERB ) )
{
IF( NE_32( ( error = ivas_reverb_open_fx( &st_ivas->hReverb, st_ivas->hHrtfStatistics, st_ivas->hRenderConfig, st_ivas->hDecoderConfig->output_Fs ) ), IVAS_ERR_OK ) )
{
return error;
}
}
#endif
/* Allocate 'hIsmRendererData' handle and memory for delay buffer within 'hMasaIsmData' */ /* Allocate 'hIsmRendererData' handle and memory for delay buffer within 'hMasaIsmData' */
IF( NE_32( ( error = ivas_omasa_separate_object_renderer_open( st_ivas ) ), IVAS_ERR_OK ) ) IF( NE_32( ( error = ivas_omasa_separate_object_renderer_open( st_ivas ) ), IVAS_ERR_OK ) )
...@@ -2527,6 +2536,15 @@ ivas_error ivas_init_decoder_fx( ...@@ -2527,6 +2536,15 @@ ivas_error ivas_init_decoder_fx(
SrcSpatial_p->q_Pos_p = Q31; SrcSpatial_p->q_Pos_p = Q31;
move16(); move16();
} }
#ifdef NONBE_FIX_1075
IF( EQ_32( st_ivas->hOutSetup.output_config, IVAS_AUDIO_CONFIG_BINAURAL_ROOM_REVERB ) )
{
IF( NE_32( ( error = ivas_reverb_open_fx( &st_ivas->hReverb, st_ivas->hHrtfStatistics, st_ivas->hRenderConfig, st_ivas->hDecoderConfig->output_Fs ) ), IVAS_ERR_OK ) )
{
return error;
}
}
#endif
} }
} }
......
...@@ -1571,6 +1571,15 @@ static ivas_error ivas_mc_dec_reconfig_fx( ...@@ -1571,6 +1571,15 @@ static ivas_error ivas_mc_dec_reconfig_fx(
{ {
return error; return error;
} }
#ifdef NONBE_FIX_1075
IF( EQ_32( st_ivas->hOutSetup.output_config, IVAS_AUDIO_CONFIG_BINAURAL_ROOM_REVERB ) )
{
IF( NE_32( ( error = ivas_reverb_open_fx( &st_ivas->hReverb, st_ivas->hHrtfStatistics, st_ivas->hRenderConfig, st_ivas->hDecoderConfig->output_Fs ) ), IVAS_ERR_OK ) )
{
return error;
}
}
#endif
IF( EQ_16( st_ivas->hIntSetup.output_config, IVAS_AUDIO_CONFIG_BINAURAL_ROOM_REVERB ) ) IF( EQ_16( st_ivas->hIntSetup.output_config, IVAS_AUDIO_CONFIG_BINAURAL_ROOM_REVERB ) )
{ {
IF( ( error = ivas_rend_initCrendWrapper( &st_ivas->hCrendWrapper, 1 ) ) != IVAS_ERR_OK ) IF( ( error = ivas_rend_initCrendWrapper( &st_ivas->hCrendWrapper, 1 ) ) != IVAS_ERR_OK )
......
...@@ -692,13 +692,20 @@ ivas_error ivas_omasa_dec_config_fx( ...@@ -692,13 +692,20 @@ ivas_error ivas_omasa_dec_config_fx(
IF( EQ_32( st_ivas->ism_mode, ISM_MASA_MODE_DISC ) ) IF( EQ_32( st_ivas->ism_mode, ISM_MASA_MODE_DISC ) )
{ {
/* Allocate TD renderer for the objects in DISC mode */ /* Allocate TD renderer for the objects in DISC mode */
IF( st_ivas->hBinRendererTd == NULL ) IF( st_ivas->hBinRendererTd == NULL ){
IF( NE_32( ( error = ivas_td_binaural_open_fx( st_ivas, SrcInd, num_src ) ), IVAS_ERR_OK ) ){
return error;
}
#ifdef NONBE_FIX_1075
IF( EQ_32( st_ivas->hOutSetup.output_config, IVAS_AUDIO_CONFIG_BINAURAL_ROOM_REVERB ) )
{ {
IF( NE_32( ( error = ivas_td_binaural_open_fx( st_ivas, SrcInd, num_src ) ), IVAS_ERR_OK ) ) IF( NE_32( ( error = ivas_reverb_open_fx( &st_ivas->hReverb, st_ivas->hHrtfStatistics, st_ivas->hRenderConfig, st_ivas->hDecoderConfig->output_Fs ) ), IVAS_ERR_OK ) )
{ {
return error; return error;
} }
} }
#endif
}
/* Allocate 'hIsmRendererData' handle and memory for delay buffer within 'hMasaIsmData' */ /* Allocate 'hIsmRendererData' handle and memory for delay buffer within 'hMasaIsmData' */
IF( NE_32( ( error = ivas_omasa_separate_object_renderer_open( st_ivas ) ), IVAS_ERR_OK ) ) IF( NE_32( ( error = ivas_omasa_separate_object_renderer_open( st_ivas ) ), IVAS_ERR_OK ) )
......
...@@ -564,6 +564,15 @@ ivas_error ivas_sba_dec_reconfigure_fx( ...@@ -564,6 +564,15 @@ ivas_error ivas_sba_dec_reconfigure_fx(
{ {
return error; return error;
} }
#ifdef NONBE_FIX_1075
IF( EQ_32( st_ivas->hOutSetup.output_config, IVAS_AUDIO_CONFIG_BINAURAL_ROOM_REVERB ) )
{
IF( NE_32( ( error = ivas_reverb_open_fx( &st_ivas->hReverb, st_ivas->hHrtfStatistics, st_ivas->hRenderConfig, st_ivas->hDecoderConfig->output_Fs ) ), IVAS_ERR_OK ) )
{
return error;
}
}
#endif
} }
} }
......