Loading lib_rend/ivas_crend.c +5 −13 Original line number Diff line number Diff line Loading @@ -1123,7 +1123,7 @@ static ivas_error ivas_rend_crendConvolver( i = 0; for ( idx_in = 0; idx_in < nchan_in; idx_in++ ) { #ifndef #ifndef USE_SYMETRIC_HRIR_FILTERS pIn = &pcm_in[idx_in][i_ts * subframe_length]; #endif if ( idx_in != lfe_idx_in ) Loading Loading @@ -1220,11 +1220,7 @@ 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]; } /* for ( k = 0; k < pCrend->hHrtfCrend->pIndex_frequency_max[i][idx_j][m]; k++ ) { tmp_out_re[k] += pFreq_buf_re[k]; tmp_out_im[k] += pFreq_buf_im[k]; }*/ offset = offset + k; } #else Loading @@ -1243,11 +1239,7 @@ 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]; } /* for ( k = 0; k < pCrend->hHrtfCrend->pIndex_frequency_max[i][idx_j][m]; k++ ) { tmp_out_re[k] += pFreq_buf_re[k]; tmp_out_im[k] += pFreq_buf_im[k]; }*/ offset = offset + k; } Loading Loading @@ -1296,8 +1288,8 @@ static ivas_error ivas_rend_crendConvolver( for ( k = 0; k < subframe_length; k++ ) { tmp_out_re[0] = pFreq_buf_re[k]; pFreq_buf_re[k] = ( pFreq_buf_re[k] - pFreq_buf_im[k] ); pFreq_buf_im[k] = ( tmp_out_re[0] + pFreq_buf_im[k] ); pFreq_buf_re[k] = ( pFreq_buf_re[k] + pFreq_buf_im[k] ); pFreq_buf_im[k] = ( tmp_out_re[0] - pFreq_buf_im[k] ); } } #endif Loading lib_rend/ivas_rom_binaural_crend_head.c +216 −216 File changed.Preview size limit exceeded, changes collapsed. Show changes scripts/binauralRenderer_interface/ivas_crend_binaural_filter_design.c +9 −7 Original line number Diff line number Diff line Loading @@ -1523,7 +1523,7 @@ ivas_error ivas_crend_binaural_filter_design_convert_filters_to_sum_diff( struct ivas_layout_config lscfg, HRTFS_DATA **ppParamSumDiff ) { int32_t i_chan, i_tap, i_num, i_pair, i_offset_in, i_offset; int32_t i_chan, i_tap, i_num, i_pair, i_index, i_offset_in, i_offset; float data_ir_flt[L_FRAME48k] = { 0.0f }; int32_t *pTotalNumFreqSampPerIterations; int32_t totalNumFreqSampPerIterationsDiffuse; Loading Loading @@ -1628,31 +1628,33 @@ ivas_error ivas_crend_binaural_filter_design_convert_filters_to_sum_diff( i_pair = lscfg.sum_diff_pair[i_chan]; i_offset = 0; i_offset_in = 0; i_index = sym_hrir == 0 ? i_chan : i_pair; for ( i_num = 0; i_num < ( *ppParamSumDiff )->num_iterations[i_chan][sym_hrir]; i_num++ ) { for ( i_tap = 0; i_tap < pParamIn->pIndex_frequency_max[i_chan][sym_hrir][i_num]; i_tap++ ) { ( *ppParamSumDiff )->pOut_to_bin_re[i_chan][sym_hrir][i_offset + i_tap] = 0.5f * pParamIn->pOut_to_bin_re[i_chan][sym_hrir][i_offset_in + i_tap]; ( *ppParamSumDiff )->pOut_to_bin_im[i_chan][sym_hrir][i_offset + i_tap] = 0.5f * pParamIn->pOut_to_bin_im[i_chan][sym_hrir][i_offset_in + i_tap]; ( *ppParamSumDiff )->pOut_to_bin_re[i_chan][sym_hrir][i_offset + i_tap] = 0.5f * pParamIn->pOut_to_bin_re[i_index][sym_hrir][i_offset_in + i_tap]; ( *ppParamSumDiff )->pOut_to_bin_im[i_chan][sym_hrir][i_offset + i_tap] = 0.5f * pParamIn->pOut_to_bin_im[i_index][sym_hrir][i_offset_in + i_tap]; } i_offset += ( *ppParamSumDiff )->pIndex_frequency_max[i_chan][sym_hrir][i_num]; i_offset_in += pParamIn->pIndex_frequency_max[i_chan][sym_hrir][i_num]; } i_offset = 0; i_offset_in = 0; i_index = sym_hrir == 0 ? i_pair : i_chan; for ( i_num = 0; i_num < ( *ppParamSumDiff )->num_iterations[i_chan][sym_hrir]; i_num++ ) { for ( i_tap = 0; i_tap < pParamIn->pIndex_frequency_max[i_pair][sym_hrir][i_num]; i_tap++ ) { if ( lscfg.sum_diff[i_chan] ) { ( *ppParamSumDiff )->pOut_to_bin_re[i_chan][sym_hrir][i_offset + i_tap] -= 0.5f * pParamIn->pOut_to_bin_re[i_pair][sym_hrir][i_offset_in + i_tap]; ( *ppParamSumDiff )->pOut_to_bin_im[i_chan][sym_hrir][i_offset + i_tap] -= 0.5f * pParamIn->pOut_to_bin_im[i_pair][sym_hrir][i_offset_in + i_tap]; ( *ppParamSumDiff )->pOut_to_bin_re[i_chan][sym_hrir][i_offset + i_tap] = 0.5f * pParamIn->pOut_to_bin_re[i_index][sym_hrir][i_offset_in + i_tap] - ( *ppParamSumDiff )->pOut_to_bin_re[i_chan][sym_hrir][i_offset + i_tap]; ( *ppParamSumDiff )->pOut_to_bin_im[i_chan][sym_hrir][i_offset + i_tap] = 0.5f * pParamIn->pOut_to_bin_im[i_pair][sym_hrir][i_offset_in + i_tap] - ( *ppParamSumDiff )->pOut_to_bin_im[i_chan][sym_hrir][i_offset + i_tap]; } else { ( *ppParamSumDiff )->pOut_to_bin_re[i_chan][sym_hrir][i_offset + i_tap] += 0.5f * pParamIn->pOut_to_bin_re[i_pair][sym_hrir][i_offset_in + i_tap]; ( *ppParamSumDiff )->pOut_to_bin_im[i_chan][sym_hrir][i_offset + i_tap] += 0.5f * pParamIn->pOut_to_bin_im[i_pair][sym_hrir][i_offset_in + i_tap]; ( *ppParamSumDiff )->pOut_to_bin_re[i_chan][sym_hrir][i_offset + i_tap] += 0.5f * pParamIn->pOut_to_bin_re[i_index][sym_hrir][i_offset_in + i_tap]; ( *ppParamSumDiff )->pOut_to_bin_im[i_chan][sym_hrir][i_offset + i_tap] += 0.5f * pParamIn->pOut_to_bin_im[i_index][sym_hrir][i_offset_in + i_tap]; } } i_offset += ( *ppParamSumDiff )->pIndex_frequency_max[i_chan][sym_hrir][i_num]; Loading Loading
lib_rend/ivas_crend.c +5 −13 Original line number Diff line number Diff line Loading @@ -1123,7 +1123,7 @@ static ivas_error ivas_rend_crendConvolver( i = 0; for ( idx_in = 0; idx_in < nchan_in; idx_in++ ) { #ifndef #ifndef USE_SYMETRIC_HRIR_FILTERS pIn = &pcm_in[idx_in][i_ts * subframe_length]; #endif if ( idx_in != lfe_idx_in ) Loading Loading @@ -1220,11 +1220,7 @@ 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]; } /* for ( k = 0; k < pCrend->hHrtfCrend->pIndex_frequency_max[i][idx_j][m]; k++ ) { tmp_out_re[k] += pFreq_buf_re[k]; tmp_out_im[k] += pFreq_buf_im[k]; }*/ offset = offset + k; } #else Loading @@ -1243,11 +1239,7 @@ 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]; } /* for ( k = 0; k < pCrend->hHrtfCrend->pIndex_frequency_max[i][idx_j][m]; k++ ) { tmp_out_re[k] += pFreq_buf_re[k]; tmp_out_im[k] += pFreq_buf_im[k]; }*/ offset = offset + k; } Loading Loading @@ -1296,8 +1288,8 @@ static ivas_error ivas_rend_crendConvolver( for ( k = 0; k < subframe_length; k++ ) { tmp_out_re[0] = pFreq_buf_re[k]; pFreq_buf_re[k] = ( pFreq_buf_re[k] - pFreq_buf_im[k] ); pFreq_buf_im[k] = ( tmp_out_re[0] + pFreq_buf_im[k] ); pFreq_buf_re[k] = ( pFreq_buf_re[k] + pFreq_buf_im[k] ); pFreq_buf_im[k] = ( tmp_out_re[0] - pFreq_buf_im[k] ); } } #endif Loading
lib_rend/ivas_rom_binaural_crend_head.c +216 −216 File changed.Preview size limit exceeded, changes collapsed. Show changes
scripts/binauralRenderer_interface/ivas_crend_binaural_filter_design.c +9 −7 Original line number Diff line number Diff line Loading @@ -1523,7 +1523,7 @@ ivas_error ivas_crend_binaural_filter_design_convert_filters_to_sum_diff( struct ivas_layout_config lscfg, HRTFS_DATA **ppParamSumDiff ) { int32_t i_chan, i_tap, i_num, i_pair, i_offset_in, i_offset; int32_t i_chan, i_tap, i_num, i_pair, i_index, i_offset_in, i_offset; float data_ir_flt[L_FRAME48k] = { 0.0f }; int32_t *pTotalNumFreqSampPerIterations; int32_t totalNumFreqSampPerIterationsDiffuse; Loading Loading @@ -1628,31 +1628,33 @@ ivas_error ivas_crend_binaural_filter_design_convert_filters_to_sum_diff( i_pair = lscfg.sum_diff_pair[i_chan]; i_offset = 0; i_offset_in = 0; i_index = sym_hrir == 0 ? i_chan : i_pair; for ( i_num = 0; i_num < ( *ppParamSumDiff )->num_iterations[i_chan][sym_hrir]; i_num++ ) { for ( i_tap = 0; i_tap < pParamIn->pIndex_frequency_max[i_chan][sym_hrir][i_num]; i_tap++ ) { ( *ppParamSumDiff )->pOut_to_bin_re[i_chan][sym_hrir][i_offset + i_tap] = 0.5f * pParamIn->pOut_to_bin_re[i_chan][sym_hrir][i_offset_in + i_tap]; ( *ppParamSumDiff )->pOut_to_bin_im[i_chan][sym_hrir][i_offset + i_tap] = 0.5f * pParamIn->pOut_to_bin_im[i_chan][sym_hrir][i_offset_in + i_tap]; ( *ppParamSumDiff )->pOut_to_bin_re[i_chan][sym_hrir][i_offset + i_tap] = 0.5f * pParamIn->pOut_to_bin_re[i_index][sym_hrir][i_offset_in + i_tap]; ( *ppParamSumDiff )->pOut_to_bin_im[i_chan][sym_hrir][i_offset + i_tap] = 0.5f * pParamIn->pOut_to_bin_im[i_index][sym_hrir][i_offset_in + i_tap]; } i_offset += ( *ppParamSumDiff )->pIndex_frequency_max[i_chan][sym_hrir][i_num]; i_offset_in += pParamIn->pIndex_frequency_max[i_chan][sym_hrir][i_num]; } i_offset = 0; i_offset_in = 0; i_index = sym_hrir == 0 ? i_pair : i_chan; for ( i_num = 0; i_num < ( *ppParamSumDiff )->num_iterations[i_chan][sym_hrir]; i_num++ ) { for ( i_tap = 0; i_tap < pParamIn->pIndex_frequency_max[i_pair][sym_hrir][i_num]; i_tap++ ) { if ( lscfg.sum_diff[i_chan] ) { ( *ppParamSumDiff )->pOut_to_bin_re[i_chan][sym_hrir][i_offset + i_tap] -= 0.5f * pParamIn->pOut_to_bin_re[i_pair][sym_hrir][i_offset_in + i_tap]; ( *ppParamSumDiff )->pOut_to_bin_im[i_chan][sym_hrir][i_offset + i_tap] -= 0.5f * pParamIn->pOut_to_bin_im[i_pair][sym_hrir][i_offset_in + i_tap]; ( *ppParamSumDiff )->pOut_to_bin_re[i_chan][sym_hrir][i_offset + i_tap] = 0.5f * pParamIn->pOut_to_bin_re[i_index][sym_hrir][i_offset_in + i_tap] - ( *ppParamSumDiff )->pOut_to_bin_re[i_chan][sym_hrir][i_offset + i_tap]; ( *ppParamSumDiff )->pOut_to_bin_im[i_chan][sym_hrir][i_offset + i_tap] = 0.5f * pParamIn->pOut_to_bin_im[i_pair][sym_hrir][i_offset_in + i_tap] - ( *ppParamSumDiff )->pOut_to_bin_im[i_chan][sym_hrir][i_offset + i_tap]; } else { ( *ppParamSumDiff )->pOut_to_bin_re[i_chan][sym_hrir][i_offset + i_tap] += 0.5f * pParamIn->pOut_to_bin_re[i_pair][sym_hrir][i_offset_in + i_tap]; ( *ppParamSumDiff )->pOut_to_bin_im[i_chan][sym_hrir][i_offset + i_tap] += 0.5f * pParamIn->pOut_to_bin_im[i_pair][sym_hrir][i_offset_in + i_tap]; ( *ppParamSumDiff )->pOut_to_bin_re[i_chan][sym_hrir][i_offset + i_tap] += 0.5f * pParamIn->pOut_to_bin_re[i_index][sym_hrir][i_offset_in + i_tap]; ( *ppParamSumDiff )->pOut_to_bin_im[i_chan][sym_hrir][i_offset + i_tap] += 0.5f * pParamIn->pOut_to_bin_im[i_index][sym_hrir][i_offset_in + i_tap]; } } i_offset += ( *ppParamSumDiff )->pIndex_frequency_max[i_chan][sym_hrir][i_num]; Loading