Commit 7c42ab5f authored by multrus's avatar multrus
Browse files

[cleanup] accept NTT_REDUC_COMP_POC

parent a961d619
Loading
Loading
Loading
Loading
+0 −1
Original line number Diff line number Diff line
@@ -149,7 +149,6 @@
#define SBA_BR_SWITCHING                                /* Issue 114: Changes for sba bit rate switching*/
#define FIX_ITD                                         /* Contribution 16: TD renderer ITD improvement and code cleanup */
#define BRATE_SWITCHING_RENDERING                       /* Bitrate switching changes related to the renderers */
#define NTT_REDUC_COMP_POC                              /* NTT Contribution 10: Complexity reduction of phase spectrum in stereo downmix*/
#define FIX_ISM_DECODER_PRINTOUT                        /* Issue 229: fix ISM decoder printout */
#define FIX_ITD_CNG                                     /* Eri Contribution 11: Fix for CNG ITD */
#define FIX_VBR_COMPLEXITY                              /* Issue 234: fix extremely high complexity numbers for IVAS EVS mode */
+0 −83
Original line number Diff line number Diff line
@@ -156,7 +156,6 @@ static void calc_poc(
    float *P;
    float tmp1, tmp2, Lr, Li, Rr, Ri, gamma, igamma, iN;

#ifdef NTT_REDUC_COMP_POC
    float specPOr[L_FRAME48k / 2 + 1], specPOi[L_FRAME48k / 2]; /*real and imaginary values for searching phase angle*/
    float tmpPOC1[L_FRAME48k], tmpPOC2[L_FRAME48k];
    float rfft_buf[L_FRAME48k];
@@ -164,13 +163,6 @@ static void calc_poc(
    int16_t mult_angle;
    int16_t j;
    int16_t end;
#else
    float specPOr[L_FRAME48k], specPOi[L_FRAME48k];
    float tmpPOC1[L_FRAME48k], tmpPOC2[L_FRAME48k];
    float rfft_buf[L_FRAME48k];
    int16_t step, bias;
    int16_t i_for;
#endif

    int16_t cos_step, cos_max;
    float eps_cos, eps_sin, EPS;
@@ -186,7 +178,6 @@ static void calc_poc(
    igamma = STEREO_DMX_EVS_POC_GAMMA * iN;
    gamma = 1.0f - igamma;

#ifdef NTT_REDUC_COMP_POC /*apploximation of phase angle on an unit circle without using sqrt()*/

    step = 1;
    bias = 0;
@@ -346,80 +337,6 @@ static void calc_poc(
    }
    specPOr[n0] = sign( specLr[n0] * specRr[n0] ) * wnd[i * step + bias] * gamma;

#else /*NTT_REDUC_COMP_POC*/
    if ( input_frame == L_FRAME16k )
    {
        step = 3;
        bias = 1;
    }
    else
    {
        step = 1;
        bias = 0;
    }

    specPOr[0] = sign( specLr[0] ) * sign( specRr[0] ) * wnd[bias];
    specPOi[0] = 0.0f;

    EPS = hPOC->eps;

    if ( input_frame == L_FRAME16k )
    {
        cos_step = 4;
        cos_max = input_frame;
    }
    else /* for 32 kHz & 48 kHz */
    {
        cos_step = 2;
        cos_max = n0;
    }
    for ( i = 1; i < n0 / 2; i++ )
    {
        Lr = specLr[i];
        Li = specLi[i];
        Rr = specRr[i];
        Ri = specRi[i];
        i_for = i * cos_step;
        eps_cos = s[cos_max - i_for] * EPS;
        eps_sin = s[i_for] * EPS;
        Lr += ( specRr[i] * eps_cos + specRi[i] * eps_sin );
        Li += ( -specRr[i] * eps_sin + specRi[i] * eps_cos );
        Rr += ( specLr[i] * eps_cos + specLi[i] * eps_sin );
        Ri += ( -specLr[i] * eps_sin + specLi[i] * eps_cos );

        tmp1 = wnd[i * step + bias] * gamma / ( sqrtf( ( ( Lr * Lr + Li * Li ) ) * ( ( Rr * Rr + Ri * Ri ) ) ) + EPS );

        specPOr[i] = ( Lr * Rr + Li * Ri ) * tmp1;
        specPOi[i] = ( Lr * Ri - Li * Rr ) * tmp1;

        gamma -= igamma;
    }

    for ( i = n0 >> 1; i < n0; i++ )
    {
        Lr = specLr[i];
        Li = specLi[i];
        Rr = specRr[i];
        Ri = specRi[i];

        i_for = ( n0 - i ) * cos_step;
        eps_cos = s[cos_max - i_for] * EPS;
        eps_sin = s[i_for] * EPS;

        Lr += ( -specRr[i] * eps_cos + specRi[i] * eps_sin );
        Li += ( -specRr[i] * eps_sin - specRi[i] * eps_cos );
        Rr += ( -specLr[i] * eps_cos + specLi[i] * eps_sin );
        Ri += ( -specLr[i] * eps_sin - specLi[i] * eps_cos );

        tmp1 = wnd[i * step + bias] * gamma / ( sqrtf( ( ( Lr * Lr + Li * Li ) ) * ( ( Rr * Rr + Ri * Ri ) ) ) + EPS );

        specPOr[i] = ( Lr * Rr + Li * Ri ) * tmp1;
        specPOi[i] = ( Lr * Ri - Li * Rr ) * tmp1;
        gamma -= igamma;
    }

    specPOr[n0] = sign( specLr[i] ) * sign( specRr[i] ) * wnd[i * step + bias] * gamma;
#endif

    rfft_buf[0] = specPOr[0];
    rfft_buf[1] = specPOr[n0];