Commit db0da7e6 authored by janssontoftg's avatar janssontoftg
Browse files

Merge remote-tracking branch 'remotes/origin/main' into ericsson/low-rate-encoding-of-transients

parents e73bfcb3 d3d73bde
Loading
Loading
Loading
Loading
Loading
+19 −4
Original line number Diff line number Diff line
@@ -50,13 +50,18 @@
 *--------------------------------------------------------------------------*/

/*! r: delay value in ns */

int32_t get_delay(
    const int16_t enc_dec,           /* i  : encoder/decoder flag                */
    const int32_t io_fs,             /* i  : input/output sampling frequency     */
    const IVAS_FORMAT ivas_format,   /* i  : IVAS format                         */
    HANDLE_CLDFB_FILTER_BANK hCldfb, /* i  : Handle of Cldfb analysis            */
#ifndef FIX_I59_LFE_TD_DELAY
    RENDERER_TYPE renderer_type,      /* i  : IVAS rendering type                 */
    const int32_t binaural_latency_ns /* i  : binaural renderer HRTF delay in ns  */
#else
    const int32_t binaural_latency_ns /* i  : binauralization delay in ns         */
#endif
)
{
    int32_t delay = 0;
@@ -94,7 +99,16 @@ int32_t get_delay(
        else /* IVAS */
        {
            delay = IVAS_DEC_DELAY_NS;
#ifdef FIX_I59_LFE_TD_DELAY
            if ( hCldfb != NULL )
            {
                /* compensate for filterbank delay */
                delay += IVAS_FB_DEC_DELAY_NS;
            }

            /* compensate for binauralization delay */
            delay += binaural_latency_ns;
#else
            if ( hCldfb != NULL || renderer_type == RENDERER_BINAURAL_OBJECTS_TD )
            {
                delay += IVAS_FB_DEC_DELAY_NS;
@@ -104,6 +118,7 @@ int32_t get_delay(
            {
                delay += binaural_latency_ns;
            }
#endif
        }
    }

+4 −0
Original line number Diff line number Diff line
@@ -4931,7 +4931,11 @@ void ivas_lfe_enc(
ivas_error ivas_create_lfe_dec( 
    LFE_DEC_HANDLE *hLFE_out,                                   /* o  : IVAS LFE decoder structure              */
    const int32_t output_Fs,                                    /* i  : output sampling rate                    */
#ifdef FIX_I59_LFE_TD_DELAY
    const int32_t binauralization_delay_ns                      /* i  : additional LFE delay to sync with binaural renderer */
#else
    const float add_delay_s                                     /* i  : additional LFE delay to sync with binaural filter */
#endif
);

void ivas_lfe_dec_close( 
+5 −0
Original line number Diff line number Diff line
@@ -150,6 +150,11 @@
#define FIX_150                                         /* Issue 150: Crash in EVS mono, HQ_HARMONIC mode, related to BASOP_NOGLOB */
#define FIX_VBR_COMPLEXITY                              /* Issue 234: fix extremely high complexity numbers for IVAS EVS mode */
#define SBA_DIRAC_RENDERER_TYPE_CLEANUP                 /* Remove leftovers in renderer_type logic in SBA DirAC decoder */
#define FIX_I59_LFE_TD_DELAY                            /* Issue 59: correcting delay of LFE for TD renderer */
#define FIX_I59_LFE_CLDFB                               /* Issue 59: correcting LFE handling for fastconv binaural rendering */
#define FIX_I59_DELAY_ROUNDING                          /* Issue 59: rounding in sample domain instead of nanosec for IVAS_ENC_GetDelay() and IVAS_DEC_GetDelay() */
#define FIX_FIX_I59                                     /* Issue 59:  small fix concerning LFE delay rounding */
#define FIX_I59_CREND                                   /* Issue 59: Fixes for gcc compiler warnings in ivas_crend_utest_utils.c */
#define LOW_RATE_TRANS                                  /* Eri: Contribution 20: low rate encoding of transients */

/* ################## End DEVELOPMENT switches ######################### */

lib_com/prot.h

100644 → 100755
+9 −5
Original line number Diff line number Diff line
@@ -717,8 +717,12 @@ int32_t get_delay(
    const int32_t io_fs,             /* i  : input/output sampling frequency       */
    const IVAS_FORMAT ivas_format,   /* i  : IVAS format                           */
    HANDLE_CLDFB_FILTER_BANK hCldfb, /* i  : Handle of Cldfb analysis              */
#ifndef FIX_I59_LFE_TD_DELAY
    RENDERER_TYPE renderer_type,      /* i  : IVAS rendering type                   */
    const int32_t binaural_latency_ns /* i  : binaural renderer HRTF delay in ns  */
#else
    const int32_t binaural_latency_ns /* i  : binauralization delay in ns         */
#endif
);

void decision_matrix_enc(
+5 −0
Original line number Diff line number Diff line
@@ -389,8 +389,13 @@ ivas_error ivas_dec(
            }
            if ( st_ivas->renderer_type == RENDERER_BINAURAL_FASTCONV || st_ivas->renderer_type == RENDERER_BINAURAL_FASTCONV_ROOM )
            {
#ifdef FIX_I59_LFE_CLDFB
                ivas_binaural_cldfb( st_ivas, output );
                ivas_binaural_add_LFE( st_ivas, output_frame, output );
#else
                ivas_binaural_add_LFE( st_ivas, output_frame, output );
                ivas_binaural_cldfb( st_ivas, output );
#endif
            }
            else if ( st_ivas->renderer_type == RENDERER_MC )
            {
Loading