Commit 04cbbed6 authored by advasila's avatar advasila
Browse files

Merge branch 'main' into 797-omasa-crash-in-inactive-static-separated-object

parents 2d8aeb76 18937cdd
Loading
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -372,7 +372,7 @@ codec-smoke-test:
  extends:
    - .test-job-linux-needs-testv-dir
    - .rules-merge-request
  timeout: "15 minutes"
  timeout: "17 minutes"
  stage: test
  needs: ["build-codec-linux-cmake", "build-codec-linux-make", "build-codec-instrumented-linux", "build-codec-sanitizers-linux"]
  script:
+11 −0
Original line number Diff line number Diff line
@@ -1043,10 +1043,17 @@ void ivas_param_ism_enc(
    const int16_t input_frame                                   /* i  : input frame length per channel              */
);

#ifndef PARAM_ISM_REFACTOR
void ivas_param_ism_enc_close(
    DIRAC_ENC_HANDLE *hDirAC,                                   /* i/o: encoder DirAC handle                        */
    const int32_t input_Fs                                      /* i  : input sampling_rate                         */
);
#else
void ivas_param_ism_enc_close(
    PARAM_ISM_CONFIG_HANDLE *hParamIsm,                         /* i/o: ParamISM handle                             */
    const int32_t input_Fs                                      /* i  : input sampling_rate                         */
);
#endif

void ivas_ism_metadata_close(
    ISM_METADATA_HANDLE hIsmMetaData[],                         /* i/o  : object metadata handles                   */
@@ -1085,7 +1092,11 @@ ivas_error ivas_param_ism_dec_open(
);

void ivas_param_ism_dec_close(
#ifndef PARAM_ISM_REFACTOR
    DIRAC_DEC_HANDLE *hDirAC,                                   /* i/o: decoder DirAC handle                        */
#else
    PARAM_ISM_DEC_HANDLE *hParamIsmDec,                         /* i/o: decoder ParamISM handle                     */
#endif
    SPAT_PARAM_REND_COMMON_DATA_HANDLE *hSpatParamRendCom_out,  /* i/o: common spatial renderer data                */
    const AUDIO_CONFIG output_config                            /* i  : output audio configuration                  */
);
+35 −30
Original line number Diff line number Diff line
@@ -150,36 +150,6 @@ typedef struct

} ECSQ_instance;

/*----------------------------------------------------------------------------------*
 * PARAMETRIC ISM encoder/decoder (common) structure
 *----------------------------------------------------------------------------------*/

typedef struct ivas_param_ism_data_structure
{
    int16_t nbands;
    int16_t nblocks[MAX_PARAM_ISM_NBANDS];
    int16_t band_grouping[MAX_PARAM_ISM_NBANDS + 1];

    int16_t azi_index[MAX_NUM_OBJECTS];
    int16_t ele_index[MAX_NUM_OBJECTS];

    int16_t obj_indices[MAX_PARAM_ISM_NBANDS][MAX_PARAM_ISM_NBLOCKS][MAX_PARAM_ISM_WAVE];
    int16_t power_ratios_idx[MAX_PARAM_ISM_NBANDS][MAX_PARAM_ISM_NBLOCKS];

    int16_t last_az_sgn[MAX_NUM_OBJECTS];
    int16_t last_az_diff[MAX_NUM_OBJECTS];
    int16_t last_el_sgn[MAX_NUM_OBJECTS];
    int16_t last_el_diff[MAX_NUM_OBJECTS];

    int16_t flag_noisy_speech;
    int16_t noisy_speech_buffer[PARAM_ISM_HYS_BUF_SIZE];
    int16_t flag_equal_energy;

    float last_dmx_gain;
    float last_cardioid_left[MAX_NUM_OBJECTS];

} PARAM_ISM_CONFIG_DATA, *PARAM_ISM_CONFIG_HANDLE;


/*----------------------------------------------------------------------------------*
 * Declaration of DirAC common (encoder & decoder) structure
@@ -813,4 +783,39 @@ typedef struct ivas_fb_mixer_state_structure
} IVAS_FB_MIXER_DATA, *IVAS_FB_MIXER_HANDLE;


/*----------------------------------------------------------------------------------*
 * PARAMETRIC ISM encoder/decoder (common) structure
 *----------------------------------------------------------------------------------*/

