Commit 73e73c8a authored by Sandesh Venkatesh's avatar Sandesh Venkatesh
Browse files

Two functions in fd_cng_dec converted to fxd

Added float to fixed changes to the following functions:
[x] FdCngDecodeMDCTStereoSID
[x] FdCngDecodeDiracMDCTStereoSID
[x] dtx_read_padding_bits
[x] Made some changes to msvq_dec_fx for ivas specific code.
parent 90b3674f
Loading
Loading
Loading
Loading
Loading
+15 −0
Original line number Diff line number Diff line
@@ -2757,4 +2757,19 @@ void evs_dec_previewFrame(
	}
}

void dtx_read_padding_bits_fx(
    DEC_CORE_HANDLE st,
    const Word16 num_bits )
{
    /* TODO: temporary hack, need to decide what to do with core-coder bitrate */
    Word32 tmp;

    tmp = st->total_brate;
    move32();
    st->total_brate = L_add( st->total_brate, L_mult0( num_bits, FRAMES_PER_SEC ) );
    get_next_indice_fx( st, num_bits );
    st->total_brate = tmp;
    move32();

    return;
}
+2 −0
Original line number Diff line number Diff line
@@ -1048,6 +1048,8 @@ void SynthesisSTFT_fx(
    // preemph(buf + 1, PREEMPH_FAC_FLT, M + hFdCngCom->frameSize, &tmp);
    preemph_ivas_fx( buf_fx + 1, PREEMPH_FAC, M + hFdCngCom->frameSize, &tmp_fx );
    // residu(hFdCngCom->A_cng_flt, M, buf + 1 + M, hFdCngCom->exc_cng_flt, hFdCngCom->frameSize);

    floatToFixed_arr( hFdCngCom->A_cng_flt, hFdCngCom->A_cng, Q13, M + 1 );
    residu_ivas_fx( hFdCngCom->A_cng, Q13, M, buf_fx + 1 + M, hFdCngCom->exc_cng_32fx, hFdCngCom->frameSize );
    for ( i = 0; i < hFdCngCom->frameSize; i++ )
    {
+13 −0
Original line number Diff line number Diff line
@@ -1111,6 +1111,19 @@ ivas_error ivas_dirac_config_fx(
    void *st_ivas,        /* i/o: IVAS encoder/decoder state structure  */
    const Word16 enc_dec /* i  : encoder or decoder flag               */
);

void dtx_read_padding_bits_fx(
    DEC_CORE_HANDLE st,
    const Word16 num_bits );

void FdCngDecodeMDCTStereoSID_fx(
    CPE_DEC_HANDLE hCPE /* i/o: CPE decoder state structure     */
);

void FdCngDecodeDiracMDCTStereoSID_fx(
    CPE_DEC_HANDLE hCPE /* i/o: CPE decoder state structure     */
);

#endif

+5 −0
Original line number Diff line number Diff line
@@ -2316,6 +2316,11 @@ void msvq_dec_fx(
        {
            assert( start == 0 );
            dec_FDCNG_MSVQ_stage1_fx( Idx[0], N, invTrfMatrix, IDCT_T2_XX_24, uq, uq_ind ); /* IDCT_T2 N=24 used for all synthesis  */
            FOR( Word16 k = 0; k < N; k++ )
            {
                uq[k] = L_shr( uq[k], guard_bits );
                move32();
            }
        }
        ELSE
        {
+4 −0
Original line number Diff line number Diff line
@@ -12920,6 +12920,10 @@ const Word16 * const cdk_37bits[] = { cdk_37bits_1_fx, cdk_37bits_2_fx, cdk_37bi
                                      cdk_37bits_5_fx, cdk_37bits_6_fx
};
const Word16 * const ivas_cdk_37bits_fx[] = { NULL, cdk_37bits_2_fx, cdk_37bits_3_fx, cdk_37bits_4_fx,
                                              cdk_37bits_5_fx, cdk_37bits_6_fx
};
/* Sine tables for FFT */
/* for (j=0; j<hs->fftlen/2+1; j++) hs->fftSineTab[j] = (float)sin(2.0*EVS_PI*j/hs->fftlen); */
Loading