Commit c41ded71 authored by emerit's avatar emerit
Browse files

code optimisation

parent f73a45ce
Loading
Loading
Loading
Loading
+22 −9
Original line number Diff line number Diff line
@@ -1642,7 +1642,11 @@ static ivas_error ivas_rend_crendConvolver(
    const float *pIn;
    float *pFreq_buf_re, *pFreq_buf_im;
    float *pFreq_buf2_re, *pFreq_buf2_im;
#ifdef FIX_CREND_FIX_POINT_HRTF_FILE_FORMAT
    float *pFreq_filt_re, *pFreq_filt_im;
#else
    const float *pFreq_filt_re, *pFreq_filt_im;
#endif
    float pOut[L_FRAME48k * 2];
    float tmp_out_re[L_FRAME48k], tmp_out_im[L_FRAME48k];
    CREND_HANDLE hCrend;
@@ -1694,6 +1698,21 @@ static ivas_error ivas_rend_crendConvolver(
    }

    i = 0;
    if ( pCrend->hHrtfCrend->num_iterations_diffuse[0] > 0 )
    {
        if ( pCrend->hHrtfCrend->same_inv_diffuse_weight )
        {
            pFreq_buf_re = &hCrend->freq_buffer_re_diffuse[0][offset_diffuse];
            pFreq_buf_im = &hCrend->freq_buffer_im_diffuse[0][offset_diffuse];
        }
        else
        {
            pFreq_buf_re = &hCrend->freq_buffer_re_diffuse[0][offset_diffuse];
            pFreq_buf_im = &hCrend->freq_buffer_im_diffuse[0][offset_diffuse];
            pFreq_buf2_re = &hCrend->freq_buffer_re_diffuse[1][offset_diffuse];
            pFreq_buf2_im = &hCrend->freq_buffer_im_diffuse[1][offset_diffuse];
        }
    }
    for ( idx_in = 0; idx_in < nchan_in; idx_in++ )
    {
        pIn = &pcm_in[idx_in][i_ts * subframe_length];
@@ -1703,8 +1722,6 @@ static ivas_error ivas_rend_crendConvolver(
            {
                if ( pCrend->hHrtfCrend->same_inv_diffuse_weight )
                {
                    pFreq_buf_re = &hCrend->freq_buffer_re_diffuse[0][offset_diffuse];
                    pFreq_buf_im = &hCrend->freq_buffer_im_diffuse[0][offset_diffuse];
                    pFreq_filt_re = &hCrend->freq_buffer_re[i][offset];
                    pFreq_filt_im = &hCrend->freq_buffer_im[i][offset];

@@ -1716,10 +1733,6 @@ static ivas_error ivas_rend_crendConvolver(
                }
                else
                {
                    pFreq_buf_re = &hCrend->freq_buffer_re_diffuse[0][offset_diffuse];
                    pFreq_buf_im = &hCrend->freq_buffer_im_diffuse[0][offset_diffuse];
                    pFreq_buf2_re = &hCrend->freq_buffer_re_diffuse[1][offset_diffuse];
                    pFreq_buf2_im = &hCrend->freq_buffer_im_diffuse[1][offset_diffuse];
                    pFreq_filt_re = &hCrend->freq_buffer_re[i][offset];
                    pFreq_filt_im = &hCrend->freq_buffer_im[i][offset];

@@ -1733,10 +1746,10 @@ static ivas_error ivas_rend_crendConvolver(
                }
            }

            pFreq_buf_re = &hCrend->freq_buffer_re[i][offset];
            pFreq_buf_im = &hCrend->freq_buffer_im[i][offset];
            pFreq_filt_re = &hCrend->freq_buffer_re[i][offset];
            pFreq_filt_im = &hCrend->freq_buffer_im[i][offset];

            ivas_mdft( pIn, pFreq_buf_re, pFreq_buf_im, subframe_length, subframe_length );
            ivas_mdft( pIn, pFreq_filt_re, pFreq_filt_im, subframe_length, subframe_length );
            i++;
        }
    }