Commit 4554d745 authored by fotopoulou's avatar fotopoulou
Browse files

Merge branch 'main' into 116-Bitrate-Switching-in-MC

parents 4e00c57f 7ac3f332
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
        }
    }

+21 −2
Original line number Diff line number Diff line
@@ -222,8 +222,14 @@ ivas_error pre_proc_front_ivas(
    const int16_t flag_16k_smc,                                 /* i  : flag to indicate if the OL SMC is run at 16 kHz */
    const int16_t front_vad_flag,                               /* i  : front-VAD flag to overwrite VAD decision   */
    const int16_t force_front_vad,                              /* i  : flag to force VAD decision                 */
#ifdef LOW_RATE_TRANS
    const int16_t front_vad_dtx_flag,                           /* i  : front-VAD DTX flag to overwrite VAD decision*/
    const int32_t ivas_total_brate,                             /* i  : IVAS total bitrate                          */
    const int16_t ivas_format                                   /* i  : IVAS format */
#else
    const int16_t front_vad_dtx_flag                            /* i  : front-VAD DTX flag to overwrite VAD decision*/
   ,const int32_t ivas_total_brate                             /* i  : IVAS total bitrate                       */    
#endif
);

ivas_error pre_proc_ivas(
@@ -638,6 +644,14 @@ void set_transient_stereo(
    float currFlatness[]                                        /* i/o: current flatness                        */
);

#ifdef LOW_RATE_TRANS
int16_t transient_analysis(
    TRAN_DET_HANDLE hTranDet,                                   /* i  : handle transient detection             */
    const float cor_map_LT[],                                   /* i  : LT correlation map                     */
    const float multi_harm_limit                                /* i  : multi harminic threshold               */
);
#endif

void ivas_post_proc(
    SCE_DEC_HANDLE hSCE,                                        /* i/o: SCE decoder structure                   */
    CPE_DEC_HANDLE hCPE,                                        /* i/o: CPE decoder structure                   */
@@ -3125,10 +3139,11 @@ int16_t ivas_sba_get_analysis_order(
    const int16_t sba_order                                     /* i  : Ambisonic (SBA) order                   */
);

#ifndef SBA_DIRAC_RENDERER_TYPE_CLEANUP
int16_t ivas_sba_get_order_transport(
    const int16_t nchan_transport                               /* i  : Number of transport channels            */
);

#endif
/*! r: number of Ambisonic channels */
int16_t ivas_sba_get_nchan(
    const int16_t sba_order,                                    /* i  : Ambisonic (SBA) order                   */
@@ -4978,7 +4993,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( 
+2 −2
Original line number Diff line number Diff line
@@ -246,7 +246,7 @@ int16_t ivas_sba_get_analysis_order(
    return sba_analysis_order;
}


#ifndef SBA_DIRAC_RENDERER_TYPE_CLEANUP
/*-------------------------------------------------------------------*
 * ivas_sba_get_order_transport()
 *
@@ -272,7 +272,7 @@ int16_t ivas_sba_get_order_transport(

    return ( sba_order );
}

#endif

/*-------------------------------------------------------------------*
 * ivas_sba_get_nchan()
+7 −0
Original line number Diff line number Diff line
@@ -149,6 +149,13 @@
#define BRATE_SWITCHING_RENDERING                       /* Bitrate switching changes related to the renderers */
#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 */



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(
Loading