Commit 43a6b2d3 authored by multrus's avatar multrus
Browse files

Merge branch '608-optimise-memory-allocation-in-fastconv-renderer' into 'main'

Resolve "Optimise memory allocation in FASTCONV renderer"

See merge request !831
parents f0a9d015 89a391ea
Loading
Loading
Loading
Loading
Loading
+18 −0
Original line number Diff line number Diff line
@@ -5041,6 +5041,24 @@ void ivas_binRenderer_close(
    BINAURAL_RENDERER_HANDLE *hBinRenderer                      /* i/o: decoder binaural renderer handle                */
);

#ifdef FIX_1720_HRTF_FASTCONV
void ivas_binaural_hrtf_close(
    HRTFS_FASTCONV_HANDLE *hHrtfFastConv                        /* i/o: decoder binaural hrtf handle                */
);

ivas_error ivas_init_binaural_hrtf(
  HRTFS_FASTCONV *HrtfFastConv                               /* i/o: FASTCONV HRTF structure */
);

ivas_error ivas_allocate_binaural_hrtf(
    HRTFS_FASTCONV *HrtfFastConv,                               /* i/o: FASTCONV HRTF structure */
    AUDIO_CONFIG input_config,                                  /* i  : input audio configuration */
    BINAURAL_INPUT_AUDIO_CONFIG bin_input_config,               /* i : binaural input audio config */
    RENDERER_TYPE renderer_type,                                /* i : renderer type */
    int16_t allocate_init_flag                                  /* i  : Memory allocation flag  */
);
#endif

#ifdef JBM_PARAMUPMIX
void ivas_binaural_cldfb(
    Decoder_Struct *st_ivas,                                    /* i/o: IVAS decoder structure                                  */
+1 −0
Original line number Diff line number Diff line
@@ -174,6 +174,7 @@
#define COVARIANCE_MEMORY_OPT                           /* Dlb : Issue 231: define SPAR covariance buffers in stack instead of inter-frame heap */
#define NONBE_FIX_589_JBM_TC_OFFSETS                    /* FhG: issue 589: wrong offset into the TC buffers is used in some rendering paths in the JBM main rendering function */
#define FIX_MEM_REALLOC_IND_LIST                        /* VA: issue 601: failure of the automatic memory re-allocation mechanism when ind_list[] buffer is depleted in MASA mode with 2 TC*/
#define FIX_1720_HRTF_FASTCONV                          /* Dlb : Binaural and Binaural room format RAM saving in SBA mode */
#define JBM_PARAMUPMIX                                  /* Dlb: Issue 471: Integrate the Multichannel Parametric Upmix into the JBM path */
#define FIX_194_LFE_DELAY_EXTREND                       /* FhG: Issue 194: Fix delay alignment of LFE in external renderer */
#define FIX_582_INDEX_OUT_OF_BOUNDS_SNS_AVQ_DEC         /* FhG: fix an undefined behaviour error in SNS AVQ decoding */
+405 −3

File changed.

Preview size limit exceeded, changes collapsed.

+4 −1
Original line number Diff line number Diff line
@@ -2037,7 +2037,10 @@ void ivas_destroy_dec(

    /* CRend binaural renderer handle */
    ivas_HRTF_CRend_binary_close( &st_ivas->hSetOfHRTF );

#ifdef FIX_1720_HRTF_FASTCONV
    /* Fastconv HRTF memories */
    ivas_binaural_hrtf_close( &st_ivas->hHrtfFastConv );
#endif
    /* Fastconv HRTF filters */
    ivas_HRTF_fastconv_binary_close( &st_ivas->hHrtfFastConv );

+6 −1
Original line number Diff line number Diff line
@@ -36,6 +36,9 @@
#include "ivas_prot_rend.h"
#include "ivas_error.h"
#include "wmc_auto.h"
#ifdef FIX_1720_HRTF_FASTCONV
#include "ivas_prot.h"
#endif

/*-----------------------------------------------------------------------*
 * ivas_HRTF_binary_open()
@@ -139,7 +142,9 @@ ivas_error ivas_HRTF_fastconv_binary_open(
    {
        return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for FASTCONV HRTF tables!" );
    }

#ifdef FIX_1720_HRTF_FASTCONV
    ivas_init_binaural_hrtf( *hHrtfFastConv );
#endif
    return IVAS_ERR_OK;
}

Loading