Commit f41541c9 authored by janssontoftg's avatar janssontoftg
Browse files

Merge branch '310-rendering-add-latency_s-value-to-td-object-renderer-tables' into 'main'

[Ref using main][non-be][renderer non-be] Fix for issue 310 under define FIX_310_TD_REND_DELAY.

See merge request !425
parents b152af5f 15819112
Loading
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -1416,7 +1416,9 @@ typedef enum
#endif
#define MAX_ANGULAR_STEP_INV                    ( 1.0f / MAX_ANGULAR_STEP )
#define MAX_INTERPOLATION_STEPS                 12
#ifndef FIX_310_TD_REND_DELAY
#define BINAURAL_TD_LATENCY_S                   0.0f                        /* ITD fix removes TD renderer delay -- should be cleaned out */
#endif

/* ----- Enums - TD Renderer ----- */

+1 −0
Original line number Diff line number Diff line
@@ -153,6 +153,7 @@
#define FIX_301_PLC                                     /* FhG: issue 301 - fix bug of missing update of overlap buffer for DFT-stereo PLC*/
#define FIX_337_TDREND_INTP                             /* Issue 337: TD renderer interpolation threshold set too low */

#define FIX_310_TD_REND_DELAY                           /* Adding HRTF delay being read from ROM/Binary file, fix rounding for delay compensation in renderer */

/* ################## End DEVELOPMENT switches ######################### */
/* clang-format on */
+3 −0
Original line number Diff line number Diff line
@@ -211,6 +211,9 @@ void DefaultBSplineModel(

    HRTF_model_precalc( model );

#ifdef FIX_310_TD_REND_DELAY
    HrFiltSet_p->latency_s = orange53_rom_latency_s;
#endif
    HrFiltSet_p->SampleRate = output_Fs;
    HrFiltSet_p->FiltLength = HrFiltSet_p->ModelParams.K;
    BSplineModelEvalAlloc( &HrFiltSet_p->ModelParams, &HrFiltSet_p->ModelEval );
+8 −1
Original line number Diff line number Diff line
@@ -188,8 +188,11 @@ ivas_error ivas_td_binaural_open(
    }

    st_ivas->hBinRendererTd = hBinRendererTd;

#ifdef FIX_310_TD_REND_DELAY
    st_ivas->binaural_latency_ns = (int32_t) ( hBinRendererTd->HrFiltSet_p->latency_s * 1000000000.f );
#else
    st_ivas->binaural_latency_ns = (int32_t) ( BINAURAL_TD_LATENCY_S * 1000000000.f );
#endif

    return error;
}
@@ -630,7 +633,11 @@ ivas_error ivas_rend_TDObjRendOpen(

    pTDRend->hBinRendererTd = hBinRendererTd;

#ifdef FIX_310_TD_REND_DELAY
    pTDRend->binaural_latency_ns = (int32_t) ( hBinRendererTd->HrFiltSet_p->latency_s * 1000000000.f );
#else
    pTDRend->binaural_latency_ns = (int32_t) ( BINAURAL_TD_LATENCY_S * 1000000000.f );
#endif

    return IVAS_ERR_OK;
}
+3 −0
Original line number Diff line number Diff line
@@ -46,6 +46,9 @@
 * TD Binaural rendering related ROM tables
 *------------------------------------------------------------------------*/
/* TD renderer HRTF default model Orange53 */
#ifdef FIX_310_TD_REND_DELAY
const float orange53_rom_latency_s = 0.000020834f;
#endif
const int16_t orange53_rom_azimDim2[18] = { 
1, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 1, 
 };
Loading