Commit 4c4cd11b authored by lefort's avatar lefort
Browse files

Warnings removed.

parent 375afdb8
Loading
Loading
Loading
Loading
+4 −4
Original line number Diff line number Diff line
@@ -985,12 +985,12 @@ typedef struct stereo_dmx_evs_phase_only_correlation_structure
#ifdef ENHANCED_STEREO_DMX
typedef struct stereo_dmx_evs_correlation_filter_structure
{
    float ipd_ff[L_FRAME16k / 2 + 1];
    float ipd_ff[L_FRAME48k / 2 + 1];
    float Pr[L_FRAME48k / 2 + 1];
    float Pi[L_FRAME48k / 2 + 1];

    int32_t pha_len;
    int32_t fad_len;
    int16_t pha_len;
    int16_t fad_len;

    float win[L_FRAME48k];
    float fad_g[L_FRAME48k];
@@ -1008,7 +1008,7 @@ typedef struct stereo_dmx_evs_correlation_filter_structure
    STEREO_DMX_EVS_PRC prev_prc;
    int16_t prc_hys_cnt;
    float fad_g_prc[L_FRAME48k];
    int32_t fad_len_prc;
    int16_t fad_len_prc;

} STEREO_DMX_EVS_PHA_DATA, *STEREO_DMX_EVS_PHA_HANDLE;

+76 −55
Original line number Diff line number Diff line
@@ -67,10 +67,10 @@

#ifdef ENHANCED_STEREO_DMX

#define STEREO_DMX_EVS_PHA_LEN_16 20.0f
#define STEREO_DMX_EVS_FAD_LEN_16 20.0f
#define STEREO_DMX_EVS_PHA_LEN_32 10.0f
#define STEREO_DMX_EVS_FAD_LEN_32 10.0f
#define STEREO_DMX_EVS_PHA_LEN_16 15.0f
#define STEREO_DMX_EVS_FAD_LEN_16 15.0f
#define STEREO_DMX_EVS_PHA_LEN_32 5.0f
#define STEREO_DMX_EVS_FAD_LEN_32 5.0f
#define STEREO_DMX_EVS_PHA_LEN_48 5.0f
#define STEREO_DMX_EVS_FAD_LEN_48 5.0f

