Commit 9d9c88c3 authored by Archit Tamarapu's avatar Archit Tamarapu
Browse files

port FIX_1024_REMOVE_PARAMMC_MIXING_MAT

parent 07c86113
Loading
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -227,6 +227,7 @@
#define FIX_1003_PARAMISM_BINAURAL_RECONFIG_USAN        /* FhG: fix for #1003: fix USAN caused by ParamISM reconfig                    */
#define FIX_1001_ARI_HM_OVERFLOW                        /* FhG: fix for undef behaviour in in the harmonic TCX model arithmetic coder */
#define NONBE_FIX_1005_MC_RS_TCBUFFER_UPDATE            /* FhG: issue #1005: fix TC Buffer update at a MC rate switch */
#define FIX_1024_REMOVE_PARAMMC_MIXING_MAT              /* VA: issue 1024: remove unused function ivas_param_mc_get_mono_stereo_mixing_matrices() */

/* #################### End BASOP porting switches ############################ */

+8 −0
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_TRANSPORT_CHANS * PARAM_MC_MAX_TRANSPORT_CHANS], const int16_t param_band_idx, 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_TRANSPORT_CHANS * PARAM_MC_MAX_TRANSPORT_CHANS], const int16_t param_band_idx, 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 );
@@ -1494,6 +1496,7 @@ void ivas_param_mc_dec_digest_tc(
                continue;
            }

#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,
@@ -1507,6 +1510,7 @@ void ivas_param_mc_dec_digest_tc(
            }
            else
            {
#endif
                /* generate mixing matrices */
                ivas_param_mc_get_mixing_matrices( hParamMC,
                                                   hSynthesisOutputSetup,
@@ -1518,7 +1522,9 @@ void ivas_param_mc_dec_digest_tc(
                                                   hParamMC->synthesis_conf,
                                                   nchan_transport,
                                                   nchan_out_cov );
#ifndef FIX_1024_REMOVE_PARAMMC_MIXING_MAT
            }
#endif
        }
    }

@@ -2504,6 +2510,7 @@ static void ivas_param_mc_get_mixing_matrices(
}


#ifndef FIX_1024_REMOVE_PARAMMC_MIXING_MAT
/*-------------------------------------------------------------------------
 * ivas_param_mc_get_mono_stereo_mixing_matrices()
 *
@@ -2623,6 +2630,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++ )