Loading lib_rend/ivas_crend.c +53 −0 Original line number Diff line number Diff line Loading @@ -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; Loading @@ -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]; Loading @@ -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]; Loading Loading
lib_rend/ivas_crend.c +53 −0 Original line number Diff line number Diff line Loading @@ -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; Loading @@ -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]; Loading @@ -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]; Loading