typedef struct ivas_param_ism_data_structure
{
#ifdef PARAM_ISM_REFACTOR
    IVAS_FB_MIXER_HANDLE hFbMixer;

#endif
    int16_t nbands;
    int16_t nblocks[MAX_PARAM_ISM_NBANDS];
    int16_t band_grouping[MAX_PARAM_ISM_NBANDS + 1];

    int16_t azi_index[MAX_NUM_OBJECTS];
    int16_t ele_index[MAX_NUM_OBJECTS];

    int16_t obj_indices[MAX_PARAM_ISM_NBANDS][MAX_PARAM_ISM_NBLOCKS][MAX_PARAM_ISM_WAVE];
    int16_t power_ratios_idx[MAX_PARAM_ISM_NBANDS][MAX_PARAM_ISM_NBLOCKS];

    int16_t last_az_sgn[MAX_NUM_OBJECTS];
    int16_t last_az_diff[MAX_NUM_OBJECTS];
    int16_t last_el_sgn[MAX_NUM_OBJECTS];
    int16_t last_el_diff[MAX_NUM_OBJECTS];

    int16_t flag_noisy_speech;
    int16_t noisy_speech_buffer[PARAM_ISM_HYS_BUF_SIZE];
    int16_t flag_equal_energy;

    float last_dmx_gain;
    float last_cardioid_left[MAX_NUM_OBJECTS];

} PARAM_ISM_CONFIG_DATA, *PARAM_ISM_CONFIG_HANDLE;


#endif /* IVAS_STAT_COM */
+2 −0
Original line number Diff line number Diff line
@@ -174,6 +174,7 @@
#define FIX_747_ISM_TODOS                               /* VA: issue 747 - address ISM ToDos */
#define FIX_ISMRENDERER_HANDLE_DEALLOC                  /* VA: issue 781: harmonize Deallocation of handle 'hIsmRendererData' */
#define FIX_782_OSBA_FUNCTION_NAMES                     /* VA: fix 782: correct OSBA function names */
#define PARAM_ISM_REFACTOR                              /* FhG: Issue 768: Refactoring to decouple hDirAC and hParamISM */


/* #################### End BE switches ################################## */
@@ -201,6 +202,7 @@
#define NONBE_FIX_738_SBA_BR_SW_ASAN                       /* FhG: issue 738: fixes bug when switching to an MCT bitrate and previous frame was ACELP */
#define NONBE_CR_FIX_735_SBA_HP20_BRATE_SWITCHING       /* VA: Issue 735: Resolve "HP20 filtering bug in SBA/OSBA bitrate switching" */
#define NONBE_FIX_588_UPDATE_FASTCONV_SD                      /* FhG: issue 588: update FastConv SD HRTFs in CLDFB domain with new conversion method */
#define NONBE_FIX_778_TNS_UNFIED_STEREO_MSAN                  /* FhG: Issue 778: MSAN error due to uninitialized TNS configuration */
#define NONBE_FIX_797_OMASA_INACTIVE_SEP_OBJ                 /* VA: issue 797:  fix of crash when the separated object is inactive and the MASA metadata is using very few bits */


+4 −0
Original line number Diff line number Diff line
@@ -186,7 +186,11 @@ ivas_error ivas_dec(
        }
        else if ( st_ivas->ism_mode == ISM_MODE_PARAM )
        {
#ifndef PARAM_ISM_REFACTOR
            if ( ( error = ivas_ism_metadata_dec( ivas_total_brate, st_ivas->nchan_ism, &( st_ivas->nchan_transport ), st_ivas->hIsmMetaData, st_ivas->hSCE, st_ivas->bfi, nb_bits_metadata, st_ivas->ism_mode, st_ivas->hISMDTX, st_ivas->hDirAC->hParamIsm, &st_ivas->ism_extmeta_active, &st_ivas->ism_extmeta_cnt, st_ivas->hSCE[0]->hCoreCoder[0] ) ) != IVAS_ERR_OK )
#else
            if ( ( error = ivas_ism_metadata_dec( ivas_total_brate, st_ivas->nchan_ism, &( st_ivas->nchan_transport ), st_ivas->hIsmMetaData, st_ivas->hSCE, st_ivas->bfi, nb_bits_metadata, st_ivas->ism_mode, st_ivas->hISMDTX, st_ivas->hParamIsmDec->hParamIsm, &st_ivas->ism_extmeta_active, &st_ivas->ism_extmeta_cnt, st_ivas->hSCE[0]->hCoreCoder[0] ) ) != IVAS_ERR_OK )
#endif
            {
                return error;
            }
Loading