Commit 7cd84ef1 authored by vaclav's avatar vaclav
Browse files

fix also to stereo TCX decoder

parent 8800aa23
Loading
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -524,6 +524,9 @@ enum
#define ACELP_TCX_TRANS_NS                  1250000                             /* Duration of the ACELP->TCX overlap - 1.25 ms */
#define L_FRAME_MAX                         L_FRAME48k                          /* Max 20ms frame size @48kHz              */
#define L_FRAME_PLUS                        1200                                /* Max frame size (long TCX frame)            */
#ifdef FIX_1320_STACK_CPE_DECODER
#define L_FRAME_PLUS_INTERNAL               800                                 /* Max frame size (long TCX frame) at maximum internal sampling rate */
#endif
#define L_MDCT_OVLP_MAX                     NS2SA( 48000, ACELP_LOOK_NS )       /* = Max mdct overlap */
#define N_TCX10_MAX                         480                                 /* Max size of TCX10 MDCT spectrum */
#define BITS_TEC                            1                                   /* number of bits for TEC */
+8 −0
Original line number Diff line number Diff line
@@ -71,7 +71,11 @@ void decoder_LPD(
{
    int16_t *prm;
    int16_t param_lpc[NPRM_LPC_NEW];
#ifdef FIX_1320_STACK_CPE_DECODER
    float synth_buf[OLD_SYNTH_INTERNAL_DEC + L_FRAME_PLUS_INTERNAL + M];
#else
    float synth_buf[OLD_SYNTH_SIZE_DEC + L_FRAME_PLUS + M];
#endif
    float *synth;
    float synth_bufFB[OLD_SYNTH_SIZE_DEC + L_FRAME_PLUS + M];
    float *synthFB;
@@ -124,7 +128,11 @@ void decoder_LPD(
    synthFB = synth_bufFB + st->hTcxDec->old_synth_lenFB;
    mvr2r( st->hTcxDec->old_synth, synth_buf, st->hTcxDec->old_synth_len );
    mvr2r( st->hTcxDec->old_synthFB, synth_bufFB, st->hTcxDec->old_synth_lenFB );
#ifdef FIX_1320_STACK_CPE_DECODER
    set_zero( synth, L_FRAME_PLUS_INTERNAL + M );
#else
    set_zero( synth, L_FRAME_PLUS + M );
#endif
    set_zero( synthFB, L_FRAME_PLUS + M );


+2 −2
Original line number Diff line number Diff line
@@ -805,7 +805,7 @@ void ivas_mdct_core_reconstruct(
    int16_t L_frame_global[CPE_CHANNELS], L_frame_globalTCX[CPE_CHANNELS];
    /* Synth */
#ifdef FIX_1320_STACK_CPE_DECODER
    float synth_buf[OLD_SYNTH_INTERNAL_DEC + L_FRAME32k + L_FRAME32k / 4 + M];
    float synth_buf[OLD_SYNTH_INTERNAL_DEC + L_FRAME_PLUS_INTERNAL + M];
#else
    float synth_buf[OLD_SYNTH_SIZE_DEC + L_FRAME_PLUS + M];
#endif
@@ -846,7 +846,7 @@ void ivas_mdct_core_reconstruct(
        mvr2r( st->hTcxDec->old_synth, synth_buf, st->hTcxDec->old_synth_len );
        mvr2r( st->hTcxDec->old_synthFB, synth_bufFB, st->hTcxDec->old_synth_lenFB );
#ifdef FIX_1320_STACK_CPE_DECODER
        set_zero( synth, L_FRAME32k + L_FRAME32k / 4 + M );
        set_zero( synth, L_FRAME_PLUS_INTERNAL + M );
#else
        set_zero( synth, L_FRAME_PLUS + M );
#endif
+0 −10
Original line number Diff line number Diff line
@@ -364,15 +364,6 @@ void stereo_mdct_core_dec(
        apply_dmx_weights( hCPE, x, sts[0]->transform_type, sts[1]->transform_type );
    }

#ifdef FIX_1320_STACK_CPE_DECODERaa
    mvr2r( signal_out_tmp[0], signal_out[0], L_FRAME48k );
    mvr2r( signal_out_tmp[1], signal_out[1], L_FRAME48k );

    ivas_mdct_core_reconstruct( hCPE, x, signal_outFB_tmp, fUseTns, 0 );

    mvr2r( signal_outFB_tmp[0], signal_outFB[0], hCPE->hCoreCoder[0]->hTcxDec->L_frameTCX );
    mvr2r( signal_outFB_tmp[1], signal_outFB[1], hCPE->hCoreCoder[1]->hTcxDec->L_frameTCX );
#else
    ivas_mdct_core_reconstruct( hCPE, x, signal_outFB_tmp, fUseTns, 0 );

    mvr2r( signal_out_tmp[0], signal_out[0], L_FRAME48k );
@@ -380,7 +371,6 @@ void stereo_mdct_core_dec(

    mvr2r( signal_outFB_tmp[0], signal_outFB[0], hCPE->hCoreCoder[0]->hTcxDec->L_frameTCX );
    mvr2r( signal_outFB_tmp[1], signal_outFB[1], hCPE->hCoreCoder[1]->hTcxDec->L_frameTCX );
#endif

    pop_wmops();
    return;
+8 −0
Original line number Diff line number Diff line
@@ -179,7 +179,11 @@ void stereo_tcx_core_dec(
    Word16 Aind[M + 1], lspind[M];

    /*Synth*/
#ifdef FIX_1320_STACK_CPE_DECODER
    float synth_buf[OLD_SYNTH_INTERNAL_DEC + L_FRAME_PLUS_INTERNAL + M];
#else
    float synth_buf[OLD_SYNTH_SIZE_DEC + L_FRAME_PLUS + M];
#endif
    float *synth;
    float synth_bufFB[OLD_SYNTH_SIZE_DEC + L_FRAME_PLUS + M];
    float *synthFB;
@@ -246,7 +250,11 @@ void stereo_tcx_core_dec(
    synthFB = synth_bufFB + hTcxDec->old_synth_lenFB;
    mvr2r( hTcxDec->old_synth, synth_buf, hTcxDec->old_synth_len );
    mvr2r( hTcxDec->old_synthFB, synth_bufFB, hTcxDec->old_synth_lenFB );
#ifdef FIX_1320_STACK_CPE_DECODER
    set_zero( synth, L_FRAME_PLUS_INTERNAL + M );
#else
    set_zero( synth, L_FRAME_PLUS + M );
#endif
    set_zero( synthFB, L_FRAME_PLUS + M );

#ifdef DEBUG_MODE_INFO_PLC