Commit 87a687ed authored by emerit's avatar emerit
Browse files

Merge branch '329-enable-reverb-for-td-renderer-for-5-1-and-7-1-with-headtracking' into 'main'

[non-be] Enable reverb for TD renderer for 5.1 and 7.1 with headtracking enabled for IVAS_dec

See merge request !418
parents e36efc92 8b47e05b
Loading
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -152,6 +152,8 @@

#define FIX_197_CREND_INTERFACE 

#define FIX_329_ENABLE_TD_RENDERER_REVERB_MC            /* Eri: Enable reverb for TD renderer for 5.1 and 7.1 with headtracking enabled for IVAS_dec */

#define FIX_MEMORY_COUNTING_HRTF_BINARY_FILE
#define FIX_334_DEBUG_BE_STEREO_SWITCHING               /* FhG: Fix non-BE issue for stereo switching when DEBUGGING is enabled */
#define FIX_198_TDREND_INTERFACE                        /* Issue 198: Harmonize interface for TD renderer between decoder and external renderer */
+11 −0
Original line number Diff line number Diff line
@@ -866,7 +866,18 @@ void ivas_binaural_add_LFE(
    if ( render_lfe )
    {
#ifdef FIX_197_CREND_INTERFACE
#ifdef FIX_329_ENABLE_TD_RENDERER_REVERB_MC
        if ( st_ivas->renderer_type == RENDERER_BINAURAL_OBJECTS_TD )
        {
            gain = GAIN_LFE;
        }
        else
        {
            gain = ( ( st_ivas->hCrendWrapper != NULL ) && ( st_ivas->hCrendWrapper->hHrtfCrend != NULL ) ) ? st_ivas->hCrendWrapper->hHrtfCrend->gain_lfe : GAIN_LFE;
        }
#else
        gain = ( ( st_ivas->hCrendWrapper != NULL ) && ( st_ivas->hCrendWrapper->hHrtfCrend != NULL ) ) ? st_ivas->hCrendWrapper->hHrtfCrend->gain_lfe : GAIN_LFE;
#endif
#else
        gain = st_ivas->hHrtf != NULL ? st_ivas->hHrtf->gain_lfe : GAIN_LFE;
#endif
+4 −0
Original line number Diff line number Diff line
@@ -1244,11 +1244,15 @@ ivas_error ivas_init_decoder(
        if ( st_ivas->hRenderConfig->roomAcoustics.late_reverb_on )
        {
#ifdef FIX_197_CREND_INTERFACE
#ifdef FIX_329_ENABLE_TD_RENDERER_REVERB_MC
            if ( ( error = ivas_rend_initCrendWrapper( &st_ivas->hCrendWrapper ) ) != IVAS_ERR_OK )
#else
            if ( ( st_ivas->hCrendWrapper = (CREND_WRAPPER_HANDLE) malloc( sizeof( CREND_WRAPPER ) ) ) == NULL )
            {
                return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for Crend Wrapper\n" );
            }
            if ( ( st_ivas->hCrendWrapper->hCrend = (CREND_HANDLE) malloc( sizeof( CREND_DATA ) ) ) == NULL )
#endif
#else
            if ( ( st_ivas->hCrend = (CREND_HANDLE) malloc( sizeof( CREND_DATA ) ) ) == NULL )
#endif
+8 −0
Original line number Diff line number Diff line
@@ -1136,10 +1136,18 @@ static ivas_error ivas_mc_dec_reconfig(
#ifdef FIX_197_CREND_INTERFACE
                if ( st_ivas->hRenderConfig->roomAcoustics.late_reverb_on )
                {
#ifdef FIX_329_ENABLE_TD_RENDERER_REVERB_MC
                    if ( ( error = ivas_rend_initCrendWrapper( &st_ivas->hCrendWrapper ) ) != IVAS_ERR_OK )
#else
                    if ( ( st_ivas->hCrendWrapper = (CREND_WRAPPER_HANDLE) malloc( sizeof( CREND_WRAPPER ) ) ) == NULL )
#endif
                    {
                        return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for Crend Wrapper\n" );
                    }
#ifdef FIX_329_ENABLE_TD_RENDERER_REVERB_MC
                    st_ivas->hCrendWrapper->hCrend = NULL;
                    st_ivas->hCrendWrapper->hHrtfCrend = NULL;
#endif
                    if ( ( st_ivas->hCrendWrapper->hCrend = (CREND_HANDLE) malloc( sizeof( CREND_DATA ) ) ) == NULL )
                    {
                        return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for Crend\n" );
+8 −0
Original line number Diff line number Diff line
@@ -468,10 +468,18 @@ ivas_error ivas_sba_dec_reinit(
        if ( st_ivas->hRenderConfig->roomAcoustics.late_reverb_on )
        {
#ifdef FIX_197_CREND_INTERFACE
#ifdef FIX_329_ENABLE_TD_RENDERER_REVERB_MC
            if ( ( error = ivas_rend_initCrendWrapper( &st_ivas->hCrendWrapper ) ) != IVAS_ERR_OK )
#else
            if ( ( st_ivas->hCrendWrapper = (CREND_WRAPPER_HANDLE) malloc( sizeof( CREND_WRAPPER ) ) ) == NULL )
#endif
            {
                return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for CrendWrapper\n" );
            }
#ifdef FIX_329_ENABLE_TD_RENDERER_REVERB_MC
            st_ivas->hCrendWrapper->hCrend = NULL;
            st_ivas->hCrendWrapper->hHrtfCrend = NULL;
#endif
            if ( ( st_ivas->hCrendWrapper->hCrend = (CREND_HANDLE) malloc( sizeof( CREND_DATA ) ) ) == NULL )
#else
            if ( ( st_ivas->hCrend = (CREND_HANDLE) malloc( sizeof( CREND_DATA ) ) ) == NULL )
Loading