Commit 4b8d2689 authored by bayers's avatar bayers
Browse files

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

Merge remote-tracking branch 'remotes/origin/main' into 1021-msan-use-of-uninitialized-value-in-ism4-rate-switching-with-jbm
parents 1886d26f 439f4ec3
Loading
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -1095,11 +1095,13 @@ void ivas_param_ism_dec_close(
    const AUDIO_CONFIG output_config                            /* i  : output audio configuration                  */
);

#ifndef FIX_1022_REMOVE_PARAMISM_DEC
void ivas_param_ism_dec(
    Decoder_Struct *st_ivas,                                    /* i/o: IVAS decoder structure                      */
    float *output_f[]                                           /* i/o: synthesized core-coder transport channels/DirAC output  */
);

#endif
void ivas_ism_dec_digest_tc(
    Decoder_Struct *st_ivas                                     /* i/o: IVAS decoder structure                      */
);
@@ -3867,11 +3869,13 @@ void ivas_param_mc_dec_render(
    float *output_f[]                                           /* o  : rendered time signal                                */
);

#ifndef FIX_1023_REMOVE_PARAMMC_DEC
void ivas_param_mc_dec(
    Decoder_Struct *st_ivas,                                    /* i/o: IVAS decoder handle                                     */
    float *output_f[]                                           /* i/o: synthesized core-coder transport channels/DirAC output  */
);

