Commit 75c605d8 authored by vaclav's avatar vaclav
Browse files

Merge remote-tracking branch 'remotes/origin/main' into framework_maintenance

parents 2be7b55b 5890fad8
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -1671,6 +1671,10 @@ typedef enum
#define MAX_ANGULAR_STEP_INV                    ( 1.0f / MAX_ANGULAR_STEP )
#define MAX_INTERPOLATION_STEPS                 12

#ifdef FIX_674_MISSING_TABLES_FOR_TDREND_REVERB
#define LR_IAC_LENGTH_NR_FC                     ( RV_LENGTH_NR_FC )
#endif

/* ----- Enums - TD Renderer ----- */

typedef enum

lib_com/options.h

100755 → 100644
+4 −2
Original line number Diff line number Diff line
@@ -127,8 +127,8 @@
/* #define DEBUG_OSBA */
/*#define DEBUG_BINAURAL_FILTER_DESIGN*/        /* debugging of Crend binaural filter design */
/*#define DEBUG_AGC_ENCODER_CMD_OPTION*/        /* Ability to force enable or disable AGC behaviour in DIRAC/SPAR via command line option */
#define DEBUG_JBM_CMD_OPTION                    /* ability for telling the decoder the frontend fetch size and to not delay compensate for bad frames at the beginning */
#define VARIABLE_SPEED_DECODING                 /* variable speed decoding employing the JBM functioniality; move to DEBUGGING after build for disabled is fixed */
/*#define DEBUG_JBM_CMD_OPTION*/                /* ability for telling the decoder the frontend fetch size and to not delay compensate for bad frames at the beginning */
/*#define VARIABLE_SPEED_DECODING*/                 /* variable speed decoding employing the JBM functioniality; move to DEBUGGING after build for disabled is fixed */

/*Split Rendering Debug switches*/
/*#define DBG_WAV_WRITER*/                      /* add debugging function dbgwrite_wav() */
@@ -246,6 +246,8 @@
#define FIX_680_ACELP_TABLE_OMASA                       /* Nokia: Fix for issue 680 preventing overindexing of PulseConfTable */
#define FIX_685_BER_IN_HVQ                              /* Eri: Fix for issue 685. Invalid configuration in EVS now happening in IVAS with variable rate core. Remove BER warning for IVAS. */

#define FIX_674_MISSING_TABLES_FOR_TDREND_REVERB        /* Eri: add tables for 32kHz, 16kHz (and update 48kHz) for left/right energies and coherence for late reverb in TD renderer path. Also read tables from binary when hrtf binaries are used. */

/* ################## End BE DEVELOPMENT switches ######################### */

