Commit 116aad9c authored by emerit's avatar emerit
Browse files

Merge branch 'main' into orange/fix_binaural_delay_precision

parents 33a3f167 75b78040
Loading
Loading
Loading
Loading
Loading
+0 −12
Original line number Diff line number Diff line
@@ -93,10 +93,8 @@ typedef struct
    float FER;
    bool hrtfReaderEnabled;
    char *hrtfFileName;
#ifdef HRTF_BINARY_FILE
    bool hrtfCRendReaderEnabled;
    char *hrtfCRendFileName;
#endif
    IVAS_DEC_INPUT_FORMAT inputFormat;
    bool customLsOutputEnabled;
    char *customLsSetupFilename;
@@ -445,7 +443,6 @@ int main(
            goto cleanup;
        }

#ifdef HRTF_BINARY_FILE

        IVAS_DEC_HRTF_CREND_HANDLE hSetOfHRTF;
        IVAS_DEC_GetHrtfCRendHandle( hIvasDec, &hSetOfHRTF );
@@ -471,7 +468,6 @@ int main(
        {
            fprintf( stderr, "\nError in loading HRTF binary file %s for parametric binauralizer \n\n", arg.hrtfCRendFileName );
        }
#endif
    }

    /*-----------------------------------------------------------------*
@@ -538,12 +534,10 @@ cleanup:
        IVAS_DEC_HRTF_HANDLE hHrtfTD;
        IVAS_DEC_GetHrtfHandle( hIvasDec, &hHrtfTD );
        dealloc_HRTF_binary( hHrtfTD );
#ifdef HRTF_BINARY_FILE
#ifdef FIX_MEMORY_COUNTING_HRTF_BINARY_FILE
        IVAS_DEC_HRTF_CREND_HANDLE hSetOfHRTF;
        IVAS_DEC_GetHrtfCRendHandle( hIvasDec, &hSetOfHRTF );
        destroy_SetOfHRTF( hSetOfHRTF );
#endif
#endif
    }
    IVAS_DEC_Close( &hIvasDec );
@@ -706,10 +700,8 @@ static bool parseCmdlIVAS_dec(
    arg->hrtfReaderEnabled = false;
    arg->hrtfFileName = NULL;

#ifdef HRTF_BINARY_FILE
    arg->hrtfCRendReaderEnabled = false;
    arg->hrtfCRendFileName = NULL;
#endif

    arg->customLsOutputEnabled = false;
    arg->customLsSetupFilename = NULL;
@@ -1147,11 +1139,7 @@ static void usage_dec( void )
    fprintf( stdout, "                      which of the two supported formats is in use.\n" );
    fprintf( stdout, "                      default bitstream file format is G.192\n" );
    fprintf( stdout, "-T File             : Head rotation specified by external trajectory File\n" );
#ifdef HRTF_BINARY_FILE
    fprintf( stdout, "-hrtf File          : HRTF filter File used in BINAURAL output configuration\n" );
#else
    fprintf( stdout, "-hrtf File          : HRTF filter File used in ISm format and BINAURAL output configuration\n" );
#endif
#ifdef DEBUGGING
    fprintf( stdout, "-force_subframe_bin : Forces parametric binauralizer code to use 5 ms time resolution even when\n" );
    fprintf( stdout, "                      output time resolution is larger.\n" );
+0 −4
Original line number Diff line number Diff line
@@ -87,14 +87,10 @@ typedef struct ivas_masa_metadata_frame_struct *IVAS_MASA_METADATA_HANDLE;
typedef struct ivas_masa_qmetadata_frame_struct *IVAS_MASA_QMETADATA_HANDLE;

typedef struct TDREND_HRFILT_FiltSet_struct *IVAS_DEC_HRTF_HANDLE;
#ifdef HRTF_BINARY_FILE
typedef struct ivas_hrtfs_crend_structure *IVAS_DEC_HRTF_CREND_HANDLE;
#endif
#ifdef HRTF_BINARY_FILE
typedef struct ivas_hrtfs_fastconv_struct *IVAS_DEC_HRTF_FASTCONV_HANDLE;

typedef struct ivas_hrtfs_parambin_struct *IVAS_DEC_HRTF_PARAMBIN_HANDLE;
#endif

#ifdef DEBUGGING
typedef enum
+0 −13
Original line number Diff line number Diff line
@@ -1364,16 +1364,12 @@ typedef enum

#define BINAURAL_MAXBANDS                       60                          /* Max number of bands */
#define BINAURAL_CONVBANDS                      50                          /* Bands upto which convolution is performed */
#ifdef HRTF_BINARY_FILE
#define BINAURAL_NTAPS                           7
#endif
#define BINAURAL_NTAPS_MAX                      96

