diff --git a/lib_com/options.h b/lib_com/options.h index d90ba2c9e03cc366d79ff7f4fc503782dee282a4..0c26e4a5746eeb7c096e673ac1e3b366aef4f82f 100644 --- a/lib_com/options.h +++ b/lib_com/options.h @@ -167,6 +167,7 @@ /* all switches in this category should start with "NONBE_" */ #define NON_BE_1055_RESET_LP_MEMORIES /* VA: issue 1055: Correctly reset LP filter MA and AR memories in bitrate switching */ +#define NONBE_FIX_1058_DECODER_ERROR_WITH_REVERB_ROOM /* FhG: issue 1058: do not initialize EFAP when IntSetup is HOA3 */ /* ##################### End NON-BE switches ########################### */ diff --git a/lib_dec/ivas_binRenderer_internal.c b/lib_dec/ivas_binRenderer_internal.c index 21db31e81aa57a31f13c45c24532fed594afe046..59c15f6a04d8abb60faeb847a4321591438d9b6f 100644 --- a/lib_dec/ivas_binRenderer_internal.c +++ b/lib_dec/ivas_binRenderer_internal.c @@ -1261,11 +1261,16 @@ ivas_error ivas_binRenderer_open( } /* initialize the dmx matrix */ - for ( chIdx = 0; chIdx < BINAURAL_CHANNELS; chIdx++ ) +#ifdef NONBE_FIX_1058_DECODER_ERROR_WITH_REVERB_ROOM + if ( hBinRenderer->nInChannels != HOA3_CHANNELS ) +#endif { - for ( k = 0; k < hBinRenderer->nInChannels; k++ ) + for ( chIdx = 0; chIdx < BINAURAL_CHANNELS; chIdx++ ) { - hBinRenderer->hReverb->dmxmtx[chIdx][k] = dmxmtx_table[chIdx][k]; + for ( k = 0; k < hBinRenderer->nInChannels; k++ ) + { + hBinRenderer->hReverb->dmxmtx[chIdx][k] = dmxmtx_table[chIdx][k]; + } } } } @@ -1275,10 +1280,17 @@ ivas_error ivas_binRenderer_open( } hBinRenderer->hEFAPdata = NULL; - +#ifdef NONBE_FIX_1058_DECODER_ERROR_WITH_REVERB_ROOM + if ( hBinRenderer->hReverb != NULL && hBinRenderer->nInChannels != HOA3_CHANNELS ) +#else if ( hBinRenderer->hReverb != NULL ) +#endif { - if ( hBinRenderer->hInputSetup->is_loudspeaker_setup == 0 && hBinRenderer->nInChannels != 16 ) +#ifdef NONBE_FIX_1058_DECODER_ERROR_WITH_REVERB_ROOM + if ( hBinRenderer->hInputSetup->is_loudspeaker_setup == 0 ) +#else + if ( hBinRenderer->hInputSetup->is_loudspeaker_setup == 0 && hBinRenderer->nInChannels != HOA3_CHANNELS ) +#endif { for ( k = 0; k < 11; k++ ) {