Commit e2d30cc5 authored by emerit's avatar emerit
Browse files

modify binaural delay latency precision for crend

parent 9f858d30
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -166,7 +166,7 @@
#define FIX_309_PREMPH_MEM_SCE                          /* FhG: issue 309 - fix overwriting of mem_preemph_enc in ivas preprocessing for SCE and tcxonly modes*/

#define FIX_317                                         /* FhG: issue 317 - address sanitizer error in MDCT-Stereo PLC */

#define FIX_BINAURAL_DELAY_PRECISION                    /* fix delay precision for binaural latency for crend*/

/* ################## End DEVELOPMENT switches ######################### */
/* clang-format on */
+564 −553
Original line number Diff line number Diff line
@@ -47,8 +47,11 @@
/********************** CRendBin_Combined_HRIR **********************/
#ifdef FIX_BINAURAL_DELAY_PRECISION
const float CRendBin_Combined_HRIR_latency_s = 0.000020834f;
#else
const float CRendBin_Combined_HRIR_latency_s = 0.000020833333110f;
#endif
/* Sample Rate = 48000 */
@@ -640,7 +643,11 @@ const float *CRendBin_Combined_HRIR_coeff_diffuse_im_16kHz[BINAURAL_CHANNELS]={N
/********************** CRendBin_HOA3_HRIR **********************/
#ifdef FIX_BINAURAL_DELAY_PRECISION
const float CRendBin_HOA3_HRIR_latency_s = 0.001333334f;
#else
const float CRendBin_HOA3_HRIR_latency_s = 0.001333333319053f;
#endif
/* Sample Rate = 48000 */
@@ -1588,7 +1595,11 @@ const float *CRendBin_HOA3_HRIR_coeff_diffuse_im_16kHz[BINAURAL_CHANNELS]={NULL,
/********************** CRendBin_Combined_BRIR **********************/
#ifdef FIX_BINAURAL_DELAY_PRECISION
const float CRendBin_Combined_BRIR_latency_s = 0.000145833f;
#else
const float CRendBin_Combined_BRIR_latency_s = 0.000145833328133f;
#endif
/* Sample Rate = 48000 */
+17 −4
Original line number Diff line number Diff line
@@ -779,7 +779,12 @@ int generate_crend_ivas_tables_from_sofa( const char *file_path, bool no_optim )
        ivas_hrtf->latency_s[0] = (double *) malloc( sizeof( double ) );
        if ( latency_s == NULL )
        {
#ifdef FIX_BINAURAL_DELAY_PRECISION
            ivas_hrtf->latency_s[0][0] = latency_48k + 0.000000001f;
#else
            ivas_hrtf->latency_s[0][0] = latency_48k;

#endif
        }
        else
        {
@@ -787,7 +792,11 @@ int generate_crend_ivas_tables_from_sofa( const char *file_path, bool no_optim )
            {
                fprintf( stderr, "Warning : At sample rate %ld latency in sofa file and computed are different sofa = %f, computed = %lf\n", (long) sample_rates[indSR], latency_s->values[0], latency_48k );
            }
#ifdef FIX_BINAURAL_DELAY_PRECISION
            ivas_hrtf->latency_s[0][0] = latency_s->values[0] + 0.000000001f;
#else
            ivas_hrtf->latency_s[0][0] = latency_s->values[0];
#endif
        }

        HRTFS_DATA hrtf_data = { 0 };
@@ -987,7 +996,11 @@ void update_c_file( HRTFS_DATA *hrtf, struct ivas_layout_config lscfg, const int
    {
        /* float latency_s; */
        fprintf( fp, "\n\n/********************** %s_%s **********************/\n", DECLARATION_NAME, lscfg.name );
#ifdef FIX_BINAURAL_DELAY_PRECISION
        fprintf( fp, "\nconst float %s_%s_latency_s = %10.9ff;", DECLARATION_NAME, lscfg.name, hrtf->latency_s );
#else
        fprintf( fp, "\nconst float %s_%s_latency_s = %16.15ff;", DECLARATION_NAME, lscfg.name, hrtf->latency_s );
#endif
    }

    fprintf( fp, "\n\n/* Sample Rate = %ld */\n", (long) samplerate );