#define HRTF_SH_ORDER                           3
#define HRTF_SH_CHANNELS                        16
#ifdef HRTF_BINARY_FILE
#define HRTF_LS_CHANNELS                        15
#endif
#define HRTF_NUM_BINS                           60
#define REVERB_PREDELAY_MAX                     20                          /* Max input delay for reverb module */
#define GAIN_LFE                                1.88364911f                 /* Gain applied to LFE during renderering */
@@ -1382,7 +1378,6 @@ typedef enum

#define BINAURAL_COHERENCE_DIFFERENCE_BINS      9                           /* Number of bins for direction-dependent diffuse-field binaural coherence */

#ifdef HRTF_BINARY_FILE
typedef enum 
{
    BINAURAL_INPUT_AUDIO_CONFIG_INVALID,
@@ -1392,7 +1387,6 @@ typedef enum

} BINAURAL_INPUT_AUDIO_CONFIG;

#endif
#define HEADROT_ORDER                           3
#define HEADROT_SHMAT_DIM                       ( ( HEADROT_ORDER + 1 ) * ( HEADROT_ORDER + 1 ) )
#define HEADROT_SHMAT_DIM2                      ( HEADROT_SHMAT_DIM * HEADROT_SHMAT_DIM )
@@ -1415,16 +1409,9 @@ typedef enum
#define SFX_SPAT_BIN_NUM_SUBSAMPLES             64
#define ITD_MEM_LEN                             (MAX_ITD + SFX_SPAT_BIN_SINC_M)
#define L_SUBFRAME5MS_48k                       (L_FRAME48k/4)
#ifdef FIX_337_TDREND_INTP
#define MAX_ANGULAR_STEP                        (1.0f)
#else
#define MAX_ANGULAR_STEP                        (15.0f)
#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 −21
Original line number Diff line number Diff line
@@ -3333,26 +3333,18 @@ void ivas_dirac_dec(
    const int16_t i_sf
);

#ifdef HRTF_BINARY_FILE
ivas_error ivas_dirac_dec_init_binaural_data(
    Decoder_Struct *st_ivas,                                    /* i/o: IVAS decoder structure                  */
    HRTFS_PARAMBIN_HANDLE hHrtfParambin                         /* i  : HRTF structure for rendering            */
);
#else
ivas_error ivas_dirac_dec_init_binaural_data(
    Decoder_Struct *st_ivas                                     /* i/o: IVAS decoder structure                  */
);
#endif

void ivas_dirac_dec_close_binaural_data(
    DIRAC_DEC_BIN_HANDLE *hBinaural                             /* i/o: decoder DirAC binaural data handle      */
);

#ifdef HRTF_BINARY_FILE
ivas_error ivas_dirac_dec_binaural_copy_hrtfs(
    HRTFS_PARAMBIN_HANDLE *hHrtfParambin                        /* i/o: HRTF structure for rendering            */
);
#endif

