Commit 919a3c4a authored by Marek Szczerba's avatar Marek Szczerba
Browse files

Fix for erroneous renderer modes switching in case of BINAURAL_ROOM_REVERB output configuration

parent daca8536
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -166,6 +166,7 @@
#define FIX_558_PLC_DISCONT                             /* FhG: issue 558: fix discontinuities in DFT Stereo when switching from TCX concealment to ACELP */
#define FIX_564                                         /* Nokia: Issue 564: Fix gains in JBM path for SBA with parametric binaural renderer */
#define FIX_566_2DIR_MASA_384K                          /* Nokia: Issued 566:  Bugfix in 384k MASA metadata encoding of second direction */
#define FIX_568_ISM_BITRATE_SWITCHING                   /* Philips: Issue 568: Bugfix for renderer re-initialization by ISM and bitrate switching */

/* ################## End DEVELOPMENT switches ######################### */
/* clang-format on */
+12 −0
Original line number Diff line number Diff line
@@ -168,7 +168,11 @@ static ivas_error ivas_ism_bitrate_switching(
        /* Deallocate the ParamISM struct */
        ivas_param_ism_dec_close( &( st_ivas->hDirAC ), st_ivas->hDecoderConfig->output_config );

#ifdef FIX_568_ISM_BITRATE_SWITCHING
        if ( st_ivas->hOutSetup.output_config == AUDIO_CONFIG_BINAURAL || st_ivas->hOutSetup.output_config == AUDIO_CONFIG_BINAURAL_ROOM_REVERB )
#else
        if ( st_ivas->hOutSetup.output_config == AUDIO_CONFIG_BINAURAL )
#endif
        {
            /* close the parametric binaural renderer */
            ivas_dirac_dec_close_binaural_data( &st_ivas->hDiracDecBin );
@@ -198,7 +202,11 @@ static ivas_error ivas_ism_bitrate_switching(
            }
        }

#ifdef FIX_568_ISM_BITRATE_SWITCHING
        if ( st_ivas->hOutSetup.output_config == AUDIO_CONFIG_BINAURAL_ROOM_IR )
#else
        if ( st_ivas->hOutSetup.output_config == AUDIO_CONFIG_BINAURAL_ROOM_IR || st_ivas->hOutSetup.output_config == AUDIO_CONFIG_BINAURAL_ROOM_REVERB )
#endif
        {
            /* close the parametric binaural renderer */
            ivas_dirac_dec_close_binaural_data( &st_ivas->hDiracDecBin );
@@ -260,7 +268,11 @@ static ivas_error ivas_ism_bitrate_switching(
            }
        }

#ifdef FIX_568_ISM_BITRATE_SWITCHING
        if ( st_ivas->hOutSetup.output_config == AUDIO_CONFIG_BINAURAL_ROOM_IR )
#else
        if ( st_ivas->hOutSetup.output_config == AUDIO_CONFIG_BINAURAL_ROOM_IR || st_ivas->hOutSetup.output_config == AUDIO_CONFIG_BINAURAL_ROOM_REVERB )
#endif
        {
            /* open the parametric binaural renderer */
            if ( ( error = ivas_dirac_dec_binaural_copy_hrtfs( &st_ivas->hHrtfParambin ) ) != IVAS_ERR_OK )