Loading lib_com/delay_comp.c +19 −4 Original line number Diff line number Diff line Loading @@ -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; Loading Loading @@ -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; Loading @@ -104,6 +118,7 @@ int32_t get_delay( { delay += binaural_latency_ns; } #endif } } Loading lib_com/ivas_prot.h +4 −0 Original line number Diff line number Diff line Loading @@ -4917,7 +4917,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( Loading lib_com/options.h 100644 → 100755 +5 −1 Original line number Diff line number Diff line Loading @@ -150,7 +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 */ /* ################## End DEVELOPMENT switches ######################### */ /* clang-format on */ Loading lib_com/prot.h 100644 → 100755 +9 −5 Original line number Diff line number Diff line Loading @@ -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 lib_dec/ivas_dec.c +5 −0 Original line number Diff line number Diff line Loading @@ -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 Loading
lib_com/delay_comp.c +19 −4 Original line number Diff line number Diff line Loading @@ -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; Loading Loading @@ -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; Loading @@ -104,6 +118,7 @@ int32_t get_delay( { delay += binaural_latency_ns; } #endif } } Loading
lib_com/ivas_prot.h +4 −0 Original line number Diff line number Diff line Loading @@ -4917,7 +4917,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( Loading
lib_com/options.h 100644 → 100755 +5 −1 Original line number Diff line number Diff line Loading @@ -150,7 +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 */ /* ################## End DEVELOPMENT switches ######################### */ /* clang-format on */ Loading
lib_com/prot.h 100644 → 100755 +9 −5 Original line number Diff line number Diff line Loading @@ -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
lib_dec/ivas_dec.c +5 −0 Original line number Diff line number Diff line Loading @@ -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