Commit 2b9e423d authored by emerit's avatar emerit
Browse files

add support of external binary file

parent 5765cafd
Loading
Loading
Loading
Loading
+53 −0
Original line number Diff line number Diff line
@@ -772,9 +772,54 @@ static ivas_error ivas_rend_initCrend(
                    }
                }
            }
#ifdef USE_SYMETRIC_HRIR_FILTERS
            if ( use_brir && ( nb_ear == 1 ) )
            {
                hHrtf->inv_diffuse_weight[i] = hHrtf->inv_diffuse_weight[i] * 0.5f;
            }
#endif
        }
        else if ( inConfigType == IVAS_REND_AUDIO_CONFIG_TYPE_AMBISONICS )
        {
#ifdef USE_SYMETRIC_HRIR_FILTERS
            nb_ear = CRendBin_HOA3_HRIR_Use_Symetric_Filters == 0 ? 2 : 1;
            if ( nb_ear == 1 )
            {
                curComp = 0;
                nbCompForCurrentOrder = 1;
                curOrder = 0;

                for ( i = 0; i < hHrtf->max_num_ir; i++ )
                {
                    if ( curComp < curOrder )
                    {
                        hHrtf->ch_sum_diff[i] = 1;
                    }
                    else
                    {
                        hHrtf->ch_sum_diff[i] = 0;
                    }

                    curComp++;
                    if ( curComp == nbCompForCurrentOrder )
                    {
                        curOrder++;
                        curComp = 0;
                        nbCompForCurrentOrder = 2 * curOrder + 1;
                    }
                    hHrtf->ch_sum_diff_pair[i] = i;
                }
            }
            else
            {
                for ( i = 0; i < hHrtf->max_num_ir; i++ )
                {
                    hHrtf->ch_sum_diff[i] = -1;
                    hHrtf->ch_sum_diff_pair[i] = i;
                }
            }
#endif

            hHrtf->latency_s = hSetOfHRTF->hHRTF_hrir_hoa3->latency_s;
            hHrtf->max_num_iterations = hSetOfHRTF->hHRTF_hrir_hoa3->max_num_iterations;
            hHrtf->index_frequency_max_diffuse = hSetOfHRTF->hHRTF_hrir_hoa3->index_frequency_max_diffuse;
@@ -783,7 +828,11 @@ static ivas_error ivas_rend_initCrend(
            {
                hHrtf->inv_diffuse_weight[i] = hSetOfHRTF->hHRTF_hrir_hoa3->inv_diffuse_weight[i];

#ifdef USE_SYMETRIC_HRIR_FILTERS
                for ( j = 0; j < nb_ear; j++ )
#else
                for ( j = 0; j < BINAURAL_CHANNELS; j++ )
#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];
@@ -791,7 +840,11 @@ static ivas_error ivas_rend_initCrend(
                    hHrtf->pOut_to_bin_im[i][j] = hSetOfHRTF->hHRTF_hrir_hoa3->pOut_to_bin_im[i][j];
                }
            }
#ifdef USE_SYMETRIC_HRIR_FILTERS
            for ( j = 0; j < nb_ear; j++ )
#else
            for ( j = 0; j < BINAURAL_CHANNELS; j++ )
#endif
            {
                hHrtf->num_iterations_diffuse[j] = hSetOfHRTF->hHRTF_hrir_hoa3->num_iterations_diffuse[j];
                hHrtf->pIndex_frequency_max_diffuse[j] = hSetOfHRTF->hHRTF_hrir_hoa3->pIndex_frequency_max_diffuse[j];