Commit bc5608f8 authored by Archit Tamarapu's avatar Archit Tamarapu
Browse files

[fix] move split rendering related renderer selection to a subkey of SPLITREND...

[fix] move split rendering related renderer selection to a subkey of SPLITREND in the renderer config, and restore the original override to be only enabled with DEBUGGING + small readme update
parent 105cd565
Loading
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -688,7 +688,7 @@ static int16_t get_cldfb_in_flag( IVAS_REND_AudioConfig audioConfig, IVAS_RENDER
{
    int16_t cldfb_in;
    cldfb_in = 0;
    if ( renderConfig->renderer_type_override == IVAS_RENDER_TYPE_OVERRIDE_FASTCONV )
    if ( renderConfig->split_rend_config.rendererSelection == IVAS_SPLIT_REND_RENDERER_SELECTION_FASTCONV )
    {
#ifdef DEBUGGING
        cldfb_in = 1;
+12 −2
Original line number Diff line number Diff line
@@ -115,6 +115,15 @@ typedef enum
    IVAS_SPLIT_REND_CODEC_NONE
} IVAS_SPLIT_REND_CODEC;

typedef enum
{
    IVAS_SPLIT_REND_RENDERER_SELECTION_CREND,
    IVAS_SPLIT_REND_RENDERER_SELECTION_FASTCONV,
    IVAS_SPLIT_REND_RENDERER_SELECTION_PARAMBIN,
    IVAS_SPLIT_REND_RENDERER_SELECTION_TDREND,
    IVAS_SPLIT_REND_RENDERER_SELECTION_DEFAULT,
} IVAS_SPLIT_REND_RENDERER_SELECTION;

typedef struct ivas_split_rend_bits_t
{
    uint8_t *bits_buf;
@@ -147,7 +156,7 @@ typedef struct ivas_hrtfs_crend_structure *IVAS_DEC_HRTF_CREND_HANDLE;
typedef struct ivas_hrtfs_fastconv_struct *IVAS_DEC_HRTF_FASTCONV_HANDLE;
typedef struct ivas_hrtfs_parambin_struct *IVAS_DEC_HRTF_PARAMBIN_HANDLE;

#if defined( DEBUGGING ) || defined( SPLIT_REND_WITH_HEAD_ROT ) // TODO needs refactoring to a separate enum for split rendering
#ifdef DEBUGGING
typedef enum
{
    IVAS_RENDER_TYPE_OVERRIDE_NONE,
@@ -193,12 +202,13 @@ 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_RENDERER_SELECTION rendererSelection;
} IVAS_SPLIT_REND_CONFIG_DATA;
#endif

typedef struct _IVAS_RENDER_CONFIG
{
#if defined( DEBUGGING ) || defined( SPLIT_REND_WITH_HEAD_ROT ) // TODO needs refactoring to a separate enum for split rendering
#ifdef DEBUGGING
    IVAS_RENDER_TYPE_OVERRIDE renderer_type_override;
#endif
    IVAS_ROOM_ACOUSTICS_CONFIG_DATA room_acoustics;
+1 −0
Original line number Diff line number Diff line
@@ -1596,6 +1596,7 @@ ivas_error IVAS_DEC_GetRenderConfig(
    hRCout->split_rend_config.codec_delay_ms = 0;
    hRCout->split_rend_config.codec = IVAS_SPLIT_REND_CODEC_DEFAULT;
    hRCout->split_rend_config.poseCorrectionMode = IVAS_SPLIT_REND_POSE_CORRECTION_MODE_CLDFB;
    hRCout->split_rend_config.rendererSelection = hRCin->split_rend_config.rendererSelection;
#endif

    return IVAS_ERR_OK;
+1 −4
Original line number Diff line number Diff line
@@ -106,12 +106,8 @@ ivas_error ivas_render_config_init_from_rom(
    {
        return IVAS_ERROR( IVAS_ERR_UNEXPECTED_NULL_POINTER, "Unexpected null pointer while attempting to fill renderer configuration from ROM" );
    }
#ifndef SPLIT_REND_WITH_HEAD_ROT
#ifdef DEBUGGING
    ( *hRenderConfig )->renderer_type_override = RENDER_TYPE_OVERRIDE_NONE;
#endif
#else
    ( *hRenderConfig )->renderer_type_override = RENDER_TYPE_OVERRIDE_NONE;
#endif
    ( *hRenderConfig )->roomAcoustics.override = FALSE;
    ( *hRenderConfig )->roomAcoustics.nBands = IVAS_REVERB_DEFAULT_N_BANDS;
@@ -135,6 +131,7 @@ ivas_error ivas_render_config_init_from_rom(
    ( *hRenderConfig )->split_rend_config.codec_delay_ms = 0;
    ( *hRenderConfig )->split_rend_config.codec = IVAS_SPLIT_REND_CODEC_DEFAULT;
    ( *hRenderConfig )->split_rend_config.poseCorrectionMode = IVAS_SPLIT_REND_POSE_CORRECTION_MODE_CLDFB;
    ( *hRenderConfig )->split_rend_config.rendererSelection = IVAS_SPLIT_REND_RENDERER_SELECTION_DEFAULT;
#endif

    return IVAS_ERR_OK;
+0 −4
Original line number Diff line number Diff line
@@ -909,12 +909,8 @@ typedef struct ivas_roomAcoustics_t

typedef struct ivas_render_config_t
{
#ifndef SPLIT_REND_WITH_HEAD_ROT
#ifdef DEBUGGING
    ivas_renderTypeOverride renderer_type_override;
#endif
#else
    ivas_renderTypeOverride renderer_type_override;
#endif
    ivas_roomAcoustics_t roomAcoustics;
    float directivity[3];
Loading