/* #################### Start NON-BE CR switches ########################## */
+4 −0
Original line number Diff line number Diff line
@@ -1945,7 +1945,11 @@ ivas_error ivas_init_decoder(

        if ( st_ivas->hIntSetup.output_config == AUDIO_CONFIG_BINAURAL_ROOM_REVERB )
        {
#ifdef FIX_674_MISSING_TABLES_FOR_TDREND_REVERB
            if ( ( error = ivas_reverb_open( &st_ivas->hReverb, st_ivas->hDecoderConfig->output_config, NULL, st_ivas->hBinRendererTd->HrFiltSet_p->lr_energy_and_iac, st_ivas->hRenderConfig, st_ivas->hDecoderConfig->output_Fs ) ) != IVAS_ERR_OK )
#else
            if ( ( error = ivas_reverb_open( &st_ivas->hReverb, st_ivas->hDecoderConfig->output_config, NULL, st_ivas->hRenderConfig, st_ivas->hDecoderConfig->output_Fs ) ) != IVAS_ERR_OK )
#endif
            {
                return error;
            }
+4 −0
Original line number Diff line number Diff line
@@ -198,7 +198,11 @@ static ivas_error ivas_ism_bitrate_switching_dec(
#ifdef FIX_571_REVERB_NOT_ACTIVATED_ISM
                if ( st_ivas->hIntSetup.output_config == AUDIO_CONFIG_BINAURAL_ROOM_REVERB )
                {
#ifdef FIX_674_MISSING_TABLES_FOR_TDREND_REVERB
                    if ( ( error = ivas_reverb_open( &st_ivas->hReverb, st_ivas->hDecoderConfig->output_config, NULL, st_ivas->hBinRendererTd->HrFiltSet_p->lr_energy_and_iac, st_ivas->hRenderConfig, st_ivas->hDecoderConfig->output_Fs ) ) != IVAS_ERR_OK )
#else
                    if ( ( error = ivas_reverb_open( &st_ivas->hReverb, st_ivas->hDecoderConfig->output_config, NULL, st_ivas->hRenderConfig, st_ivas->hDecoderConfig->output_Fs ) ) != IVAS_ERR_OK )
#endif
                    {
                        return error;
                    }
+13 −8
Original line number Diff line number Diff line
@@ -40,6 +40,8 @@
#include "stat_dec.h"
#include "ivas_stat_com.h"
#include "ivas_stat_rend.h"


/*----------------------------------------------------------------------------------*
 * DFT Stereo decoder structure
 *----------------------------------------------------------------------------------*/
@@ -290,6 +292,7 @@ typedef struct stereo_mdct_dec_data_structure
    STEREO_MDCT_BAND_PARAMETERS stbParamsTCX20;           /* stereo frequency band parameters for TCX20 */
    STEREO_MDCT_BAND_PARAMETERS stbParamsTCX10;           /* stereo frequency band parameters for TCX10 */
    STEREO_MDCT_BAND_PARAMETERS stbParamsTCX20afterACELP; /* stereo frequency band parameters for transition frame */

    /* only intraframe */
    int16_t mdct_stereo_mode[2]; /* mdct stereo mode: LR, MS, band-wise MS */
    int16_t global_ild[2];       /* Quantized ILD for the whole spectrum */
@@ -395,6 +398,7 @@ typedef struct

} ISM_DTX_DATA_DEC;


/*----------------------------------------------------------------------------------*
 * DirAC decoder structures
 *----------------------------------------------------------------------------------*/
@@ -411,7 +415,6 @@ typedef struct param_ism_rendering
} PARAM_ISM_RENDERING_DATA, *PARAM_ISM_RENDERING_HANDLE;


/* ===== DirAC main structure ===== */
typedef struct ivas_dirac_dec_data_structure
{
    DIRAC_CONFIG_DATA_HANDLE hConfig;
@@ -440,7 +443,6 @@ typedef struct ivas_dirac_dec_data_structure

typedef struct dirac_output_synthesis_cov_state_structure
{

    /* only pointer to local buffers */
    float *direct_power_factor;
    float *diffuse_power_factor;
@@ -469,6 +471,7 @@ typedef struct dirac_output_synthesis_cov_state_structure
/*----------------------------------------------------------------------------------*
 * ParamMC structures
 *----------------------------------------------------------------------------------*/

typedef struct ivas_param_mc_diff_proto_info_structure
{
    int16_t num_protos_diff;
@@ -479,10 +482,9 @@ typedef struct ivas_param_mc_diff_proto_info_structure

} PARAM_MC_DIFF_PROTO_INFO;

/* ===== Parametric MC main structure ===== */

typedef struct ivas_param_mc_dec_data_structure
{

    int16_t slot_size;
    float *Cldfb_RealBuffer_tc;
    float *Cldfb_ImagBuffer_tc;
@@ -527,11 +529,11 @@ typedef struct ivas_param_mc_dec_data_structure

} PARAM_MC_DEC_DATA, *PARAM_MC_DEC_HANDLE;


/*----------------------------------------------------------------------------------*
 * MC Param-Upmix Mode structures
 *----------------------------------------------------------------------------------*/

/* ===== MC Param-Upmix Mode main structure ===== */
typedef struct ivas_mc_paramupmix_dec_data_structure
{
    int16_t num_freq_bands;
@@ -553,6 +555,7 @@ typedef struct ivas_mc_paramupmix_dec_data_structure

} MC_PARAMUPMIX_DEC_DATA, *MC_PARAMUPMIX_DEC_HANDLE;


/*------------------------------------------------------------------------------------------*
 * SPAR decoder structures
 *------------------------------------------------------------------------------------------*/
@@ -612,6 +615,7 @@ typedef struct ivas_agc_dec_state_t

} ivas_agc_dec_state_t;


/* PCA structure */
typedef struct
{
@@ -625,6 +629,7 @@ typedef struct

} PCA_DEC_STATE;


/* main SPAR decoder structure */
typedef struct ivas_spar_dec_lib_t
{
@@ -738,6 +743,7 @@ typedef struct mct_dec_block_data_struct

} MCT_DEC_BLOCK_DATA, *MCT_DEC_BLOCK_DATA_HANDLE;


typedef struct mct_dec_data_structure
{
    int16_t nchan_out_woLFE; /* number of active channels within multi-channel configuration */
@@ -748,6 +754,7 @@ typedef struct mct_dec_data_structure
    int16_t chBitRatios[MCT_MAX_CHANNELS];
    int16_t lowE_ch[MCT_MAX_CHANNELS];        /* note: pointer to local parameter */
    uint16_t mc_global_ild[MCT_MAX_CHANNELS]; /* note: pointer to local parameter */

} MCT_DEC_DATA, *MCT_DEC_HANDLE;


@@ -788,7 +795,6 @@ typedef struct renderer_struct

} ISM_RENDERER_DATA, *ISM_RENDERER_HANDLE;


#ifndef SPLIT_REND_WITH_HEAD_ROT
/* Fastconv binaural data structure */
typedef struct ivas_binaural_rendering_struct
@@ -815,7 +821,6 @@ typedef struct ivas_binaural_rendering_struct
} BINAURAL_RENDERER, *BINAURAL_RENDERER_HANDLE;
#endif


/*----------------------------------------------------------------------------------*
 * MASA decoder structures
 *----------------------------------------------------------------------------------*/
@@ -980,6 +985,7 @@ typedef struct jbm_metadata_structure
    int16_t slot_md_buffer_length;

    int16_t sf_to_slot_map[MAX_JBM_SUBFRAMES_5MS * JBM_CLDFB_SLOTS_IN_SUBFRAME * MASA_JBM_RINGBUFFER_FRAMES];

} JBM_METADATA, *JBM_METADATA_HANDLE;
#endif

@@ -1083,7 +1089,6 @@ typedef struct Decoder_Struct
#if defined SBA_AND_OBJECTS || defined MASA_AND_OBJECTS
    MASA_ISM_DATA_HANDLE hMasaIsmData;
#endif

#ifndef FIX_657_REMOVE_EDITING
    uint8_t editing_ism_enabled;                               /* Todo Nokia: Temporary, used until proper ISM control available */
    int16_t index_of_edited_ism;                               /* Todo Nokia: Temporary, used until proper ISM control available */
Loading