Commit 33827118 authored by Dominik Weckbecker's avatar Dominik Weckbecker 💬
Browse files

Merge branch 'main' into b_20230817_jbm-for-osba

parents fc4b3f44 09b3105f
Loading
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -5286,6 +5286,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     */
+1 −1
Original line number Diff line number Diff line
@@ -88,7 +88,6 @@
/*#define DEBUG_STEREO_DFT_NOSTEREO*/           /* DFT stereo: by-pass stereo processing at encoder and decoder side*/
/*#define DEBUG_STEREO_DFT_NOQRES*/
/*#define DEBUG_STEREO_DFT_OUTRESPRED*/         /* output residual prediction signal instead of L/R*/
/*#define DBG_STEREO_ICBWE2_TBE2K8*/            /* Enables TBE_2K8 for higher bitrates with ICBWE in operation for TD/DFT Stereo. Needs quality eval and currently only used for debugging purposes */

/*DirAC Debug switches*/
/*#define DEBUG_DISABLE_DIRAC_DELAY_COMP */     /* temporarily disable delay compensation on DirAC encoder */
@@ -174,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 ################################## */

+0 −8
Original line number Diff line number Diff line
@@ -271,11 +271,7 @@ void ivas_decision_matrix_dec(
                {
                    st->extl = SWB_TBE;
                    st->extl_brate = SWB_TBE_1k6;
#ifdef DBG_STEREO_ICBWE2_TBE2K8
                    if ( st->total_brate >= MIN_BRATE_SWB_TBE_2k80 && st->flag_ACELP16k )
#else
                    if ( st->total_brate >= MIN_BRATE_SWB_TBE_2k80 && st->flag_ACELP16k && st->element_mode == IVAS_SCE )
#endif
                    {
                        st->extl_brate = SWB_TBE_2k8;
                    }
@@ -314,11 +310,7 @@ void ivas_decision_matrix_dec(
                {
                    st->extl = FB_TBE;
                    st->extl_brate = FB_TBE_1k8;
#ifdef DBG_STEREO_ICBWE2_TBE2K8
                    if ( st->total_brate >= MIN_BRATE_SWB_TBE_2k80 && st->flag_ACELP16k )
#else
                    if ( st->total_brate >= MIN_BRATE_SWB_TBE_2k80 && st->flag_ACELP16k && st->element_mode == IVAS_SCE )
#endif
                    {
                        st->extl_brate = FB_TBE_3k0;
                    }
+4 −0
Original line number Diff line number Diff line
@@ -2602,12 +2602,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 )
+9 −0
Original line number Diff line number Diff line
@@ -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 )
            {
@@ -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