Loading Workspace_msvc/lib_rend.vcxproj +7 −2 Original line number Diff line number Diff line Loading @@ -202,7 +202,7 @@ <ClCompile Include="..\lib_rend\ivas_lc3plus_common.c" /> <ClCompile Include="..\lib_rend\ivas_lc3plus_dec.c" /> <ClCompile Include="..\lib_rend\ivas_lc3plus_enc.c" /> <ClCompile Include="..\lib_rend\ivas_lcld_tables.c" /> <ClCompile Include="..\lib_rend\ivas_lcld_rom_tables.c" /> <ClCompile Include="..\lib_rend\ivas_sba_rendering.c" /> <ClCompile Include="..\lib_rend\ivas_allrad_dec.c" /> <ClCompile Include="..\lib_rend\ivas_cldfb_codec_bitstream.c" /> Loading Loading @@ -254,9 +254,14 @@ <ClCompile Include="..\lib_rend\lib_rend.c" /> </ItemGroup> <ItemGroup> <ClInclude Include="..\lib_rend\ivas_lcld_tables.h" /> <ClInclude Include="..\lib_rend\ivas_CQMFDecoder.h" /> <ClInclude Include="..\lib_rend\ivas_CQMFEncoder.h" /> <ClInclude Include="..\lib_rend\ivas_lcld_rom_tables.h" /> <ClInclude Include="..\lib_rend\ivas_MSPred.h" /> <ClInclude Include="..\lib_rend\ivas_PerceptualModel.h" /> <ClInclude Include="..\lib_rend\ivas_PredTables.h" /> <ClInclude Include="..\lib_rend\ivas_prot_rend.h" /> <ClInclude Include="..\lib_rend\ivas_RMSEnvGrouping.h" /> <ClInclude Include="..\lib_rend\ivas_rom_binauralRenderer.h" /> <ClInclude Include="..\lib_rend\ivas_rom_binaural_crend_head.h" /> <ClInclude Include="..\lib_rend\ivas_rom_rend.h" /> Loading lib_com/common_api_types.h +3 −0 Original line number Diff line number Diff line Loading @@ -164,6 +164,7 @@ typedef struct float yaw; float pitch; int16_t non_diegetic_flag; } IVAS_REND_AudioObjectPosition; typedef struct _IVAS_ROOM_ACOUSTICS_CONFIG Loading @@ -175,6 +176,7 @@ 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] */ } IVAS_ROOM_ACOUSTICS_CONFIG_DATA; #ifdef SPLIT_REND_WITH_HEAD_ROT Loading @@ -193,6 +195,7 @@ typedef struct _IVAS_SPLIT_REND_CONFIG int16_t codec_delay_ms; /*PLACEHOLDER (currently being ignored) : look ahead delay of the codec that is used to code BIN signal output of pre-renderer*/ IVAS_SPLIT_REND_POSE_CORRECTION_MODE poseCorrectionMode; IVAS_SPLIT_REND_CODEC codec; } IVAS_SPLIT_REND_CONFIG_DATA; #endif Loading lib_com/delay_comp.c +1 −1 Original line number Diff line number Diff line Loading @@ -57,7 +57,7 @@ int32_t get_delay( HANDLE_CLDFB_FILTER_BANK hCldfb /* i : Handle of Cldfb analysis */ #ifdef SPLIT_REND_WITH_HEAD_ROT , AUDIO_CONFIG output_config /* i : decoder output config */ const AUDIO_CONFIG output_config /* i : decoder output config */ #endif ) { Loading lib_com/ivas_cnst.h +45 −45 Original line number Diff line number Diff line Loading @@ -1539,34 +1539,34 @@ typedef enum #define BINAURAL_NTAPS_MAX 96 #ifdef SPLIT_REND_WITH_HEAD_ROT #define SPLIT_REND_DECOR_ALPHA (0.25f) #define SPLIT_REND_DECOR_ALPHA 0.25f #define SPLIT_REND_MAX_YAW_ONLY_POSES (2) #define SPLIT_REND_MAX_PITCH_ONLY_POSES (2) #define SPLIT_REND_MAX_ROLL_ONLY_POSES (2) #define SPLIT_REND_MAX_ONE_AXIS_MD_POSES (2) #define SPLIT_REND_MAX_YAW_ONLY_POSES 2 #define SPLIT_REND_MAX_PITCH_ONLY_POSES 2 #define SPLIT_REND_MAX_ROLL_ONLY_POSES 2 #define SPLIT_REND_MAX_ONE_AXIS_MD_POSES 2 #define MAX_EXTRAPOLATION_ANGLE (15.0f) /* this means additional 15 degrees can be extrapolated on top of MD probing poses*/ #define SPLIT_REND_MAX_DOF (3) #define SPLIT_REND_MAX_DOF 3 #define MAX_HEAD_ROT_POSES (2 + SPLIT_REND_MAX_YAW_ONLY_POSES + SPLIT_REND_MAX_PITCH_ONLY_POSES + SPLIT_REND_MAX_ROLL_ONLY_POSES) /* TODO tmu : revisit for harmonization */ #define MAX_SPLIT_REND_MD_BANDS (20) #define MAX_SPLIT_MD_SUBFRAMES (1) #define COMPLEX_MD_BAND_THRESH (MAX_SPLIT_REND_MD_BANDS) #define COMPLEX_MD_BAND_THRESH_LOW (5) #define MAX_SPLIT_REND_MD_BANDS 20 #define MAX_SPLIT_MD_SUBFRAMES 1 #define COMPLEX_MD_BAND_THRESH MAX_SPLIT_REND_MD_BANDS #define COMPLEX_MD_BAND_THRESH_LOW 5 #define IVAS_SPLIT_REND_NUM_QUANT_STRATS (3) #define IVAS_SPLIT_REND_PRED_QUANT_PNTS ( 31 ) #define IVAS_SPLIT_REND_D_QUANT_PNTS ( 15 ) #define IVAS_SPLIT_REND_PRED_MIN_VAL ( -1.4f ) #define IVAS_SPLIT_REND_PRED_MAX_VAL ( 1.4f ) #define IVAS_SPLIT_REND_NUM_QUANT_STRATS 3 #define IVAS_SPLIT_REND_PRED_QUANT_PNTS 31 #define IVAS_SPLIT_REND_D_QUANT_PNTS 15 #define IVAS_SPLIT_REND_PRED_MIN_VAL -1.4f #define IVAS_SPLIT_REND_PRED_MAX_VAL 1.4f #define IVAS_SPLIT_REND_PITCH_G_MIN_VAL (0.5f) #define IVAS_SPLIT_REND_PITCH_G_MAX_VAL (1.5f) #define IVAS_SPLIT_REND_PITCH_G_QUANT_PNTS ( IVAS_SPLIT_REND_D_QUANT_PNTS ) #define IVAS_SPLIT_REND_D_MIN_VAL ( 0.0f ) #define IVAS_SPLIT_REND_D_MAX_VAL ( 1.0f ) #define IVAS_SPLIT_REND_PITCH_G_MIN_VAL 0.5f #define IVAS_SPLIT_REND_PITCH_G_MAX_VAL 1.5f #define IVAS_SPLIT_REND_PITCH_G_QUANT_PNTS IVAS_SPLIT_REND_D_QUANT_PNTS #define IVAS_SPLIT_REND_D_MIN_VAL 0.0f #define IVAS_SPLIT_REND_D_MAX_VAL 1.0f #define IVAS_SPLIT_REND_PRED_Q_STEP (( IVAS_SPLIT_REND_PRED_MAX_VAL - IVAS_SPLIT_REND_PRED_MIN_VAL ) / ( IVAS_SPLIT_REND_PRED_QUANT_PNTS - 1 )) #define IVAS_SPLIT_REND_PRED_1BYQ_STEP (( IVAS_SPLIT_REND_PRED_QUANT_PNTS - 1 )/( IVAS_SPLIT_REND_PRED_MAX_VAL - IVAS_SPLIT_REND_PRED_MIN_VAL )) Loading @@ -1575,11 +1575,11 @@ typedef enum #define IVAS_SPLIT_REND_PITCH_G_Q_STEP (( IVAS_SPLIT_REND_PITCH_G_MAX_VAL - IVAS_SPLIT_REND_PITCH_G_MIN_VAL ) / ( IVAS_SPLIT_REND_PITCH_G_QUANT_PNTS - 1 )) #define IVAS_SPLIT_REND_PITCH_G_1BYQ_STEP (( IVAS_SPLIT_REND_PITCH_G_QUANT_PNTS - 1 )/( IVAS_SPLIT_REND_PITCH_G_MAX_VAL - IVAS_SPLIT_REND_PITCH_G_MIN_VAL )) #define IVAS_SPLIT_REND_MAX_NUM_BYTES (4000) #define IVAS_SPLIT_REND_HEAD_POSE_BITS (9) #define IVAS_SPLIT_REND_DOF_BITS (2) #define IVAS_SPLIT_REND_HQ_MODE_BITS (1) #define IVAS_SPLIT_REND_ROT_AXIS_BITS (3) #define IVAS_SPLIT_REND_MAX_NUM_BYTES 4000 #define IVAS_SPLIT_REND_HEAD_POSE_BITS 9 #define IVAS_SPLIT_REND_DOF_BITS 2 #define IVAS_SPLIT_REND_HQ_MODE_BITS 1 #define IVAS_SPLIT_REND_ROT_AXIS_BITS 3 #endif /* SPLIT_REND_WITH_HEAD_ROT */ #define HRTF_SH_ORDER 3 Loading Loading @@ -1832,7 +1832,7 @@ typedef enum #define SPLIT_REND_512k 512000 #define SPLIT_REND_768k 768000 #define SPLIT_REND_MAX_BRATE SPLIT_REND_768k #define SPLIT_REND_ADDITIONAL_BYTES_TO_READ ( 1 ) #define SPLIT_REND_ADDITIONAL_BYTES_TO_READ 1 #endif /*----------------------------------------------------------------------------------* Loading lib_com/ivas_prot.h +1 −1 Original line number Diff line number Diff line Loading @@ -5079,7 +5079,7 @@ void ivas_binRenderer( #endif COMBINED_ORIENTATION_HANDLE hCombinedOrientationData, /* i : combined head and external orientation handle */ int16_t subframe_idx, /* i : subframe index */ const int16_t numTimeSlots, /* i: : number of time slots to process */ const int16_t numTimeSlots, /* i : number of time slots to process */ #ifdef SPLIT_REND_WITH_HEAD_ROT float Cldfb_RealBuffer_Binaural[][BINAURAL_CHANNELS][MAX_PARAM_SPATIAL_SUBFRAMES][CLDFB_NO_CHANNELS_MAX], /* o : Rotated Binaural signals */ float Cldfb_ImagBuffer_Binaural[][BINAURAL_CHANNELS][MAX_PARAM_SPATIAL_SUBFRAMES][CLDFB_NO_CHANNELS_MAX], /* o : Rotated Binaural signals */ Loading Loading
Workspace_msvc/lib_rend.vcxproj +7 −2 Original line number Diff line number Diff line Loading @@ -202,7 +202,7 @@ <ClCompile Include="..\lib_rend\ivas_lc3plus_common.c" /> <ClCompile Include="..\lib_rend\ivas_lc3plus_dec.c" /> <ClCompile Include="..\lib_rend\ivas_lc3plus_enc.c" /> <ClCompile Include="..\lib_rend\ivas_lcld_tables.c" /> <ClCompile Include="..\lib_rend\ivas_lcld_rom_tables.c" /> <ClCompile Include="..\lib_rend\ivas_sba_rendering.c" /> <ClCompile Include="..\lib_rend\ivas_allrad_dec.c" /> <ClCompile Include="..\lib_rend\ivas_cldfb_codec_bitstream.c" /> Loading Loading @@ -254,9 +254,14 @@ <ClCompile Include="..\lib_rend\lib_rend.c" /> </ItemGroup> <ItemGroup> <ClInclude Include="..\lib_rend\ivas_lcld_tables.h" /> <ClInclude Include="..\lib_rend\ivas_CQMFDecoder.h" /> <ClInclude Include="..\lib_rend\ivas_CQMFEncoder.h" /> <ClInclude Include="..\lib_rend\ivas_lcld_rom_tables.h" /> <ClInclude Include="..\lib_rend\ivas_MSPred.h" /> <ClInclude Include="..\lib_rend\ivas_PerceptualModel.h" /> <ClInclude Include="..\lib_rend\ivas_PredTables.h" /> <ClInclude Include="..\lib_rend\ivas_prot_rend.h" /> <ClInclude Include="..\lib_rend\ivas_RMSEnvGrouping.h" /> <ClInclude Include="..\lib_rend\ivas_rom_binauralRenderer.h" /> <ClInclude Include="..\lib_rend\ivas_rom_binaural_crend_head.h" /> <ClInclude Include="..\lib_rend\ivas_rom_rend.h" /> Loading
lib_com/common_api_types.h +3 −0 Original line number Diff line number Diff line Loading @@ -164,6 +164,7 @@ typedef struct float yaw; float pitch; int16_t non_diegetic_flag; } IVAS_REND_AudioObjectPosition; typedef struct _IVAS_ROOM_ACOUSTICS_CONFIG Loading @@ -175,6 +176,7 @@ 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] */ } IVAS_ROOM_ACOUSTICS_CONFIG_DATA; #ifdef SPLIT_REND_WITH_HEAD_ROT Loading @@ -193,6 +195,7 @@ typedef struct _IVAS_SPLIT_REND_CONFIG int16_t codec_delay_ms; /*PLACEHOLDER (currently being ignored) : look ahead delay of the codec that is used to code BIN signal output of pre-renderer*/ IVAS_SPLIT_REND_POSE_CORRECTION_MODE poseCorrectionMode; IVAS_SPLIT_REND_CODEC codec; } IVAS_SPLIT_REND_CONFIG_DATA; #endif Loading
lib_com/delay_comp.c +1 −1 Original line number Diff line number Diff line Loading @@ -57,7 +57,7 @@ int32_t get_delay( HANDLE_CLDFB_FILTER_BANK hCldfb /* i : Handle of Cldfb analysis */ #ifdef SPLIT_REND_WITH_HEAD_ROT , AUDIO_CONFIG output_config /* i : decoder output config */ const AUDIO_CONFIG output_config /* i : decoder output config */ #endif ) { Loading
lib_com/ivas_cnst.h +45 −45 Original line number Diff line number Diff line Loading @@ -1539,34 +1539,34 @@ typedef enum #define BINAURAL_NTAPS_MAX 96 #ifdef SPLIT_REND_WITH_HEAD_ROT #define SPLIT_REND_DECOR_ALPHA (0.25f) #define SPLIT_REND_DECOR_ALPHA 0.25f #define SPLIT_REND_MAX_YAW_ONLY_POSES (2) #define SPLIT_REND_MAX_PITCH_ONLY_POSES (2) #define SPLIT_REND_MAX_ROLL_ONLY_POSES (2) #define SPLIT_REND_MAX_ONE_AXIS_MD_POSES (2) #define SPLIT_REND_MAX_YAW_ONLY_POSES 2 #define SPLIT_REND_MAX_PITCH_ONLY_POSES 2 #define SPLIT_REND_MAX_ROLL_ONLY_POSES 2 #define SPLIT_REND_MAX_ONE_AXIS_MD_POSES 2 #define MAX_EXTRAPOLATION_ANGLE (15.0f) /* this means additional 15 degrees can be extrapolated on top of MD probing poses*/ #define SPLIT_REND_MAX_DOF (3) #define SPLIT_REND_MAX_DOF 3 #define MAX_HEAD_ROT_POSES (2 + SPLIT_REND_MAX_YAW_ONLY_POSES + SPLIT_REND_MAX_PITCH_ONLY_POSES + SPLIT_REND_MAX_ROLL_ONLY_POSES) /* TODO tmu : revisit for harmonization */ #define MAX_SPLIT_REND_MD_BANDS (20) #define MAX_SPLIT_MD_SUBFRAMES (1) #define COMPLEX_MD_BAND_THRESH (MAX_SPLIT_REND_MD_BANDS) #define COMPLEX_MD_BAND_THRESH_LOW (5) #define MAX_SPLIT_REND_MD_BANDS 20 #define MAX_SPLIT_MD_SUBFRAMES 1 #define COMPLEX_MD_BAND_THRESH MAX_SPLIT_REND_MD_BANDS #define COMPLEX_MD_BAND_THRESH_LOW 5 #define IVAS_SPLIT_REND_NUM_QUANT_STRATS (3) #define IVAS_SPLIT_REND_PRED_QUANT_PNTS ( 31 ) #define IVAS_SPLIT_REND_D_QUANT_PNTS ( 15 ) #define IVAS_SPLIT_REND_PRED_MIN_VAL ( -1.4f ) #define IVAS_SPLIT_REND_PRED_MAX_VAL ( 1.4f ) #define IVAS_SPLIT_REND_NUM_QUANT_STRATS 3 #define IVAS_SPLIT_REND_PRED_QUANT_PNTS 31 #define IVAS_SPLIT_REND_D_QUANT_PNTS 15 #define IVAS_SPLIT_REND_PRED_MIN_VAL -1.4f #define IVAS_SPLIT_REND_PRED_MAX_VAL 1.4f #define IVAS_SPLIT_REND_PITCH_G_MIN_VAL (0.5f) #define IVAS_SPLIT_REND_PITCH_G_MAX_VAL (1.5f) #define IVAS_SPLIT_REND_PITCH_G_QUANT_PNTS ( IVAS_SPLIT_REND_D_QUANT_PNTS ) #define IVAS_SPLIT_REND_D_MIN_VAL ( 0.0f ) #define IVAS_SPLIT_REND_D_MAX_VAL ( 1.0f ) #define IVAS_SPLIT_REND_PITCH_G_MIN_VAL 0.5f #define IVAS_SPLIT_REND_PITCH_G_MAX_VAL 1.5f #define IVAS_SPLIT_REND_PITCH_G_QUANT_PNTS IVAS_SPLIT_REND_D_QUANT_PNTS #define IVAS_SPLIT_REND_D_MIN_VAL 0.0f #define IVAS_SPLIT_REND_D_MAX_VAL 1.0f #define IVAS_SPLIT_REND_PRED_Q_STEP (( IVAS_SPLIT_REND_PRED_MAX_VAL - IVAS_SPLIT_REND_PRED_MIN_VAL ) / ( IVAS_SPLIT_REND_PRED_QUANT_PNTS - 1 )) #define IVAS_SPLIT_REND_PRED_1BYQ_STEP (( IVAS_SPLIT_REND_PRED_QUANT_PNTS - 1 )/( IVAS_SPLIT_REND_PRED_MAX_VAL - IVAS_SPLIT_REND_PRED_MIN_VAL )) Loading @@ -1575,11 +1575,11 @@ typedef enum #define IVAS_SPLIT_REND_PITCH_G_Q_STEP (( IVAS_SPLIT_REND_PITCH_G_MAX_VAL - IVAS_SPLIT_REND_PITCH_G_MIN_VAL ) / ( IVAS_SPLIT_REND_PITCH_G_QUANT_PNTS - 1 )) #define IVAS_SPLIT_REND_PITCH_G_1BYQ_STEP (( IVAS_SPLIT_REND_PITCH_G_QUANT_PNTS - 1 )/( IVAS_SPLIT_REND_PITCH_G_MAX_VAL - IVAS_SPLIT_REND_PITCH_G_MIN_VAL )) #define IVAS_SPLIT_REND_MAX_NUM_BYTES (4000) #define IVAS_SPLIT_REND_HEAD_POSE_BITS (9) #define IVAS_SPLIT_REND_DOF_BITS (2) #define IVAS_SPLIT_REND_HQ_MODE_BITS (1) #define IVAS_SPLIT_REND_ROT_AXIS_BITS (3) #define IVAS_SPLIT_REND_MAX_NUM_BYTES 4000 #define IVAS_SPLIT_REND_HEAD_POSE_BITS 9 #define IVAS_SPLIT_REND_DOF_BITS 2 #define IVAS_SPLIT_REND_HQ_MODE_BITS 1 #define IVAS_SPLIT_REND_ROT_AXIS_BITS 3 #endif /* SPLIT_REND_WITH_HEAD_ROT */ #define HRTF_SH_ORDER 3 Loading Loading @@ -1832,7 +1832,7 @@ typedef enum #define SPLIT_REND_512k 512000 #define SPLIT_REND_768k 768000 #define SPLIT_REND_MAX_BRATE SPLIT_REND_768k #define SPLIT_REND_ADDITIONAL_BYTES_TO_READ ( 1 ) #define SPLIT_REND_ADDITIONAL_BYTES_TO_READ 1 #endif /*----------------------------------------------------------------------------------* Loading
lib_com/ivas_prot.h +1 −1 Original line number Diff line number Diff line Loading @@ -5079,7 +5079,7 @@ void ivas_binRenderer( #endif COMBINED_ORIENTATION_HANDLE hCombinedOrientationData, /* i : combined head and external orientation handle */ int16_t subframe_idx, /* i : subframe index */ const int16_t numTimeSlots, /* i: : number of time slots to process */ const int16_t numTimeSlots, /* i : number of time slots to process */ #ifdef SPLIT_REND_WITH_HEAD_ROT float Cldfb_RealBuffer_Binaural[][BINAURAL_CHANNELS][MAX_PARAM_SPATIAL_SUBFRAMES][CLDFB_NO_CHANNELS_MAX], /* o : Rotated Binaural signals */ float Cldfb_ImagBuffer_Binaural[][BINAURAL_CHANNELS][MAX_PARAM_SPATIAL_SUBFRAMES][CLDFB_NO_CHANNELS_MAX], /* o : Rotated Binaural signals */ Loading