#endif
/*! r: number of cldfb synthesis instances */
int16_t param_mc_get_num_cldfb_syntheses( 
    Decoder_Struct *st_ivas                                     /* i  : IVAS decoder structure                              */
+3 −0
Original line number Diff line number Diff line
@@ -157,6 +157,9 @@
/*#define SPLIT_REND_WITH_HEAD_ROT  */                  /* Dlb,FhG: Split Rendering contributions 21 and 35 */

#define FIX_1027_GSC_INT_OVERFLOW                       /* VA: issue 2207: overflow in GSC */
#define FIX_1024_REMOVE_PARAMMC_MIXING_MAT              /* VA: issue 1024: remove unused function ivas_param_mc_get_mono_stereo_mixing_matrices() */
#define FIX_1023_REMOVE_PARAMMC_DEC                     /* VA: issue 1023: remove unused function ivas_param_mc_dec() */
#define FIX_1022_REMOVE_PARAMISM_DEC                    /* VA: issue 1022: remove unused function ivas_param_ism_dec() */

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

+9 −5
Original line number Diff line number Diff line
@@ -324,7 +324,7 @@ static void ivas_param_ism_render_slot(
    return;
}


#ifndef FIX_1022_REMOVE_PARAMISM_DEC
static void ivas_param_ism_rendering(
    PARAM_ISM_DEC_HANDLE hParamIsmDec,
    SPAT_PARAM_REND_COMMON_DATA_HANDLE hSpatParamRendCom,
@@ -361,7 +361,7 @@ static void ivas_param_ism_rendering(

    return;
}

#endif

static ivas_error ivas_param_ism_rendering_init(
    PARAM_ISM_RENDERING_HANDLE hParamIsmRendering,
@@ -729,7 +729,7 @@ void ivas_param_ism_dec_close(
    return;
}


#ifndef FIX_1022_REMOVE_PARAMISM_DEC
/*-------------------------------------------------------------------------*
 * ivas_param_ism_dec()
 *
@@ -973,7 +973,7 @@ void ivas_param_ism_dec(

    return;
}

#endif

/*-------------------------------------------------------------------------*
 * ivas_ism_dec_digest_tc()
@@ -1121,7 +1121,7 @@ void ivas_param_ism_dec_digest_tc(
        nchan_out_woLFE = st_ivas->hIntSetup.nchan_out_woLFE;
    }

    push_wmops( "ivas_param_ism_dec" );
    push_wmops( "ivas_param_ism_dec_digest_tc" );

    /* general setup */
    ivas_jbm_dec_get_adapted_linear_interpolator( DEFAULT_JBM_CLDFB_TIMESLOTS, nCldfbSlots, hParamIsmDec->hParamIsmRendering->interpolator );
@@ -1533,8 +1533,10 @@ void ivas_param_ism_params_to_masa_param_mapping(
        st_ivas->hISMDTX.dtx_flag = 1;
    }

#ifndef FIX_1022_REMOVE_PARAMISM_DEC
    if ( st_ivas->nchan_ism > 1 )
    {
#endif
        if ( st_ivas->hISMDTX.dtx_flag )
        {
            float energy_ratio;
@@ -1598,6 +1600,7 @@ void ivas_param_ism_params_to_masa_param_mapping(
                }
            }
        }
#ifndef FIX_1022_REMOVE_PARAMISM_DEC
    }
    else
    {
@@ -1617,6 +1620,7 @@ void ivas_param_ism_params_to_masa_param_mapping(
            }
        }
    }
#endif

    return;
}
+13 −4
Original line number Diff line number Diff line
@@ -88,8 +88,10 @@ static void ivas_param_mc_dequantize_cov( PARAM_MC_DEC_HANDLE hDirAC, float *ild

static void ivas_param_mc_get_mixing_matrices( PARAM_MC_DEC_HANDLE hParamMC, IVAS_OUTPUT_SETUP *hSynthesisOutputSetup, float Cx_in[PARAM_MC_MAX_PARAMETER_BANDS][PARAM_MC_MAX_TRANSPORT_CHANS * PARAM_MC_MAX_TRANSPORT_CHANS], float *mixing_matrix[], float *mixing_matrix_res[], const int16_t nY_int, const PARAM_MC_SYNTHESIS_CONF synth_conf, const int16_t nX, const int16_t nY );

#ifndef FIX_1024_REMOVE_PARAMMC_MIXING_MAT
static void ivas_param_mc_get_mono_stereo_mixing_matrices( PARAM_MC_DEC_HANDLE hParamMC, float Cx_in[PARAM_MC_MAX_PARAMETER_BANDS][PARAM_MC_MAX_TRANSPORT_CHANS * PARAM_MC_MAX_TRANSPORT_CHANS], float *mixing_matrix[], float *mixing_matrix_res[], const int16_t nY_intern, const int16_t nX, const int16_t nY_cov );

#endif
static void param_mc_update_mixing_matrices( PARAM_MC_DEC_HANDLE hParamMC, float *mixing_matrix[], float *mixing_matrix_res[], const uint16_t nX, const uint16_t nY );

static void ivas_param_mc_dec_compute_interpolator( const uint16_t bAttackPresent, const uint16_t attackPos, const uint16_t interp_length, float *interpolator );
@@ -1454,15 +1456,19 @@ void ivas_param_mc_dec_digest_tc(
    }


#ifndef FIX_1024_REMOVE_PARAMMC_MIXING_MAT
    if ( hParamMC->synthesis_conf == PARAM_MC_SYNTH_MONO_STEREO )
    {
        ivas_param_mc_get_mono_stereo_mixing_matrices( hParamMC, cx, hParamMC->h_output_synthesis_cov_state.mixing_matrix, hParamMC->h_output_synthesis_cov_state.mixing_matrix_res, nchan_out_transport, nchan_transport, nchan_out_cov );
    }
    else
    {
#endif
        /* generate mixing matrices */
        ivas_param_mc_get_mixing_matrices( hParamMC, hSynthesisOutputSetup, cx, hParamMC->h_output_synthesis_cov_state.mixing_matrix, hParamMC->h_output_synthesis_cov_state.mixing_matrix_res, nchan_out_transport, hParamMC->synthesis_conf, nchan_transport, nchan_out_cov );
#ifndef FIX_1024_REMOVE_PARAMMC_MIXING_MAT
    }
#endif

    pop_wmops();

@@ -1471,9 +1477,9 @@ void ivas_param_mc_dec_digest_tc(


/*-------------------------------------------------------------------------
 * ivas_param_mc_dec()
 * ivas_param_mc_dec_render()
 *
 * Parametric MC decoding process
 * Parametric MC rendering process
 *------------------------------------------------------------------------*/

void ivas_param_mc_dec_render(
@@ -1809,6 +1815,8 @@ void ivas_param_mc_dec_render(
    return;
}


#ifndef FIX_1023_REMOVE_PARAMMC_DEC
/*-------------------------------------------------------------------------
 * ivas_param_mc_dec()
 *
@@ -1848,6 +1856,7 @@ void ivas_param_mc_dec(
    pop_wmops();
    return;
}
#endif

/*-------------------------------------------------------------------------
 * param_mc_dec_init()
@@ -2445,7 +2454,7 @@ static void ivas_param_mc_get_mixing_matrices(
    return;
}


#ifndef FIX_1024_REMOVE_PARAMMC_MIXING_MAT
/*-------------------------------------------------------------------------
 * ivas_param_mc_get_mono_stereo_mixing_matrices()
 *
@@ -2566,7 +2575,7 @@ static void ivas_param_mc_get_mono_stereo_mixing_matrices(

    return;
}

#endif

/*-------------------------------------------------------------------------
 * param_mc_update_mixing_matrices()
+8 −0
Original line number Diff line number Diff line
@@ -973,7 +973,11 @@ void ivas_ls_setup_conversion_process_mdct_param_mc(
        set_zero( Nrqq, MAX_OUTPUT_CHANNELS );
        set_zero( target_ch_ener, MAX_OUTPUT_CHANNELS );

#ifdef FIX_1024_REMOVE_PARAMMC_MIXING_MAT
        /* Step 1.2, get target channel energies for the transported format, Nrqq calculation */
#else
        /* Step 1.2, get target channel energies for the transported format as in ivas_param_mc_get_mono_stereo_mixing_matrices(), Nrqq calculation */
#endif
        ild_q = hParamMC->icld_q + bandIdx * hParamMC->hMetadataPMC->ild_mapping_conf->ild_map_size_lfe;

        for ( chInIdx = 0; chInIdx < nchan_transport_format; chInIdx++ )
@@ -991,7 +995,11 @@ void ivas_ls_setup_conversion_process_mdct_param_mc(
            Nrqq[hParamMC->hMetadataPMC->ild_mapping_conf->ild_index[chInIdx]] = powf( 10.0f, ild_q[chInIdx] / 10.0f ) * hParamMC->hMetadataPMC->ild_factors[chInIdx] * ref_ener;
        }

#ifdef FIX_1024_REMOVE_PARAMMC_MIXING_MAT
        /* Step 1.3 get target Cy (with dmx matrix from CICPX to MONO/STEREO saved in hParamMC) */
#else
        /* Step 1.3 get target Cy like in ivas_param_mc_get_mono_stereo_mixing_matrices() (with dmx matrix from CICPX to MONO/STEREO saved in hParamMC) */
#endif
        for ( chOutIdx = 0; chOutIdx < nchan_out; chOutIdx++ )
        {
            for ( i = 0; i < nchan_transport_format; i++ )