Commit 385f0e19 authored by multrus's avatar multrus
Browse files

[cleanup] accept MDFT_ROM_OPTIMIZE:

parent 1fa7e174
Loading
Loading
Loading
Loading
+0 −58
Original line number Diff line number Diff line
@@ -50,72 +50,32 @@

static void ivas_get_mdft_twid_factors(
    const int16_t length,
#ifndef MDFT_ROM_OPTIMIZE
    const float **ppTwid_re,
    const float **ppTwid_im
#else
    const float **ppTwid
#endif
)
{
    switch ( length )
    {
        case L_FRAME48k:
#ifndef MDFT_ROM_OPTIMIZE
            *ppTwid_re = &ivas_mdft_coeff_cos_twid_960[0];
            *ppTwid_im = &ivas_mdft_coeff_sin_twid_960[0];
#else
            *ppTwid = &ivas_mdft_coeff_cos_twid_960[0];
#endif
            break;
        case L_FRAME32k:
#ifndef MDFT_ROM_OPTIMIZE
            *ppTwid_re = &ivas_mdft_coeff_cos_twid_640[0];
            *ppTwid_im = &ivas_mdft_coeff_sin_twid_640[0];
#else
            *ppTwid = &ivas_mdft_coeff_cos_twid_640[0];
#endif

            break;
        case L_FRAME16k:
#ifndef MDFT_ROM_OPTIMIZE
            *ppTwid_re = &ivas_mdft_coeff_cos_twid_320[0];
            *ppTwid_im = &ivas_mdft_coeff_sin_twid_320[0];
#else
            *ppTwid = &ivas_mdft_coeff_cos_twid_320[0];
#endif
            break;
        case IVAS_240_PT_LEN:
#ifndef MDFT_ROM_OPTIMIZE
            *ppTwid_re = &ivas_mdft_coeff_cos_twid_240[0];
            *ppTwid_im = &ivas_mdft_coeff_sin_twid_240[0];
#else
            *ppTwid = &ivas_mdft_coeff_cos_twid_240[0];
#endif
            break;
        case IVAS_160_PT_LEN:
#ifndef MDFT_ROM_OPTIMIZE
            *ppTwid_re = &ivas_mdft_coeff_cos_twid_160[0];
            *ppTwid_im = &ivas_mdft_coeff_sin_twid_160[0];
#else
            *ppTwid = &ivas_mdft_coeff_cos_twid_160[0];
#endif
            break;
        case IVAS_80_PT_LEN:
#ifndef MDFT_ROM_OPTIMIZE
            *ppTwid_re = &ivas_mdft_coeff_cos_twid_80[0];
            *ppTwid_im = &ivas_mdft_coeff_sin_twid_80[0];
#else
            *ppTwid = &ivas_mdft_coeff_cos_twid_80[0];
#endif
            break;
        case IVAS_40_PT_LEN:
#ifndef MDFT_ROM_OPTIMIZE
            *ppTwid_re = &ivas_mdft_coeff_cos_twid_40[0];
            *ppTwid_im = &ivas_mdft_coeff_sin_twid_40[0];
#else
            *ppTwid = &ivas_mdft_coeff_cos_twid_40[0];
#endif
            break;

        default:
@@ -256,45 +216,27 @@ void ivas_mdft(
    float re[L_FRAME48k];
    float im[L_FRAME48k];
    int16_t j, len_by_2;
#ifndef MDFT_ROM_OPTIMIZE
    const float *pTwid_re, *pTwid_im;
#else
    const float *pTwid;
#endif
    len_by_2 = mdft_length >> 1;

    ivas_get_mdft_twid_factors( mdft_length,
#ifndef MDFT_ROM_OPTIMIZE
                                &pTwid_re, &pTwid_im
#else
                                &pTwid
#endif
    );

    if ( mdft_length == input_length )
    {
        for ( j = 0; j < mdft_length; j++ )
        {
#ifndef MDFT_ROM_OPTIMIZE
            re[j] = pIn[j] * pTwid_re[j];
            im[j] = -pIn[j] * pTwid_im[j];
#else
            re[j] = pIn[j] * pTwid[j];
            im[j] = -pIn[j] * pTwid[mdft_length - j];
#endif
        }
    }
    else
    {
        for ( j = 0; j < mdft_length; j++ )
        {
#ifndef MDFT_ROM_OPTIMIZE
            re[j] = pIn[j] * pTwid_re[j] - pIn[j + mdft_length] * pTwid_im[j];
            im[j] = -pIn[j] * pTwid_im[j] - pIn[j + mdft_length] * pTwid_re[j];
#else
            re[j] = pIn[j] * pTwid[j] - pIn[j + mdft_length] * pTwid[mdft_length - j];
            im[j] = -pIn[j] * pTwid[mdft_length - j] - pIn[j + mdft_length] * pTwid[j];
#endif
        }
    }

+0 −604

File changed.

Preview size limit exceeded, changes collapsed.

+0 −21
Original line number Diff line number Diff line
@@ -363,33 +363,12 @@ extern const float ivas_cos_twiddle_80[IVAS_80_PT_LEN >> 1];
 *------------------------------------------------------------------------------------------*/

extern const float ivas_mdft_coeff_cos_twid_240[IVAS_240_PT_LEN + 1];
#ifndef MDFT_ROM_OPTIMIZE
extern const float ivas_mdft_coeff_sin_twid_240[IVAS_240_PT_LEN];
#endif
extern const float ivas_mdft_coeff_cos_twid_160[IVAS_160_PT_LEN + 1];
#ifndef MDFT_ROM_OPTIMIZE
extern const float ivas_mdft_coeff_sin_twid_160[IVAS_160_PT_LEN];
#endif
extern const float ivas_mdft_coeff_cos_twid_80[IVAS_80_PT_LEN + 1];
#ifndef MDFT_ROM_OPTIMIZE
extern const float ivas_mdft_coeff_sin_twid_80[IVAS_80_PT_LEN];
#endif
extern const float ivas_mdft_coeff_cos_twid_40[IVAS_40_PT_LEN + 1];
#ifndef MDFT_ROM_OPTIMIZE
extern const float ivas_mdft_coeff_sin_twid_40[IVAS_40_PT_LEN];
#endif
extern const float ivas_mdft_coeff_cos_twid_960[IVAS_960_PT_LEN + 1];
#ifndef MDFT_ROM_OPTIMIZE
extern const float ivas_mdft_coeff_sin_twid_960[IVAS_960_PT_LEN];
#endif
extern const float ivas_mdft_coeff_cos_twid_640[IVAS_640_PT_LEN + 1];
#ifndef MDFT_ROM_OPTIMIZE
extern const float ivas_mdft_coeff_sin_twid_640[IVAS_640_PT_LEN];
#endif
extern const float ivas_mdft_coeff_cos_twid_320[IVAS_320_PT_LEN + 1];
#ifndef MDFT_ROM_OPTIMIZE
extern const float ivas_mdft_coeff_sin_twid_320[IVAS_320_PT_LEN];
#endif
extern const int16_t dirac_gains_P_idx[16];
extern const float dirac_gains_norm_term[9];
extern const float dirac_gains_Pnm[91][9];
+0 −1
Original line number Diff line number Diff line
@@ -147,7 +147,6 @@
/*#define FIX_I1_113*/                                  /* under review : MCT bit distribution optimization for SBA high bitrates*/


#define MDFT_ROM_OPTIMIZE                               /*Optimise ROM tables for MDFT/iMDFT*/
#define LFE_NO_ENTROPY_CODING                           /* issue 65: changes to add no entropy coding in LFE */
#define FIX_79_MASA2TC_BITRATE_SWITCHING                /* Nokia: Fix issue 79 on MASA 2TC bitrate switching crash in decoder. */