@@ -200,7 +200,7 @@ static void calc_poc(
    float *Pr, *Pi, *ipd_ff;
    float tPr, tPi, Pn;
    float *p_curr_taps, *p_curr_taps_l2r;
    double energy;
    float energy;
#endif 

    /* Initialization */
@@ -400,13 +400,13 @@ static void calc_poc(

    // ISD
    isd_cnt = 0;
    for ( int i = 1; i <= end8 ; i++ )
    for ( i = 1; i <= end8 ; i++ )
    {
        Nr = ( specLr[i] - specRr[i] );
        Ni = ( specLi[i] - specRi[i] );
        Dr = ( specLr[i] + specRr[i] );
        Di = ( specLi[i] + specRi[i] );
        ISD = sqrt( (Nr*Nr + Ni*Ni) / (Dr*Dr + Di*Di) );
        ISD = sqrtf( (Nr*Nr + Ni*Ni) / (Dr*Dr + Di*Di) );
        if (ISD > STEREO_DMX_EVS_ISD_THRES)
        {
            isd_cnt++;
@@ -456,35 +456,34 @@ static void calc_poc(
    }

    if (hPHA->curr_pha != STEREO_DMX_EVS_NO_PHA)
    {

        if (hPHA->curr_pha == STEREO_DMX_EVS_PHA_IPD)
        {
            ipd_ff = hPHA->ipd_ff;
            for ( i = 0; i < ( end8 + 1 ); i++ )
            {
                tPr = ( specLr[i] * specRr[i] + specLi[i] * specRi[i] );
                tPi = ( specLi[i] * specRr[i] - specLr[i] * specRi[i] );
            Pn = sqrt( tPr * tPr + tPi * tPi );
                Pn = sqrtf( tPr * tPr + tPi * tPi );
                tPr /= (Pn+EPSILON);
                tPi /= (Pn+EPSILON);

            if (fabs(tPr*tPi) < EPSILON)
                if (fabs((double)tPr* (double)tPi) < EPSILON)
                {
                    tPr = 1.;
                    tPi = 0.;
                }

            Pr[i] = ipd_ff[i]*Pr[i] + (1.0 - ipd_ff[i])*tPr;
            Pi[i] = ipd_ff[i]*Pi[i] + (1.0 - ipd_ff[i])*tPi;

                Pr[i] = ipd_ff[i]*Pr[i] + (1.0f - ipd_ff[i])*tPr;
                Pi[i] = ipd_ff[i]*Pi[i] + (1.0f - ipd_ff[i])*tPi;
            }

        for ( i = end8+1; i < n0; i++ )
            for ( ; i < ( n0 + 1 ); i++ )
            {
                Pr[i] = 1.0;
                Pi[i] = 0.0;
            }
            
        if (hPHA->curr_pha == STEREO_DMX_EVS_PHA_IPD)
        {
            // PHA R2L
            hPHA->p_curr_taps[1] = hPHA->curr_taps[1];

@@ -492,7 +491,7 @@ static void calc_poc(

            p_curr_taps[0] = Pr[0];
            p_curr_taps[1] = Pr[n0];
            for ( i = 1; i < n0; i++ )
            for ( i = 1; i < n0+1; i++ )
            {
                p_curr_taps[i * 2] = Pr[i];
                p_curr_taps[i * 2 + 1] = Pi[i];
@@ -501,17 +500,36 @@ static void calc_poc(
        }
        else
        {
            ipd_ff = hPHA->ipd_ff;
            for ( i = 0; i < ( n0 + 1 ); i++ )
            {
                tPr = ( specLr[i] * specRr[i] + specLi[i] * specRi[i] );
                tPi = ( specLi[i] * specRr[i] - specLr[i] * specRi[i] );
                Pn = sqrtf( tPr * tPr + tPi * tPi );
                tPr /= (Pn+EPSILON);
                tPi /= (Pn+EPSILON);

                if (fabs((double)tPr* (double)tPi) < EPSILON)
                {
                    tPr = 1.;
                    tPi = 0.;
                }

                Pr[i] = ipd_ff[i]*Pr[i] + (1.0f - ipd_ff[i])*tPr;
                Pi[i] = ipd_ff[i]*Pi[i] + (1.0f - ipd_ff[i])*tPi;
            }

            // PHA R2L
            hPHA->p_curr_taps[1] = hPHA->curr_taps[1];
            
            p_curr_taps = hPHA->p_curr_taps[1];

            for ( i = 1; i < n0; i++ )
            for ( i = 1; i < n0+1; i++ )
            {
                Pn = sqrt( Pr[i] * Pr[i] + Pi[i] * Pi[i] );
                Pn = sqrtf(Pr[i] * Pr[i] + Pi[i] * Pi[i] );
                tPr = Pr[i]/(Pn+EPSILON);
                p_curr_taps[i * 2] = sqrt((1.+tPr)/2.);
                p_curr_taps[i * 2 + 1] = sqrt((1.-tPr)/2.)*sign(Pi[i]);
                p_curr_taps[i * 2] = sqrtf((1.0f+tPr)/2.0f);
                p_curr_taps[i * 2 + 1] = sqrtf((1.0f-tPr)/2.0f)*sign(Pi[i]);

            }
            p_curr_taps[0] = 1;
@@ -541,7 +559,7 @@ static void calc_poc(
                hPHA->p_curr_taps[n][i] *= hPHA->win[i];
            }

            energy = 0;
            energy = 0.;
            for ( i = 0; i < hPHA->pha_len; i++ )
            {
                energy += hPHA->p_curr_taps[n][i] *hPHA->p_curr_taps[n][i];
@@ -1021,8 +1039,7 @@ void stereo_dmx_evs_enc(
    float data_f[CPE_CHANNELS][L_FRAME48k];

#ifdef ENHANCED_STEREO_DMX
    int16_t k, m;
    int32_t pha_len, fad_len;
    int16_t k, m, pha_len, fad_len;
    float mem_out_curr[CPE_CHANNELS][L_FRAME48k], mem_out_last[L_FRAME48k];
    float *p_data_mem, *p_prev_taps, *p_curr_taps, *fad_g, *p_mem_out_curr, *p_data_f;
    float dmx_itd_data[L_FRAME48k], dmx_ipd_data[L_FRAME48k], *p_dmx_data;
@@ -1142,7 +1159,7 @@ void stereo_dmx_evs_enc(

    for ( n=0; n < input_frame; n++ )
    {
        dmx_ipd_data[n] = (mem_out_curr[0][n] + mem_out_curr[1][n])*0.5;
        dmx_ipd_data[n] = (mem_out_curr[0][n] + mem_out_curr[1][n])*0.5f;
    }

    // prc switch
@@ -1201,7 +1218,7 @@ void stereo_dmx_evs_enc(
            for (n = 0; n < fad_len; n++)
            {
                p_dmx_data[n] *= fad_g[n];
                p_dmx_data[n] += (1.-fad_g[n]) * dmx_ipd_data[n];
                p_dmx_data[n] += (1.0f-fad_g[n]) * dmx_ipd_data[n];
            }
        }
    }
@@ -1217,7 +1234,7 @@ void stereo_dmx_evs_enc(
            for (n = 0; n < fad_len; n++)
            {
                p_dmx_data[n] *= fad_g[n];
                p_dmx_data[n] += (1.-fad_g[n]) * dmx_itd_data[n];
                p_dmx_data[n] += (1.0f-fad_g[n]) * dmx_itd_data[n];
            }
        }
    }
@@ -1263,7 +1280,7 @@ ivas_error stereo_dmx_evs_init_encoder(
    int16_t n, input_frame;

#ifdef ENHANCED_STEREO_DMX
    int32_t f_len, pha_len, fad_len;
    int16_t f_len, pha_len, fad_len;
    float *win, *fad_g;

    float a_min, a_max, a_step, n0, itrh;
@@ -1379,18 +1396,18 @@ ivas_error stereo_dmx_evs_init_encoder(

    if ( input_Fs == 16000 )
    {
        f_len = STEREO_DMX_EVS_PHA_LEN_16 * input_Fs / 1000;
        hStereoDmxEVS->hPHA->fad_len = STEREO_DMX_EVS_FAD_LEN_16 * input_Fs / 1000;
        f_len = (int16_t)(STEREO_DMX_EVS_PHA_LEN_16 * (float)input_Fs / 1000.0f);
        hStereoDmxEVS->hPHA->fad_len = (int16_t)(STEREO_DMX_EVS_FAD_LEN_16 * (float)input_Fs / 1000.0f);
    }
    else if ( input_Fs == 32000 )
    {
        f_len = STEREO_DMX_EVS_PHA_LEN_32 * input_Fs / 1000;
        hStereoDmxEVS->hPHA->fad_len = STEREO_DMX_EVS_FAD_LEN_32 * input_Fs / 1000;
        f_len = (int16_t)(STEREO_DMX_EVS_PHA_LEN_32 * (float)input_Fs / 1000.0f);
        hStereoDmxEVS->hPHA->fad_len = (int16_t)(STEREO_DMX_EVS_FAD_LEN_32 * (float)input_Fs / 1000.0f);
    }
    else if ( input_Fs == 48000 )
    {
        f_len = STEREO_DMX_EVS_PHA_LEN_48 * input_Fs / 1000;
        hStereoDmxEVS->hPHA->fad_len = STEREO_DMX_EVS_FAD_LEN_48 * input_Fs / 1000;
        f_len = (int16_t)(STEREO_DMX_EVS_PHA_LEN_48 * (float)input_Fs / 1000.0f);
        hStereoDmxEVS->hPHA->fad_len = (int16_t)(STEREO_DMX_EVS_FAD_LEN_48 * (float)input_Fs / 1000.0f);
    }
    else
    {
@@ -1420,8 +1437,8 @@ ivas_error stereo_dmx_evs_init_encoder(
    hStereoDmxEVS->hPHA->pha_hys_cnt = 0;

    // Compute the forgetting factor
    a_min = 0.8576958985908941;
    a_max = 0.9440608762859234;
    a_min = 0.8576958985908941f;
    a_max = 0.9440608762859234f;
    itrh = 60;
    n0 = L_FRAME16k / 2;
    a_step = ( a_min - a_max ) / (n0+1-itrh);
@@ -1434,16 +1451,20 @@ ivas_error stereo_dmx_evs_init_encoder(
    {
        ipd_ff[n] = a_max + (n-itrh) * a_step;
    }
    set_zero( hStereoDmxEVS->hPHA->Pr, L_FRAME48k / 2 + 1 );
    for ( ; n < L_FRAME48k/2+1; n++ )
    {
        ipd_ff[n] = a_min;
    }
    set_f( hStereoDmxEVS->hPHA->Pr, 1.0, L_FRAME48k / 2 + 1 );
    set_zero( hStereoDmxEVS->hPHA->Pi, L_FRAME48k / 2 + 1 );

    hStereoDmxEVS->hPHA->prc_thres = STEREO_DMX_EVS_SWTCH_PRC_THRES * input_Fs / 1000;
    hStereoDmxEVS->hPHA->prc_thres = (int16_t)(STEREO_DMX_EVS_SWTCH_PRC_THRES * (float)input_Fs / 1000.0);

    hStereoDmxEVS->hPHA->curr_prc = STEREO_DMX_EVS_PRC_POC;
    hStereoDmxEVS->hPHA->prev_prc = STEREO_DMX_EVS_PRC_POC;
    hStereoDmxEVS->hPHA->prc_hys_cnt = 0;

    hStereoDmxEVS->hPHA->fad_len_prc = STEREO_DMX_EVS_FADE_LEN_PRC * input_Fs / 1000;
    hStereoDmxEVS->hPHA->fad_len_prc = (int16_t)(STEREO_DMX_EVS_FADE_LEN_PRC * (float)input_Fs / 1000.0);
    fad_len = hStereoDmxEVS->hPHA->fad_len_prc;
    fad_g = hStereoDmxEVS->hPHA->fad_g_prc;
    for ( n = 0; n < fad_len; n++ )