void ivas_dirac_dec_binaural(
    Decoder_Struct *st_ivas,                                    /* i/o: IVAS decoder structure                  */
@@ -3368,11 +3360,9 @@ ivas_error ivas_binaural_reverb_open(
    const AUDIO_CONFIG output_config,                           /* i  : output audio configuration              */
    const int32_t sampling_rate,                                /* i  : sampling rate                           */
    const RENDERER_TYPE renderer_type                           /* i  : renderer type                           */
#ifdef HRTF_BINARY_FILE
    ,
    const HRTFS_FASTCONV_HANDLE hHrtfFastConv,                  /* i  : FastConv HRTF handle                    */
    const HRTFS_PARAMBIN_HANDLE hHrtfParambin                   /* i  : Parametric binauralizer HRTF handle     */
#endif
);

void ivas_binaural_reverb_close(
@@ -4652,7 +4642,6 @@ void ivas_binaural_add_LFE(
    float output_f[][L_FRAME48k]                                /* i/o: synthesized core-coder transport channels/DirAC output  */
);

#ifdef HRTF_BINARY_FILE
ivas_error ivas_HRTF_fastconv_binary_open(
    HRTFS_FASTCONV **hHrtfFastConv                              /* i/o: FASTCONV HRTF structure */
);
@@ -4668,7 +4657,6 @@ ivas_error ivas_HRTF_parambin_binary_open(
void ivas_HRTF_parambin_binary_close(
    HRTFS_PARAMBIN **hHrtfParambin                              /* i/o: Parametric binauralizer HRTF structure */
);
#endif

void QuatToRotMat(
    const IVAS_QUATERNION quat,                                 /* i  : quaternion describing the rotation                      */
@@ -5387,7 +5375,6 @@ int16_t ivas_get_num_bands_from_bw_idx(
 * Crend renderer
 *----------------------------------------------------------------------------------*/

#ifdef HRTF_BINARY_FILE

ivas_error ivas_HRTF_CRend_binary_open(
	HRTFS_CREND **hSetOfHRTF                                    /* i/o: Set of HRTF handle                      */
@@ -5414,7 +5401,6 @@ ivas_error destroy_SetOfHRTF(
);
#endif

#endif

#ifndef FIX_197_CREND_INTERFACE

@@ -5452,9 +5438,7 @@ ivas_error ivas_rend_initCrend(
    const IVAS_REND_AudioConfig inConfig,
    const IVAS_REND_AudioConfig outConfig,
    RENDER_CONFIG_DATA *hRendCfg,
#ifdef HRTF_BINARY_FILE
    HRTFS_CREND_HANDLE hSetOfHRTF,
#endif
    const int32_t output_Fs );    

ivas_error ivas_rend_openCrend(
@@ -5463,9 +5447,7 @@ ivas_error ivas_rend_openCrend(
    const IVAS_REND_AudioConfig outConfig,
    RENDER_CONFIG_DATA *hRendCfg,
    int16_t Opt_Headrotation,
#ifdef HRTF_BINARY_FILE
    HRTFS_CREND_HANDLE hSetOfHRTF,
#endif    
    const int32_t output_Fs );

#ifdef FIX_197_CREND_INTERFACE
@@ -5671,9 +5653,7 @@ void ivas_reverb_calc_color_levels(

void ivas_reverb_prepare_cldfb_params(
    ivas_roomAcoustics_t *pInput_params,
#ifdef HRTF_BINARY_FILE
    const HRTFS_FASTCONV_HANDLE hHrtfFastConv,
#endif
    const AUDIO_CONFIG input_audio_config,
    const int16_t use_brir,
    const int32_t output_Fs,
+1 −8
Original line number Diff line number Diff line
@@ -147,19 +147,12 @@
#define SBA_BR_SWITCHING_RECONFIG                       /* Issue 114: Changes for SBA bitrate switching with reconfiguration for bitrates with different number of transport channels*/
#endif

#define FIX_FIX_I59                                     /* Issue 59:  small fix concerning LFE delay rounding */
#define HRTF_BINARY_FILE                                /* HRTF filters' binary file used for binaural rendering. */

#define FIX_197_CREND_INTERFACE 
#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_BINAURAL_DELAY_PRECISION                    /* fix delay precision for binaural latency for crend*/
#ifdef HRTF_BINARY_FILE                                /* HRTF filters' binary file used for binaural rendering. */
#define FIX_MEMORY_COUNTING_HRTF_BINARY_FILE
#endif
#define FIX_310_TD_REND_DELAY                           /* Adding HRTF delay being read from ROM/Binary file, fix rounding for delay compensation in renderer */
#define FIX_334_DEBUG_BE_STEREO_SWITCHING               /* FhG: Fix non-BE issue for stereo switching when DEBUGGING is enabled */
#define FIX_198_TDREND_INTERFACE                        /* Issue 198: Harmonize interface for TD renderer between decoder and external renderer */

#define DFT_STEREO_SPAR_MIXING
#ifdef DFT_STEREO_SPAR_MIXING 
Loading