Commit 3ae90f74 authored by Fabian Bauer's avatar Fabian Bauer
Browse files

Reharmonized init

parent d0fc3f5d
Loading
Loading
Loading
Loading
Loading
+53 −43
Original line number Diff line number Diff line
@@ -139,7 +139,9 @@ ivas_error TonalMDCTConceal_Init_ivas_fx(

    hTonalMDCTConc->tcx_cfg = hTcxCfg;
    hTonalMDCTConc->lastBlockData.spectralData = hTonalMDCTConc->spectralDataBuffers[0];
#ifndef HARMONIZE_2553_TonalConceal_Init
#ifdef HARMONIZE_2553_TonalConceal_Init
    IF( GT_16( element_mode, EVS_MONO ) )
    {
        set16_fx( hTonalMDCTConc->lastBlockData.spectralData, 0, L_FRAME_MAX );
        move16();
        hTonalMDCTConc->secondLastBlockData.spectralData = hTonalMDCTConc->spectralDataBuffers[1];
@@ -155,38 +157,37 @@ ivas_error TonalMDCTConceal_Init_ivas_fx(
        hTonalMDCTConc->secondLastBlockData.scaleFactors = hTonalMDCTConc->scaleFactorsBuffers[1];
        set16_fx( hTonalMDCTConc->secondLastBlockData.scaleFactors, 0, FDNS_NPTS );
        move16();
#else
    IF( GT_16( element_mode, EVS_MONO ) )
    }
    ELSE
    {
        set16_fx( hTonalMDCTConc->lastBlockData.spectralData, 0, L_FRAME_MAX );
        move16();
        hTonalMDCTConc->secondLastBlockData.spectralData = hTonalMDCTConc->spectralDataBuffers[1];
        set16_fx( hTonalMDCTConc->secondLastBlockData.spectralData, 0, L_FRAME_MAX );
        move16();
        hTonalMDCTConc->secondLastPowerSpectrum = hTonalMDCTConc->secondLastBlockData.spectralData;
        move16();
        hTonalMDCTConc->secondLastPowerSpectrum_exp = hTonalMDCTConc->secondLastBlockData.spectralData_exp;
        move16();

        hTonalMDCTConc->lastBlockData.scaleFactors = hTonalMDCTConc->scaleFactorsBuffers[0];
        set16_fx( hTonalMDCTConc->lastBlockData.scaleFactors, 0, FDNS_NPTS );
        move16();
        hTonalMDCTConc->secondLastBlockData.scaleFactors = hTonalMDCTConc->scaleFactorsBuffers[1];
        set16_fx( hTonalMDCTConc->secondLastBlockData.scaleFactors, 0, FDNS_NPTS );
        move16();
    }
    ELSE
    {
#else

    set16_fx( hTonalMDCTConc->lastBlockData.spectralData, 0, L_FRAME_MAX );
    move16();
    hTonalMDCTConc->secondLastBlockData.spectralData = hTonalMDCTConc->spectralDataBuffers[1];
    set16_fx( hTonalMDCTConc->secondLastBlockData.spectralData, 0, L_FRAME_MAX );
    move16();
    hTonalMDCTConc->secondLastPowerSpectrum = hTonalMDCTConc->secondLastBlockData.spectralData;
    move16();

    hTonalMDCTConc->secondLastPowerSpectrum_exp = hTonalMDCTConc->secondLastBlockData.spectralData_exp;
    move16();
    hTonalMDCTConc->lastBlockData.scaleFactors = hTonalMDCTConc->scaleFactorsBuffers[0];
    set16_fx( hTonalMDCTConc->lastBlockData.scaleFactors, 0, FDNS_NPTS );
    move16();
    hTonalMDCTConc->secondLastBlockData.scaleFactors = hTonalMDCTConc->scaleFactorsBuffers[1];
    set16_fx( hTonalMDCTConc->secondLastBlockData.scaleFactors, 0, FDNS_NPTS );
    move16();
    }
#endif
    hTonalMDCTConc->lastBlockData.scaleFactors_exp = hTonalMDCTConc->scaleFactorsBuffers_exp[0];
    move16();
@@ -224,14 +225,14 @@ ivas_error TonalMDCTConceal_Init_ivas_fx(
    move16();
    hTonalMDCTConc->nScaleFactors = nScaleFactors;
    move16();
#ifndef HARMONIZE_2553_TonalConceal_Init

#ifdef HARMONIZE_2553_TonalConceal_Init
    IF( GT_16( element_mode, EVS_MONO ) )
    {
        set32_fx( hTonalMDCTConc->scaleFactorsBackground_fx, 0, FDNS_NPTS );
        hTonalMDCTConc->scf_fadeout = 16384 /*1.000000 Q14*/;
        PsychoacousticParameters_Init_fx( INT_FS_16k, L_FRAME16k, 64, 1, 1, &hTonalMDCTConc->psychParamsTCX20 );
        PsychoacousticParameters_Init_fx( INT_FS_16k, L_FRAME16k / 2, 64, 0, 1, &hTonalMDCTConc->psychParamsTCX10 );
        hTonalMDCTConc->psychParams = NULL;

        hTonalMDCTConc->last_block_nrg = 0;
        move16();
        hTonalMDCTConc->last_block_nrg_exp = 0;
@@ -244,9 +245,9 @@ ivas_error TonalMDCTConceal_Init_ivas_fx(
        move16();
        hTonalMDCTConc->faded_signal_nrg_exp = 0;
        move16();
    }
#else
    IF( GT_16( element_mode, EVS_MONO ) )
    {

    set32_fx( hTonalMDCTConc->scaleFactorsBackground_fx, 0, FDNS_NPTS );
    hTonalMDCTConc->scf_fadeout = 16384 /*1.000000 Q14*/;
    PsychoacousticParameters_Init_fx( INT_FS_16k, L_FRAME16k, 64, 1, 1, &hTonalMDCTConc->psychParamsTCX20 );
@@ -265,14 +266,19 @@ ivas_error TonalMDCTConceal_Init_ivas_fx(
    move16();
    hTonalMDCTConc->faded_signal_nrg_exp = 0;
    move16();
        set16_fx( hTonalMDCTConc->timeDataBuffer, 0, ( 3 * L_FRAME_MAX ) / 2 );
    }
#endif
    /* Offset the pointer to the end of buffer, so that pTCI is not destroyed when
       new time samples are stored in lastPcmOut */
    move16();
    move16();
    /* just the second half of the second last pcm output is needed */
#ifdef HARMONIZE_2553_TonalConceal_Init
    IF( EQ_16( element_mode, EVS_MONO ) )
    {
        hTonalMDCTConc->secondLastPcmOut = &hTonalMDCTConc->timeDataBuffer[sub( ( 3 * L_FRAME_MAX ) / 2, 3 * ( s_min( L_FRAME_MAX, nSamples ) ) / 2 )];
        hTonalMDCTConc->lastPcmOut = &hTonalMDCTConc->timeDataBuffer[sub( ( 3 * L_FRAME_MAX ) / 2, s_min( L_FRAME_MAX, nSamples ) )];
    }
#endif

#ifdef HARMONIZE_2553_TonalConceal_Init
    IF( GT_16( element_mode, EVS_MONO ) )
@@ -280,9 +286,13 @@ ivas_error TonalMDCTConceal_Init_ivas_fx(
    {
        set16_fx( hTonalMDCTConc->timeDataBuffer, 0, ( 3 * L_FRAME_MAX ) / 2 );
    }

#ifdef HARMONIZE_2553_TonalConceal_Init
    IF( GT_16( element_mode, EVS_MONO ) )
    {
        hTonalMDCTConc->secondLastPcmOut = &hTonalMDCTConc->timeDataBuffer[( 3 * L_FRAME_MAX ) / 2 - ( 3 * s_min( L_FRAME_MAX, nSamples ) / 2 )];
        hTonalMDCTConc->lastPcmOut = &hTonalMDCTConc->timeDataBuffer[( 3 * L_FRAME_MAX ) / 2 - s_min( L_FRAME_MAX, nSamples )];
    }
#endif
    /* If the second last frame was lost, we reuse saved TonalComponentsInfo and don't update pcm buffers */
    assert( sizeof( *hTonalMDCTConc->pTCI ) <= ( hTonalMDCTConc->lastPcmOut - hTonalMDCTConc->timeDataBuffer ) * sizeof( hTonalMDCTConc->timeDataBuffer[0] ) );