Commit 3123698b authored by emerit's avatar emerit
Browse files

first version generation rom files ok

parent 53e62586
Loading
Loading
Loading
Loading
+3 −1
Original line number Diff line number Diff line
@@ -167,7 +167,7 @@

#define FIX_718_JBM_MD_UDPATE                           /* Fhg: fix issue #718, wrong setting of the update flag in the TD obj renderer in the JBM path */
#define FIX_719_CRASH_IN_CLEANUP                        /* VA: issue 719: fix Decoder crash after call to goto to cleanup */

/*#define FIX_312_FASTCONV_HRTF_LOAD*/                      /* FhG: update loading of FastConv HRTFs from binary data - to be enabled after Matlab binary blob generation is harmonised */

/* ################## End BE DEVELOPMENT switches ######################### */

@@ -175,6 +175,8 @@
/* any switch which is non-be wrt operation points tested in selection */
/* all switches in this category should start with "CR_" */

//#define FIX_INV_DIFFUSE_WEIGHT                          /* Orange : Fix error in energy compensation in late binaural reverb*/

#define CR_FIX_585_MASA_2TC_DTX_EXT                     /* Nokia: issue 585: fixes transition artifacts in MASA 2TC DTX by applying correct condition */
#define CR_FIX_639_HQ_ACELP_TRANSITION                  /* Ericsson: Issue 639: Wrong sampling rate of SWB TBE excitation memory in 16 kHz core for DFT Stereo@32 kbps */
#define CR_FIX_586_BPF_DFT_MEM                          /* FhG: issue 586: set input memory of DFT analysis of BPF signal to zero for HQ core to fix issue with PLC and bitrate switching */
+109 −11
Original line number Diff line number Diff line
@@ -72,9 +72,14 @@ ivas_error ivas_hrtf_init(

    for ( i = 0; i < MAX_INTERN_CHANNELS; i++ )
    {
#ifndef FIX_INV_DIFFUSE_WEIGHT
        hHrtf->inv_diffuse_weight[i] = 0;
#endif
        for ( j = 0; j < BINAURAL_CHANNELS; j++ )
        {
#ifdef FIX_INV_DIFFUSE_WEIGHT
            hHrtf->inv_diffuse_weight[j][i] = 0;
#endif
            hHrtf->num_iterations[i][j] = 0;
            hHrtf->pIndex_frequency_max[i][j] = NULL;
            hHrtf->pOut_to_bin_re[i][j] = NULL;
@@ -343,6 +348,7 @@ static ivas_error ivas_rend_initCrend(

                if ( output_Fs == 48000 )
                {
#ifndef FIX_INV_DIFFUSE_WEIGHT
                    if ( outConfig == AUDIO_CONFIG_BINAURAL_ROOM_IR )
                    {
                        hHrtf->inv_diffuse_weight[i] = CRendBin_Combined_BRIR_inv_diffuse_weight_48kHz[tmp];
@@ -351,11 +357,14 @@ static ivas_error ivas_rend_initCrend(
                    {
                        hHrtf->inv_diffuse_weight[i] = CRendBin_Combined_HRIR_inv_diffuse_weight_48kHz[tmp];
                    }

#endif
                    for ( j = 0; j < BINAURAL_CHANNELS; j++ )
                    {
                        if ( outConfig == AUDIO_CONFIG_BINAURAL_ROOM_IR )
                        {
#ifdef FIX_INV_DIFFUSE_WEIGHT
                            hHrtf->inv_diffuse_weight[j][i] = CRendBin_Combined_BRIR_inv_diffuse_weight_48kHz[j][tmp];
#endif
                            hHrtf->num_iterations[i][j] = CRendBin_Combined_BRIR_num_iterations_48kHz[tmp][j];
                            hHrtf->pIndex_frequency_max[i][j] = CRendBin_Combined_BRIR_pIndex_frequency_max_48kHz[tmp][j];
                            hHrtf->pOut_to_bin_re[i][j] = CRendBin_Combined_BRIR_coeff_re_48kHz[tmp][j];
@@ -363,6 +372,9 @@ static ivas_error ivas_rend_initCrend(
                        }
                        else
                        {
#ifdef FIX_INV_DIFFUSE_WEIGHT
                            hHrtf->inv_diffuse_weight[j][i] = CRendBin_Combined_HRIR_inv_diffuse_weight_48kHz[j][tmp];
#endif
                            hHrtf->num_iterations[i][j] = CRendBin_Combined_HRIR_num_iterations_48kHz[tmp][j];
                            hHrtf->pIndex_frequency_max[i][j] = CRendBin_Combined_HRIR_pIndex_frequency_max_48kHz[tmp][j];
                            hHrtf->pOut_to_bin_re[i][j] = CRendBin_Combined_HRIR_coeff_re_48kHz[tmp][j];
@@ -372,6 +384,7 @@ static ivas_error ivas_rend_initCrend(
                }
                else if ( output_Fs == 32000 )
                {
#ifndef FIX_INV_DIFFUSE_WEIGHT
                    if ( outConfig == AUDIO_CONFIG_BINAURAL_ROOM_IR )
                    {
                        hHrtf->inv_diffuse_weight[i] = CRendBin_Combined_BRIR_inv_diffuse_weight_32kHz[tmp];
@@ -380,11 +393,14 @@ static ivas_error ivas_rend_initCrend(
                    {
                        hHrtf->inv_diffuse_weight[i] = CRendBin_Combined_HRIR_inv_diffuse_weight_32kHz[tmp];
                    }

#endif
                    for ( j = 0; j < BINAURAL_CHANNELS; j++ )
                    {
                        if ( outConfig == AUDIO_CONFIG_BINAURAL_ROOM_IR )
                        {
#ifdef FIX_INV_DIFFUSE_WEIGHT
                            hHrtf->inv_diffuse_weight[j][i] = CRendBin_Combined_BRIR_inv_diffuse_weight_32kHz[j][tmp];
#endif
                            hHrtf->num_iterations[i][j] = CRendBin_Combined_BRIR_num_iterations_32kHz[tmp][j];
                            hHrtf->pIndex_frequency_max[i][j] = CRendBin_Combined_BRIR_pIndex_frequency_max_32kHz[tmp][j];
                            hHrtf->pOut_to_bin_re[i][j] = CRendBin_Combined_BRIR_coeff_re_32kHz[tmp][j];
@@ -392,6 +408,9 @@ static ivas_error ivas_rend_initCrend(
                        }
                        else
                        {
#ifdef FIX_INV_DIFFUSE_WEIGHT
                            hHrtf->inv_diffuse_weight[j][i] = CRendBin_Combined_HRIR_inv_diffuse_weight_32kHz[j][tmp];
#endif
                            hHrtf->num_iterations[i][j] = CRendBin_Combined_HRIR_num_iterations_32kHz[tmp][j];
                            hHrtf->pIndex_frequency_max[i][j] = CRendBin_Combined_HRIR_pIndex_frequency_max_32kHz[tmp][j];
                            hHrtf->pOut_to_bin_re[i][j] = CRendBin_Combined_HRIR_coeff_re_32kHz[tmp][j];
@@ -401,6 +420,7 @@ static ivas_error ivas_rend_initCrend(
                }
                else if ( output_Fs == 16000 )
                {
#ifndef FIX_INV_DIFFUSE_WEIGHT
                    if ( outConfig == AUDIO_CONFIG_BINAURAL_ROOM_IR )
                    {
                        hHrtf->inv_diffuse_weight[i] = CRendBin_Combined_BRIR_inv_diffuse_weight_16kHz[tmp];
@@ -409,11 +429,15 @@ static ivas_error ivas_rend_initCrend(
                    {
                        hHrtf->inv_diffuse_weight[i] = CRendBin_Combined_HRIR_inv_diffuse_weight_16kHz[tmp];
                    }

#endif
                    for ( j = 0; j < BINAURAL_CHANNELS; j++ )
                    {
                        if ( outConfig == AUDIO_CONFIG_BINAURAL_ROOM_IR )
                        {
#ifdef FIX_INV_DIFFUSE_WEIGHT
                            hHrtf->inv_diffuse_weight[j][i] = CRendBin_Combined_BRIR_inv_diffuse_weight_16kHz[j][tmp];
#endif

                            hHrtf->num_iterations[i][j] = CRendBin_Combined_BRIR_num_iterations_16kHz[tmp][j];
                            hHrtf->pIndex_frequency_max[i][j] = CRendBin_Combined_BRIR_pIndex_frequency_max_16kHz[tmp][j];
                            hHrtf->pOut_to_bin_re[i][j] = CRendBin_Combined_BRIR_coeff_re_16kHz[tmp][j];
@@ -421,6 +445,10 @@ static ivas_error ivas_rend_initCrend(
                        }
                        else
                        {
#ifdef FIX_INV_DIFFUSE_WEIGHT
                            hHrtf->inv_diffuse_weight[j][i] = CRendBin_Combined_HRIR_inv_diffuse_weight_16kHz[j][tmp];
#endif

                            hHrtf->num_iterations[i][j] = CRendBin_Combined_HRIR_num_iterations_16kHz[tmp][j];
                            hHrtf->pIndex_frequency_max[i][j] = CRendBin_Combined_HRIR_pIndex_frequency_max_16kHz[tmp][j];
                            hHrtf->pOut_to_bin_re[i][j] = CRendBin_Combined_HRIR_coeff_re_16kHz[tmp][j];
@@ -446,10 +474,15 @@ static ivas_error ivas_rend_initCrend(

                    for ( i = 0; i < hHrtf->max_num_ir; i++ )
                    {
                        hHrtf->inv_diffuse_weight[i] = CRendBin_HOA3_HRIR_inv_diffuse_weight_48kHz[i];

#ifndef FIX_INV_DIFFUSE_WEIGHT
                        hHrtf->inv_diffuse_weight[i] = CRendBin_HOA3_HRIR_inv_diffuse_weight_48kHz[i];
#endif
                        for ( j = 0; j < BINAURAL_CHANNELS; j++ )
                        {
#ifdef FIX_INV_DIFFUSE_WEIGHT
                            hHrtf->inv_diffuse_weight[j][i] = CRendBin_HOA3_HRIR_inv_diffuse_weight_48kHz[j][i];
#endif
                            hHrtf->num_iterations[i][j] = CRendBin_HOA3_HRIR_num_iterations_48kHz[i][j];
                            hHrtf->pIndex_frequency_max[i][j] = CRendBin_HOA3_HRIR_pIndex_frequency_max_48kHz[i][j];
                            hHrtf->pOut_to_bin_re[i][j] = CRendBin_HOA3_HRIR_coeff_re_48kHz[i][j];
@@ -472,10 +505,15 @@ static ivas_error ivas_rend_initCrend(

                    for ( i = 0; i < hHrtf->max_num_ir; i++ )
                    {
#ifndef FIX_INV_DIFFUSE_WEIGHT
                        hHrtf->inv_diffuse_weight[i] = CRendBin_HOA3_HRIR_inv_diffuse_weight_32kHz[i];
#endif

                        for ( j = 0; j < BINAURAL_CHANNELS; j++ )
                        {
#ifdef FIX_INV_DIFFUSE_WEIGHT
                            hHrtf->inv_diffuse_weight[j][i] = CRendBin_HOA3_HRIR_inv_diffuse_weight_32kHz[j][i];
#endif
                            hHrtf->num_iterations[i][j] = CRendBin_HOA3_HRIR_num_iterations_32kHz[i][j];
                            hHrtf->pIndex_frequency_max[i][j] = CRendBin_HOA3_HRIR_pIndex_frequency_max_32kHz[i][j];
                            hHrtf->pOut_to_bin_re[i][j] = CRendBin_HOA3_HRIR_coeff_re_32kHz[i][j];
@@ -499,10 +537,14 @@ static ivas_error ivas_rend_initCrend(

                    for ( i = 0; i < hHrtf->max_num_ir; i++ )
                    {
#ifndef FIX_INV_DIFFUSE_WEIGHT
                        hHrtf->inv_diffuse_weight[i] = CRendBin_HOA3_HRIR_inv_diffuse_weight_16kHz[i];

#endif
                        for ( j = 0; j < BINAURAL_CHANNELS; j++ )
                        {
#ifdef FIX_INV_DIFFUSE_WEIGHT
                            hHrtf->inv_diffuse_weight[j][i] = CRendBin_HOA3_HRIR_inv_diffuse_weight_16kHz[j][i];
#endif
                            hHrtf->num_iterations[i][j] = CRendBin_HOA3_HRIR_num_iterations_16kHz[i][j];
                            hHrtf->pIndex_frequency_max[i][j] = CRendBin_HOA3_HRIR_pIndex_frequency_max_16kHz[i][j];
                            hHrtf->pOut_to_bin_re[i][j] = CRendBin_HOA3_HRIR_coeff_re_16kHz[i][j];
@@ -533,10 +575,15 @@ static ivas_error ivas_rend_initCrend(

                    for ( i = 0; i < hHrtf->max_num_ir; i++ )
                    {
#ifndef FIX_INV_DIFFUSE_WEIGHT
                        hHrtf->inv_diffuse_weight[i] = CRendBin_HOA2_HRIR_inv_diffuse_weight_48kHz[i];
#endif

                        for ( j = 0; j < BINAURAL_CHANNELS; j++ )
                        {
#ifdef FIX_INV_DIFFUSE_WEIGHT
                            hHrtf->inv_diffuse_weight[j][i] = CRendBin_HOA2_HRIR_inv_diffuse_weight_48kHz[j][i];
#endif
                            hHrtf->num_iterations[i][j] = CRendBin_HOA2_HRIR_num_iterations_48kHz[i][j];
                            hHrtf->pIndex_frequency_max[i][j] = CRendBin_HOA2_HRIR_pIndex_frequency_max_48kHz[i][j];
                            hHrtf->pOut_to_bin_re[i][j] = CRendBin_HOA2_HRIR_coeff_re_48kHz[i][j];
@@ -559,10 +606,15 @@ static ivas_error ivas_rend_initCrend(

                    for ( i = 0; i < hHrtf->max_num_ir; i++ )
                    {
#ifndef FIX_INV_DIFFUSE_WEIGHT
                        hHrtf->inv_diffuse_weight[i] = CRendBin_HOA2_HRIR_inv_diffuse_weight_32kHz[i];
#endif

                        for ( j = 0; j < BINAURAL_CHANNELS; j++ )
                        {
#ifdef FIX_INV_DIFFUSE_WEIGHT
                            hHrtf->inv_diffuse_weight[j][i] = CRendBin_HOA2_HRIR_inv_diffuse_weight_32kHz[j][i];
#endif
                            hHrtf->num_iterations[i][j] = CRendBin_HOA2_HRIR_num_iterations_32kHz[i][j];
                            hHrtf->pIndex_frequency_max[i][j] = CRendBin_HOA2_HRIR_pIndex_frequency_max_32kHz[i][j];
                            hHrtf->pOut_to_bin_re[i][j] = CRendBin_HOA2_HRIR_coeff_re_32kHz[i][j];
@@ -586,10 +638,14 @@ static ivas_error ivas_rend_initCrend(

                    for ( i = 0; i < hHrtf->max_num_ir; i++ )
                    {
#ifndef FIX_INV_DIFFUSE_WEIGHT
                        hHrtf->inv_diffuse_weight[i] = CRendBin_HOA2_HRIR_inv_diffuse_weight_16kHz[i];

#endif
                        for ( j = 0; j < BINAURAL_CHANNELS; j++ )
                        {
#ifdef FIX_INV_DIFFUSE_WEIGHT
                            hHrtf->inv_diffuse_weight[j][i] = CRendBin_HOA2_HRIR_inv_diffuse_weight_16kHz[j][i];
#endif
                            hHrtf->num_iterations[i][j] = CRendBin_HOA2_HRIR_num_iterations_16kHz[i][j];
                            hHrtf->pIndex_frequency_max[i][j] = CRendBin_HOA2_HRIR_pIndex_frequency_max_16kHz[i][j];
                            hHrtf->pOut_to_bin_re[i][j] = CRendBin_HOA2_HRIR_coeff_re_16kHz[i][j];
@@ -620,10 +676,14 @@ static ivas_error ivas_rend_initCrend(

                    for ( i = 0; i < hHrtf->max_num_ir; i++ )
                    {
#ifndef FIX_INV_DIFFUSE_WEIGHT
                        hHrtf->inv_diffuse_weight[i] = CRendBin_FOA_HRIR_inv_diffuse_weight_48kHz[i];

#endif
                        for ( j = 0; j < BINAURAL_CHANNELS; j++ )
                        {
#ifdef FIX_INV_DIFFUSE_WEIGHT
                            hHrtf->inv_diffuse_weight[j][i] = CRendBin_FOA_HRIR_inv_diffuse_weight_48kHz[j][i];
#endif
                            hHrtf->num_iterations[i][j] = CRendBin_FOA_HRIR_num_iterations_48kHz[i][j];
                            hHrtf->pIndex_frequency_max[i][j] = CRendBin_FOA_HRIR_pIndex_frequency_max_48kHz[i][j];
                            hHrtf->pOut_to_bin_re[i][j] = CRendBin_FOA_HRIR_coeff_re_48kHz[i][j];
@@ -646,10 +706,14 @@ static ivas_error ivas_rend_initCrend(

                    for ( i = 0; i < hHrtf->max_num_ir; i++ )
                    {
#ifndef FIX_INV_DIFFUSE_WEIGHT
                        hHrtf->inv_diffuse_weight[i] = CRendBin_FOA_HRIR_inv_diffuse_weight_32kHz[i];

#endif
                        for ( j = 0; j < BINAURAL_CHANNELS; j++ )
                        {
#ifdef FIX_INV_DIFFUSE_WEIGHT
                            hHrtf->inv_diffuse_weight[j][i] = CRendBin_FOA_HRIR_inv_diffuse_weight_32kHz[j][i];
#endif
                            hHrtf->num_iterations[i][j] = CRendBin_FOA_HRIR_num_iterations_32kHz[i][j];
                            hHrtf->pIndex_frequency_max[i][j] = CRendBin_FOA_HRIR_pIndex_frequency_max_32kHz[i][j];
                            hHrtf->pOut_to_bin_re[i][j] = CRendBin_FOA_HRIR_coeff_re_32kHz[i][j];
@@ -673,10 +737,14 @@ static ivas_error ivas_rend_initCrend(

                    for ( i = 0; i < hHrtf->max_num_ir; i++ )
                    {
#ifndef FIX_INV_DIFFUSE_WEIGHT
                        hHrtf->inv_diffuse_weight[i] = CRendBin_FOA_HRIR_inv_diffuse_weight_16kHz[i];

#endif
                        for ( j = 0; j < BINAURAL_CHANNELS; j++ )
                        {
#ifdef FIX_INV_DIFFUSE_WEIGHT
                            hHrtf->inv_diffuse_weight[j][i] = CRendBin_FOA_HRIR_inv_diffuse_weight_16kHz[j][i];
#endif
                            hHrtf->num_iterations[i][j] = CRendBin_FOA_HRIR_num_iterations_16kHz[i][j];
                            hHrtf->pIndex_frequency_max[i][j] = CRendBin_FOA_HRIR_pIndex_frequency_max_16kHz[i][j];
                            hHrtf->pOut_to_bin_re[i][j] = CRendBin_FOA_HRIR_coeff_re_16kHz[i][j];
@@ -771,7 +839,7 @@ static ivas_error ivas_rend_initCrend(
                {
                    return IVAS_ERROR( IVAS_ERR_INTERNAL_FATAL, "Error: Channel configuration not specified!\n\n" );
                }

#ifndef FIX_INV_DIFFUSE_WEIGHT
                if ( outConfig == AUDIO_CONFIG_BINAURAL_ROOM_IR )
                {
                    hHrtf->inv_diffuse_weight[i] = hSetOfHRTF->hHRTF_brir_combined->inv_diffuse_weight[tmp];
@@ -780,11 +848,14 @@ static ivas_error ivas_rend_initCrend(
                {
                    hHrtf->inv_diffuse_weight[i] = hSetOfHRTF->hHRTF_hrir_combined->inv_diffuse_weight[tmp];
                }

#endif
                for ( j = 0; j < BINAURAL_CHANNELS; j++ )
                {
                    if ( outConfig == AUDIO_CONFIG_BINAURAL_ROOM_IR )
                    {
#ifdef FIX_INV_DIFFUSE_WEIGHT
                        hHrtf->inv_diffuse_weight[j][i] = hSetOfHRTF->hHRTF_brir_combined->inv_diffuse_weight[j][tmp];
#endif
                        hHrtf->num_iterations[i][j] = hSetOfHRTF->hHRTF_brir_combined->num_iterations[tmp][j];
                        hHrtf->pIndex_frequency_max[i][j] = hSetOfHRTF->hHRTF_brir_combined->pIndex_frequency_max[tmp][j];
                        hHrtf->pOut_to_bin_re[i][j] = hSetOfHRTF->hHRTF_brir_combined->pOut_to_bin_re[tmp][j];
@@ -792,6 +863,9 @@ static ivas_error ivas_rend_initCrend(
                    }
                    else
                    {
#ifdef FIX_INV_DIFFUSE_WEIGHT
                        hHrtf->inv_diffuse_weight[j][i] = hSetOfHRTF->hHRTF_hrir_combined->inv_diffuse_weight[j][tmp];
#endif
                        hHrtf->num_iterations[i][j] = hSetOfHRTF->hHRTF_hrir_combined->num_iterations[tmp][j];
                        hHrtf->pIndex_frequency_max[i][j] = hSetOfHRTF->hHRTF_hrir_combined->pIndex_frequency_max[tmp][j];
                        hHrtf->pOut_to_bin_re[i][j] = hSetOfHRTF->hHRTF_hrir_combined->pOut_to_bin_re[tmp][j];
@@ -810,10 +884,15 @@ static ivas_error ivas_rend_initCrend(

                for ( i = 0; i < hHrtf->max_num_ir; i++ )
                {
#ifndef FIX_INV_DIFFUSE_WEIGHT
                    hHrtf->inv_diffuse_weight[i] = hSetOfHRTF->hHRTF_hrir_hoa3->inv_diffuse_weight[i];
#endif

                    for ( j = 0; j < BINAURAL_CHANNELS; j++ )
                    {
#ifdef FIX_INV_DIFFUSE_WEIGHT
                        hHrtf->inv_diffuse_weight[j][i] = hSetOfHRTF->hHRTF_hrir_hoa3->inv_diffuse_weight[j][i];
#endif
                        hHrtf->num_iterations[i][j] = hSetOfHRTF->hHRTF_hrir_hoa3->num_iterations[i][j];
                        hHrtf->pIndex_frequency_max[i][j] = hSetOfHRTF->hHRTF_hrir_hoa3->pIndex_frequency_max[i][j];
                        hHrtf->pOut_to_bin_re[i][j] = hSetOfHRTF->hHRTF_hrir_hoa3->pOut_to_bin_re[i][j];
@@ -836,10 +915,15 @@ static ivas_error ivas_rend_initCrend(

                for ( i = 0; i < hHrtf->max_num_ir; i++ )
                {
#ifndef FIX_INV_DIFFUSE_WEIGHT
                    hHrtf->inv_diffuse_weight[i] = hSetOfHRTF->hHRTF_hrir_hoa2->inv_diffuse_weight[i];
#endif

                    for ( j = 0; j < BINAURAL_CHANNELS; j++ )
                    {
#ifdef FIX_INV_DIFFUSE_WEIGHT
                        hHrtf->inv_diffuse_weight[j][i] = hSetOfHRTF->hHRTF_hrir_hoa2->inv_diffuse_weight[j][i];
#endif
                        hHrtf->num_iterations[i][j] = hSetOfHRTF->hHRTF_hrir_hoa2->num_iterations[i][j];
                        hHrtf->pIndex_frequency_max[i][j] = hSetOfHRTF->hHRTF_hrir_hoa2->pIndex_frequency_max[i][j];
                        hHrtf->pOut_to_bin_re[i][j] = hSetOfHRTF->hHRTF_hrir_hoa2->pOut_to_bin_re[i][j];
@@ -862,10 +946,15 @@ static ivas_error ivas_rend_initCrend(

                for ( i = 0; i < hHrtf->max_num_ir; i++ )
                {
#ifndef FIX_INV_DIFFUSE_WEIGHT
                    hHrtf->inv_diffuse_weight[i] = hSetOfHRTF->hHRTF_hrir_foa->inv_diffuse_weight[i];
#endif

                    for ( j = 0; j < BINAURAL_CHANNELS; j++ )
                    {
#ifdef FIX_INV_DIFFUSE_WEIGHT
                        hHrtf->inv_diffuse_weight[j][i] = hSetOfHRTF->hHRTF_hrir_foa->inv_diffuse_weight[j][i];
#endif
                        hHrtf->num_iterations[i][j] = hSetOfHRTF->hHRTF_hrir_foa->num_iterations[i][j];
                        hHrtf->pIndex_frequency_max[i][j] = hSetOfHRTF->hHRTF_hrir_foa->pIndex_frequency_max[i][j];
                        hHrtf->pOut_to_bin_re[i][j] = hSetOfHRTF->hHRTF_hrir_foa->pOut_to_bin_re[i][j];
@@ -1611,8 +1700,13 @@ static ivas_error ivas_rend_crendConvolver(

                for ( k = 0; k < pCrend->hHrtfCrend->index_frequency_max_diffuse; k++ )
                {
#ifdef FIX_INV_DIFFUSE_WEIGHT
                    pFreq_buf_re[k] += pFreq_filt_re[k];
                    pFreq_buf_im[k] += pFreq_filt_im[k];
#else
                    pFreq_buf_re[k] += pFreq_filt_re[k] * pCrend->hHrtfCrend->inv_diffuse_weight[i];
                    pFreq_buf_im[k] += pFreq_filt_im[k] * pCrend->hHrtfCrend->inv_diffuse_weight[i];
#endif
                }
            }

@@ -1671,6 +1765,10 @@ static ivas_error ivas_rend_crendConvolver(
            {
                tmp_out_re[k] += pFreq_buf_re[k] * pFreq_filt_re[k] - pFreq_buf_im[k] * pFreq_filt_im[k];
                tmp_out_im[k] += pFreq_buf_re[k] * pFreq_filt_im[k] + pFreq_buf_im[k] * pFreq_filt_re[k];
#ifdef FIX_INV_DIFFUSE_WEIGHT
                tmp_out_re[k] *= pCrend->hHrtfCrend->inv_diffuse_weight[j][i];
                tmp_out_im[k] *= pCrend->hHrtfCrend->inv_diffuse_weight[j][i];
#endif
            }
            offset = offset + k;
        }
+0 −7179

File changed.

Preview size limit exceeded, changes collapsed.

+0 −290

File changed.

Preview size limit exceeded, changes collapsed.

+4 −0
Original line number Diff line number Diff line
@@ -1193,7 +1193,11 @@ typedef struct ivas_hrtfs_structure
    uint16_t index_frequency_max_diffuse;
    int16_t max_num_ir;
    int16_t max_num_iterations;
#ifdef FIX_INV_DIFFUSE_WEIGHT
    float inv_diffuse_weight[BINAURAL_CHANNELS][MAX_INTERN_CHANNELS]; /* inverse diffuse weights array, access one inverse weight by pInvDiffuseWeight[channel] */
#else
    float inv_diffuse_weight[MAX_INTERN_CHANNELS]; /* inverse diffuse weights array, access one inverse weight by pInvDiffuseWeight[channel] */
#endif
    float gain_lfe;

} HRTFS_DATA, *HRTFS_HANDLE;
Loading