Commit 0fd7baab authored by emerit's avatar emerit
Browse files

fix rounding on lfe delay computation, add test script and test item

parent f2e44b0e
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -53,3 +53,7 @@ tests/ref
__pycache__/
*.py[cod]
*$py.class

# .history
.history/**/*
+5 −0
Original line number Diff line number Diff line
@@ -158,6 +158,11 @@ if(WIN32)
  target_link_libraries(IVAS_dec Ws2_32)
endif()

file(GLOB libCrendUnitTestSrcs "scripts/ivas_pytests/tests/unit_tests/crend/*.c")
file(GLOB libCrendUnitTestHeaders "scripts/ivas_pytests/tests/unit_tests/crend/*.h")
add_executable(IVAS_crend_unit_test ${libCrendUnitTestSrcs} ${libCrendUnitTestHeaders})
target_link_libraries(IVAS_crend_unit_test lib_dec lib_util)

if(${IVAS_BUILD_PRERENDERER})
  add_executable(IVAS_prerenderer
    scripts/prerenderer/prerenderer.c
+1 −0
Original line number Diff line number Diff line
@@ -154,6 +154,7 @@
#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 */


/* ################## End DEVELOPMENT switches ######################### */
+19 −0
Original line number Diff line number Diff line
@@ -567,6 +567,9 @@ ivas_error ivas_binRenderer_open(
            return error;
        }

#ifdef FIX_FIX_I59
        if ( st_ivas->renderer_type == RENDERER_BINAURAL_FASTCONV )
        {
            if ( hBinRenderer->ivas_format == MC_FORMAT )
            {
                st_ivas->binaural_latency_ns = (int32_t) ( FASTCONV_HRIR_latency_s * 1000000000.f );
@@ -576,6 +579,22 @@ ivas_error ivas_binRenderer_open(
                st_ivas->binaural_latency_ns = (int32_t) ( FASTCONV_HOA3_latency_s * 1000000000.f );
            }
        }
        else
        {
            /* same value for MC or HOA both use MC BRIR*/
            st_ivas->binaural_latency_ns = (int32_t) ( FASTCONV_BRIR_latency_s * 1000000000.f );
        }
#else
        if ( hBinRenderer->ivas_format == MC_FORMAT )
        {
            st_ivas->binaural_latency_ns = (int32_t) ( FASTCONV_HRIR_latency_s * 1000000000.f );
        }
        else
        {
            st_ivas->binaural_latency_ns = (int32_t) ( FASTCONV_HOA3_latency_s * 1000000000.f );
        }
#endif
    }

    /* Allocate memories needed for reverb module */
    if ( st_ivas->renderer_type == RENDERER_BINAURAL_FASTCONV_ROOM && st_ivas->hRenderConfig->roomAcoustics.late_reverb_on )
+5 −2
Original line number Diff line number Diff line
@@ -1213,8 +1213,11 @@ ivas_error ivas_init_decoder(
    /*-----------------------------------------------------------------*
     * LFE handles for rendering after rendering to adjust LFE delay to binaural filter delay
     *-----------------------------------------------------------------*/

#ifdef FIX_FIX_I59
    if ( ( st_ivas->mc_mode == MC_MODE_MCT ) || ( st_ivas->mc_mode == MC_MODE_PARAMMC ) )
#else  
  if ( st_ivas->mc_mode == MC_MODE_MCT )
#endif
    {
#ifdef FIX_I59_LFE_TD_DELAY
        binauralization_delay_ns = st_ivas->binaural_latency_ns;
Loading