Commit c1538766 authored by Marek Szczerba's avatar Marek Szczerba
Browse files

Merge branch '196-refactor-renderer-output-configuration' into...

Merge branch '196-refactor-renderer-output-configuration' into 196-refactor-renderer-output-configuration-cleanup
parents d6cead89 f0bab996
Loading
Loading
Loading
Loading
+14 −10
Original line number Diff line number Diff line
@@ -334,8 +334,7 @@ void ivas_mct_core_enc(

    for ( ch = 0; ch < nChannels; ch++ )
    {
        if (
            sts[ch]->mct_chan_mode == MCT_CHAN_MODE_IGNORE )
        if ( sts[ch]->mct_chan_mode == MCT_CHAN_MODE_IGNORE )
        {
            continue;
        }
@@ -359,6 +358,10 @@ void ivas_mct_core_enc(
            }
            else
            {
#ifdef FIX_483b
                if ( hMCT->currBlockDataCnt > 0 )
#endif
                {
                    /* power spectrum: MDCT^2 + MDST^2 */
                    powerSpecMsInv[ch][n][0] = inv_spectrum[ch][n][0] * inv_spectrum[ch][n][0];

@@ -369,6 +372,7 @@ void ivas_mct_core_enc(
                    }

                    powerSpecMsInv[ch][n][L_subframeTCX - 1] = inv_spectrum[ch][n][L_subframeTCX - 1] * inv_spectrum[ch][n][L_subframeTCX - 1];
                }

                /* power spectrum: MDCT^2 + MDST^2 */
                powerSpec[ch][n * L_subframeTCX] = sts[ch]->hTcxEnc->spectrum[n][0] * sts[ch]->hTcxEnc->spectrum[n][0];

lib_enc/ivas_mct_enc_mct.c

100644 → 100755
+3 −0
Original line number Diff line number Diff line
@@ -700,6 +700,9 @@ void apply_MCT_enc(
                    {
                        v_multc( sts[ch]->hTcxEnc->spectrum[k], qratio, sts[ch]->hTcxEnc->spectrum[k], L_subframeTCX );
                        v_multc( mdst_spectrum[ch][k], qratio, mdst_spectrum[ch][k], L_subframeTCX );
#ifdef FIX_483b
                        set_zero( inv_spectrum[ch][k], L_subframeTCX );
#endif
                    }
                    hMCT->mc_global_ild[ch] = 0;
                }
+19 −6
Original line number Diff line number Diff line
@@ -223,6 +223,10 @@ void stereo_mdct_core_enc(
        inv_spectrum[ch][1] = quantized_spectrum[ch][1];
        mdst_spectrum[ch][0] = mdst_spectrum_long[ch];
        mdst_spectrum[ch][1] = mdst_spectrum_long[ch] + N_TCX10_MAX;
#ifdef FIX_483b
        sts[ch]->hTcxEnc->tns_ms_flag[0] = 0;
        sts[ch]->hTcxEnc->tns_ms_flag[1] = 0;
#endif
    }


@@ -275,7 +279,11 @@ void stereo_mdct_core_enc(

        for ( n = 0; n < nSubframes; n++ )
        {
#ifdef FIX_483b
            if ( sts[ch]->hTcxEnc->tns_ms_flag[n] )
#else
            if ( !sts[ch]->hTcxEnc->fUseTns[n] )
#endif
            {
                /* power spectrum: MDCT^2 + MDST^2 */
                for ( i = 0; i < L_subframeTCX; i++ )
@@ -286,6 +294,10 @@ void stereo_mdct_core_enc(
            }
            else
            {
#ifdef FIX_483b
                if ( hStereoMdct->mdct_stereo_mode[n] != SMDCT_DUAL_MONO )
#endif
                {
                    /* power spectrum: MDCT^2 + MDST^2 */
                    powerSpecMsInv[ch][n][0] = inv_spectrum[ch][n][0] * inv_spectrum[ch][n][0];
                    for ( i = 1; i < L_subframeTCX - 1; i++ )
@@ -294,6 +306,7 @@ void stereo_mdct_core_enc(
                        powerSpecMsInv[ch][n][i] = mdst * mdst + inv_spectrum[ch][n][i] * inv_spectrum[ch][n][i];
                    }
                    powerSpecMsInv[ch][n][L_subframeTCX - 1] = inv_spectrum[ch][n][L_subframeTCX - 1] * inv_spectrum[ch][n][L_subframeTCX - 1];
                }

                /* power spectrum: MDCT^2 + MDST^2 */
                powerSpec[ch][n * L_subframeTCX] = sts[ch]->hTcxEnc->spectrum[n][0] * sts[ch]->hTcxEnc->spectrum[n][0];
+14 −0
Original line number Diff line number Diff line
@@ -563,7 +563,12 @@ void ms_inv_mask_processing(
{
    int16_t sfb;
    STEREO_MDCT_BAND_PARAMETERS *sfbConf;
#ifdef FIX_483b
    int16_t nSubframes, L_subframeTCX;

    nSubframes = ( sts[0]->hTcxEnc->tcxMode == TCX_20 ) ? 1 : NB_DIV;
    L_subframeTCX = sts[0]->hTcxEnc->L_frameTCX / nSubframes;
#endif
    sfbConf = ( sts[0]->core == TCX_20_CORE ) ? &hStereoMdct->stbParamsTCX20 : &hStereoMdct->stbParamsTCX10;

    if ( sts[0]->last_core == ACELP_CORE )
@@ -588,6 +593,15 @@ void ms_inv_mask_processing(
        }
    }

#ifdef FIX_483b
    /* set rest of inverse spectrum to zero */
    if ( L_subframeTCX > sfbConf->sfbOffset[maxSfb] )
    {
        set_zero( &x_inv_0[sfbConf->sfbOffset[maxSfb]], L_subframeTCX - sfbConf->sfbOffset[maxSfb] );
        set_zero( &x_inv_1[sfbConf->sfbOffset[maxSfb]], L_subframeTCX - sfbConf->sfbOffset[maxSfb] );
    }
#endif

    return;
}