Loading Workspace_msvc/lib_rend.vcxproj +4 −0 Original line number Diff line number Diff line Loading @@ -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" /> Loading Loading @@ -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" /> Loading lib_com/common_api_types.h +10 −0 Original line number Diff line number Diff line Loading @@ -52,6 +52,9 @@ #define RENDERER_HEAD_POSITIONS_PER_FRAME 4 #ifdef EARLY_REFLECTIONS #define QC_ABS_COEFF 6 #endif /*----------------------------------------------------------------------------------* * Common API structures Loading Loading @@ -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 Loading lib_com/ivas_cnst.h +32 −0 Original line number Diff line number Diff line Loading @@ -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 *----------------------------------------------------------------------------------*/ Loading lib_com/ivas_dirac_com.c +0 −16 Original line number Diff line number Diff line Loading @@ -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 { Loading @@ -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 ) Loading lib_com/ivas_error.h +3 −0 Original line number Diff line number Diff line Loading @@ -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 Loading
Workspace_msvc/lib_rend.vcxproj +4 −0 Original line number Diff line number Diff line Loading @@ -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" /> Loading Loading @@ -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" /> Loading
lib_com/common_api_types.h +10 −0 Original line number Diff line number Diff line Loading @@ -52,6 +52,9 @@ #define RENDERER_HEAD_POSITIONS_PER_FRAME 4 #ifdef EARLY_REFLECTIONS #define QC_ABS_COEFF 6 #endif /*----------------------------------------------------------------------------------* * Common API structures Loading Loading @@ -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 Loading
lib_com/ivas_cnst.h +32 −0 Original line number Diff line number Diff line Loading @@ -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 *----------------------------------------------------------------------------------*/ Loading
lib_com/ivas_dirac_com.c +0 −16 Original line number Diff line number Diff line Loading @@ -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 { Loading @@ -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 ) Loading
lib_com/ivas_error.h +3 −0 Original line number Diff line number Diff line Loading @@ -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