Commit 8f5f4df6 authored by Andrea Genovese's avatar Andrea Genovese
Browse files

first merge pass with 38 draft

parent 09e1cfe1
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -197,6 +197,9 @@
    </Lib>
  </ItemDefinitionGroup>
  <ItemGroup>
    <ClCompile Include="..\lib_rend\ivas_reflections.c" />
    <ClCompile Include="..\lib_rend\ivas_reflections_utils.c" />
    <ClCompile Include="..\lib_rend\ivas_shoebox.c" />
    <ClCompile Include="..\lib_rend\ivas_dirac_dec_binaural_functions.c" />
    <ClCompile Include="..\lib_rend\ivas_hrtf.c" />
    <ClCompile Include="..\lib_rend\ivas_lc3plus_common.c" />
@@ -250,6 +253,7 @@
    <ClCompile Include="..\lib_rend\lib_rend.c" />
  </ItemGroup>
  <ItemGroup>
    <ClInclude Include="..\lib_rend\ivas_er_utils.h" />
    <ClInclude Include="..\lib_rend\ivas_lcld_tables.h" />
    <ClInclude Include="..\lib_rend\ivas_PerceptualModel.h" />
    <ClInclude Include="..\lib_rend\ivas_prot_rend.h" />
+10 −0
Original line number Diff line number Diff line
@@ -52,6 +52,9 @@

#define RENDERER_HEAD_POSITIONS_PER_FRAME 4

#ifdef EARLY_REFLECTIONS
#define QC_ABS_COEFF 6
#endif

/*----------------------------------------------------------------------------------*
 * Common API structures
@@ -175,6 +178,13 @@ typedef struct _IVAS_ROOM_ACOUSTICS_CONFIG
    float pAcoustic_dsr[IVAS_CLDFB_NO_CHANNELS_MAX];  /*  - The room's Diffuse to Source Ratio per center frequency */
    float acousticPreDelay;                           /* Time elapsed between input signal and late reverberation start, float, range [0.001..10] */
    float inputPreDelay;                              /* Offset in seconds from where DSR is computed in the RIR (0 = at source), float, range [0.001..10] */
#ifdef EARLY_REFLECTIONS
    int16_t use_er;               /* ER activation flag */
    int16_t lowComplexity;       /* Low complexity ER flag */
    IVAS_VECTOR3 dimensions;      /* Room dimensions [m] */
    float AbsCoeff[QC_ABS_COEFF]; /* Absorption coeffs */
    IVAS_VECTOR3 ListenerOrigin;  /* Listener origin */
#endif
} IVAS_ROOM_ACOUSTICS_CONFIG_DATA;

#ifdef SPLIT_REND_WITH_HEAD_ROT
+32 −0
Original line number Diff line number Diff line
@@ -1842,6 +1842,38 @@ typedef enum
#define IVAS_LIMITER_THRESHOLD                  32729           /* -0.01 dBFS */
#define IVAS_LIMITER_ATTACK_SECONDS             0.005f


#ifdef EARLY_REFLECTIONS
/*----------------------------------------------------------------------------------*
 * Early Reflection constants
 *----------------------------------------------------------------------------------*/
#define ER_ABS_COEFF                            6
#define ER_MAX_BANDS                            1
#define ER_MAX_SOURCES                          25
#define ER_REF_ORDER                            1
#define ER_NUM_REF                              6

#define ER_AIR_COEFF                            (0.00137f)
#define ER_SOUND_SPEED                          (343.0f)
#define ER_MIN_WALL_DIST                        (0.1f)

#define ER_IS_Z_HEIGHT                          1

#define ER_DEFAULT_ROOM_L                       (3.0f)
#define ER_DEFAULT_ROOM_W                       (4.0f)
#define ER_DEFAULT_ROOM_H                       (5.0f)
#define ER_RADIUS                               (1.0f)
#define ER_LIST_ORIGIN_X                        (0.0f)
#define ER_LIST_ORIGIN_Y                        (0.0f)
#define ER_LIST_HEIGHT                          (1.6f)

#define ER_MIN_ROOM_DIMENSION                   (1.0f)
#define ER_MAX_ROOM_DIMENSION                   (999.0f)
#define ER_MIN_ABS_COEFF                        (0.0f)
#define ER_MAX_ABS_COEFF                        (1.0f)

#endif

/*----------------------------------------------------------------------------------*
 * Stereo downmix EVS constants
 *----------------------------------------------------------------------------------*/
+0 −16
Original line number Diff line number Diff line
@@ -111,20 +111,12 @@ ivas_error ivas_dirac_config(
        if ( ( (Encoder_Struct *) st_ivas )->hSpar != NULL )
        {
            hFbMdft = ( (Encoder_Struct *) st_ivas )->hSpar->hFbMixer;
#ifdef FIX_613_DIRAC_NULL_PTR_USAN
            dirac_to_spar_md_bands = ( (Encoder_Struct *) st_ivas )->hSpar->dirac_to_spar_md_bands;
#endif
        }
        else
        {
            hFbMdft = NULL;
#ifdef FIX_613_DIRAC_NULL_PTR_USAN
            dirac_to_spar_md_bands = NULL;
#endif
        }
#ifndef FIX_613_DIRAC_NULL_PTR_USAN
        dirac_to_spar_md_bands = ( (Encoder_Struct *) st_ivas )->hSpar->dirac_to_spar_md_bands;
#endif
    }
    else
    {
@@ -139,21 +131,13 @@ ivas_error ivas_dirac_config(
        if ( ( (Decoder_Struct *) st_ivas )->hSpar != NULL )
        {
            hFbMdft = ( (Decoder_Struct *) st_ivas )->hSpar->hFbMixer;
#ifdef FIX_613_DIRAC_NULL_PTR_USAN
            dirac_to_spar_md_bands = ( (Decoder_Struct *) st_ivas )->hSpar->dirac_to_spar_md_bands;
#endif
        }
        else
        {
            hFbMdft = NULL;
#ifdef FIX_613_DIRAC_NULL_PTR_USAN
            dirac_to_spar_md_bands = NULL;
#endif
        }
        ( (Decoder_Struct *) st_ivas )->hDirAC->hFbMdft = hFbMdft;
#ifndef FIX_613_DIRAC_NULL_PTR_USAN
        dirac_to_spar_md_bands = ( (Decoder_Struct *) st_ivas )->hSpar->dirac_to_spar_md_bands;
#endif
    }

    if ( ivas_format == SBA_FORMAT )
+3 −0
Original line number Diff line number Diff line
@@ -138,6 +138,9 @@ typedef enum
#ifdef CONTROL_METADATA_REVERB
    IVAS_ERR_INVALID_RENDER_CONFIG,
    IVAS_ERR_ACOUSTIC_ENVIRONMENT_MISSING,
#ifdef EARLY_REFLECTIONS
    IVAS_ERR_INVALID_ER_PARAM,
#endif
#endif
#ifdef SPLIT_REND_WITH_HEAD_ROT
    IVAS_ERR_LC3PLUS_INVALID_BITRATE,
Loading