Commit dda82a06 authored by vaclav's avatar vaclav
Browse files

Merge branch 'my_devel' into split_rendering_formal_improvements

parents 2ccb55e9 33176a6a
Loading
Loading
Loading
Loading
Loading
+7 −2
Original line number Diff line number Diff line
@@ -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" />
@@ -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" />
+3 −0
Original line number Diff line number Diff line
@@ -164,6 +164,7 @@ typedef struct
    float yaw;
    float pitch;
    int16_t non_diegetic_flag;

} IVAS_REND_AudioObjectPosition;

typedef struct _IVAS_ROOM_ACOUSTICS_CONFIG
@@ -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
@@ -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

+1 −1
Original line number Diff line number Diff line
@@ -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
)
{
+45 −45
Original line number Diff line number Diff line
@@ -1529,34 +1529,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 )) 
@@ -1565,11 +1565,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
@@ -1822,7 +1822,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

/*----------------------------------------------------------------------------------*
+1 −1
Original line number Diff line number Diff line
@@ -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