Loading lib_com/ivas_prot.h +1 −1 Original line number Diff line number Diff line Loading @@ -3977,7 +3977,7 @@ void ivas_get_spar_md_from_dirac( ivas_spar_md_com_cfg *hSpar_md_cfg, const int16_t start_band, const int16_t end_band, const int16_t order, const int16_t sba_order, const int16_t dtx_vad, float Wscale_d[IVAS_MAX_NUM_BANDS] ); Loading lib_com/ivas_spar_com.c +43 −43 Original line number Diff line number Diff line Loading @@ -1645,11 +1645,11 @@ void ivas_get_spar_md_from_dirac( ivas_spar_md_com_cfg *hSpar_md_cfg, const int16_t start_band, const int16_t end_band, const int16_t order, const int16_t sba_order, const int16_t dtx_vad, float Wscale_d[IVAS_MAX_NUM_BANDS] ) { int16_t nchan, band, i, j; int16_t nchan_md, band, i, j; int16_t block, ch; float response_avg[MAX_OUTPUT_CHANNELS]; float response[MAX_PARAM_SPATIAL_SUBFRAMES][MAX_OUTPUT_CHANNELS]; Loading @@ -1661,15 +1661,15 @@ void ivas_get_spar_md_from_dirac( float **ppMixer_mat[IVAS_MAX_FB_MIXER_OUT_CH]; float *pMixer_mat[IVAS_MAX_FB_MIXER_OUT_CH][IVAS_MAX_SPAR_FB_MIXER_IN_CH]; float en_ratio_fac, diff_norm_order1, diff_norm_order2, diff_norm_order3; int16_t ndm, foa_ch, hoa2_ch; int16_t ndm, nchan_foa, nchan_md_hoa2; float P_dir_fact[IVAS_SPAR_MAX_CH - 1]; const int16_t *remix_order; remix_order = remix_order_set[hSpar_md_cfg->remix_unmix_order]; nchan = 2 * order + 2; hoa2_ch = 6; foa_ch = FOA_CHANNELS; nchan_md = ivas_sba_get_nchan_metadata( sba_order ); nchan_md_hoa2 = ivas_sba_get_nchan_metadata( 2 ); nchan_foa = FOA_CHANNELS; diff_norm_order1 = 3.0f; diff_norm_order2 = 5.0f; diff_norm_order3 = 7.0f; Loading @@ -1689,39 +1689,39 @@ void ivas_get_spar_md_from_dirac( int16_t idx; ndm = hSpar_md_cfg->num_dmx_chans_per_band[start_band - 1]; P_norm[0] = 0.0f; for ( i = 0; i < max( 0, foa_ch - ndm ); i++ ) for ( i = 0; i < max( 0, nchan_foa - ndm ); i++ ) { P_norm[0] += hSpar_md->band_coeffs[start_band - 1].P_re[i] * hSpar_md->band_coeffs[start_band - 1].P_re[i]; } P_norm[0] *= diff_norm_order1 / min( diff_norm_order1, max( 0, foa_ch - ndm ) ); P_norm[0] *= diff_norm_order1 / min( diff_norm_order1, max( 0, nchan_foa - ndm ) ); P_norm[1] = 0.0f; for ( ; i < max( 0, min( nchan, hoa2_ch ) - ndm ); i++ ) for ( ; i < max( 0, min( nchan_md, nchan_md_hoa2 ) - ndm ); i++ ) { P_norm[1] += hSpar_md->band_coeffs[start_band - 1].P_re[i] * hSpar_md->band_coeffs[start_band - 1].P_re[i]; } P_norm[1] *= diff_norm_order2 / min( diff_norm_order2, max( 0, min( nchan, hoa2_ch ) - ndm ) ); P_norm[1] *= diff_norm_order2 / min( diff_norm_order2, max( 0, min( nchan_md, nchan_md_hoa2 ) - ndm ) ); P_norm[2] = 0.0f; for ( ; i < nchan - ndm; i++ ) for ( ; i < nchan_md - ndm; i++ ) { P_norm[2] += hSpar_md->band_coeffs[start_band - 1].P_re[i] * hSpar_md->band_coeffs[start_band - 1].P_re[i]; } P_norm[2] *= diff_norm_order3 / min( diff_norm_order3, max( 0, nchan - ndm ) ); P_norm[2] *= diff_norm_order3 / min( diff_norm_order3, max( 0, nchan_md - ndm ) ); for ( i = 0; i < max( 0, foa_ch - ndm ); i++ ) for ( i = 0; i < max( 0, nchan_foa - ndm ); i++ ) { idx = remix_order[i + ndm] - ndm; P_dir_fact[idx] = hSpar_md->band_coeffs[start_band - 1].P_re[i] * hSpar_md->band_coeffs[start_band - 1].P_re[i]; P_dir_fact[idx] = P_dir_fact[idx] / max( IVAS_FLT_EPS, P_norm[0] ); } for ( ; i < max( 0, min( nchan, hoa2_ch ) - ndm ); i++ ) for ( ; i < max( 0, min( nchan_md, nchan_md_hoa2 ) - ndm ); i++ ) { idx = remix_order[i + ndm] - ndm; P_dir_fact[idx] = hSpar_md->band_coeffs[start_band - 1].P_re[i] * hSpar_md->band_coeffs[start_band - 1].P_re[i]; P_dir_fact[idx] = P_dir_fact[idx] / max( IVAS_FLT_EPS, P_norm[1] ); } for ( ; i < nchan - ndm; i++ ) for ( ; i < nchan_md - ndm; i++ ) { idx = remix_order[i + ndm] - ndm; P_dir_fact[idx] = hSpar_md->band_coeffs[start_band - 1].P_re[i] * hSpar_md->band_coeffs[start_band - 1].P_re[i]; Loading @@ -1743,24 +1743,24 @@ void ivas_get_spar_md_from_dirac( if ( n_ts > 1 ) { ivas_dirac_dec_get_response( (int16_t) azi_dirac[band][i_ts], (int16_t) ele_dirac[band][i_ts], response_avg, order ); ivas_dirac_dec_get_response( (int16_t) azi_dirac[band][i_ts], (int16_t) ele_dirac[band][i_ts], response_avg, sba_order ); } else { for ( block = 0; block < MAX_PARAM_SPATIAL_SUBFRAMES; block++ ) { ivas_dirac_dec_get_response( (int16_t) azi_dirac[band][block], (int16_t) ele_dirac[band][block], &( response[block][0] ), order ); ivas_dirac_dec_get_response( (int16_t) azi_dirac[band][block], (int16_t) ele_dirac[band][block], &( response[block][0] ), sba_order ); } /* average responses in all subframes*/ { float norm; int16_t num_ch_order, hoa2_ch_order; int16_t nchan_internal, nchan_hoa2; num_ch_order = ivas_sba_get_nchan( order, 0 ); hoa2_ch_order = 9; nchan_internal = ivas_sba_get_nchan( sba_order, 0 ); nchan_hoa2 = ivas_sba_get_nchan( 2, 0 ); for ( ch = 0; ch < num_ch_order; ch++ ) for ( ch = 0; ch < nchan_internal; ch++ ) { for ( block = 0; block < MAX_PARAM_SPATIAL_SUBFRAMES; block++ ) { Loading @@ -1771,51 +1771,51 @@ void ivas_get_spar_md_from_dirac( /*normalize 1st order*/ norm = 0.0f; for ( ch = 1; ch < foa_ch; ch++ ) for ( ch = 1; ch < nchan_foa; ch++ ) { norm += response_avg[ch] * response_avg[ch]; } norm = max( EPSILON, sqrtf( norm ) ); for ( ch = 1; ch < foa_ch; ch++ ) for ( ch = 1; ch < nchan_foa; ch++ ) { response_avg[ch] /= norm; } /*normalize 2nd order*/ norm = 0.0f; for ( ch = foa_ch; ch < min( hoa2_ch_order, num_ch_order ); ch++ ) for ( ch = nchan_foa; ch < min( nchan_hoa2, nchan_internal ); ch++ ) { norm += response_avg[ch] * response_avg[ch]; } norm = max( EPSILON, sqrtf( norm ) ); for ( ch = foa_ch; ch < min( hoa2_ch_order, num_ch_order ); ch++ ) for ( ch = nchan_foa; ch < min( nchan_hoa2, nchan_internal ); ch++ ) { response_avg[ch] /= norm; } /*normalize 3rd order*/ norm = 0.0f; for ( ch = hoa2_ch_order; ch < num_ch_order; ch++ ) for ( ch = nchan_hoa2; ch < nchan_internal; ch++ ) { norm += response_avg[ch] * response_avg[ch]; } norm = max( EPSILON, sqrtf( norm ) ); for ( ch = hoa2_ch_order; ch < num_ch_order; ch++ ) for ( ch = nchan_hoa2; ch < nchan_internal; ch++ ) { response_avg[ch] /= norm; } } } for ( i = FOA_CHANNELS + 1; i < nchan; i++ ) for ( i = FOA_CHANNELS + 1; i < nchan_md; i++ ) { response_avg[i] = response_avg[HOA_keep_ind[i]]; } en_ratio_fac = ( 1.0f - diffuseness[band] ); for ( i = 0; i < nchan; i++ ) for ( i = 0; i < nchan_md; i++ ) { for ( j = 0; j < nchan; j++ ) for ( j = 0; j < nchan_md; j++ ) { if ( i == j ) { Loading @@ -1835,11 +1835,11 @@ void ivas_get_spar_md_from_dirac( } else { if ( i < foa_ch ) if ( i < nchan_foa ) { cov_real_dirac[i][j][band] += ( 1.0f - ( en_ratio_fac * en_ratio_fac ) ) / diff_norm_order1; } else if ( i < hoa2_ch ) else if ( i < nchan_md_hoa2 ) { cov_real_dirac[i][j][band] += ( 1.0f - ( en_ratio_fac * en_ratio_fac ) ) / diff_norm_order2; } Loading @@ -1851,11 +1851,11 @@ void ivas_get_spar_md_from_dirac( } else { if ( i < foa_ch ) if ( i < nchan_foa ) { cov_real_dirac[i][j][band] += ( 1.0f - en_ratio_fac ) / diff_norm_order1; } else if ( i < hoa2_ch ) else if ( i < nchan_md_hoa2 ) { cov_real_dirac[i][j][band] += ( 1.0f - en_ratio_fac ) / diff_norm_order2; } Loading @@ -1874,9 +1874,9 @@ void ivas_get_spar_md_from_dirac( } } for ( i = 0; i < nchan; i++ ) for ( i = 0; i < nchan_md; i++ ) { for ( j = 0; j < nchan; j++ ) for ( j = 0; j < nchan_md; j++ ) { pCov_real[i][j] = cov_real_dirac[i][j]; } Loading @@ -1892,9 +1892,9 @@ void ivas_get_spar_md_from_dirac( fid = fopen( "cov_real_dirac.txt", "wt" ); } for ( i = 0; i < nchan; i++ ) for ( i = 0; i < nchan_md; i++ ) { for ( j = 0; j < nchan; j++ ) for ( j = 0; j < nchan_md; j++ ) { for ( k = start_band; k < end_band; k++ ) { Loading @@ -1907,7 +1907,7 @@ void ivas_get_spar_md_from_dirac( #endif ivas_compute_spar_params( pCov_real, dm_fv_re, i_ts, ppMixer_mat, start_band, end_band, dtx_vad, nchan, 1, hSpar_md_cfg->active_w, hSpar_md_cfg, hSpar_md, Wscale, 1 ); nchan_md, 1, hSpar_md_cfg->active_w, hSpar_md_cfg, hSpar_md, Wscale, 1 ); if ( mixer_mat != NULL ) { Loading @@ -1917,15 +1917,15 @@ void ivas_get_spar_md_from_dirac( for ( i = 0; i < ndm; i++ ) { for ( j = 0; j < nchan; j++ ) for ( j = 0; j < nchan_md; j++ ) { mixer_mat[i][j][band + i_ts * IVAS_MAX_NUM_BANDS] = ppMixer_mat[i][j][band]; } } for ( i = ndm; i < nchan; i++ ) for ( i = ndm; i < nchan_md; i++ ) { for ( j = 0; j < nchan; j++ ) for ( j = 0; j < nchan_md; j++ ) { mixer_mat[i][j][band + i_ts * IVAS_MAX_NUM_BANDS] = 0.0f; } Loading @@ -1933,7 +1933,7 @@ void ivas_get_spar_md_from_dirac( if ( ( ndm == 1 ) && ( Wscale_d != NULL ) ) { for ( j = 0; j < nchan; j++ ) for ( j = 0; j < nchan_md; j++ ) { mixer_mat[0][j][band + i_ts * IVAS_MAX_NUM_BANDS] *= Wscale_d[band]; } Loading lib_dec/ivas_sba_dec.c +2 −2 Original line number Diff line number Diff line Loading @@ -77,7 +77,7 @@ void ivas_mc2sba( assert( ( sba_order <= 3 ) && "Only order up to 3 is supported!" ); /* Init*/ sba_num_chans = ( sba_order + 1 ) * ( sba_order + 1 ); sba_num_chans = ivas_sba_get_nchan( sba_order, 0 ); for ( j = 0; j < sba_num_chans; j++ ) { set_zero( buffer_tmp[j], output_frame ); Loading Loading @@ -297,7 +297,7 @@ void ivas_ism2sba( assert( hIsmRendererData != NULL && "hIsmRendererData not allocated!" ); /* Init*/ sba_num_chans = ( sba_order + 1 ) * ( sba_order + 1 ); sba_num_chans = ivas_sba_get_nchan( sba_order, 0 ); for ( j = 0; j < sba_num_chans; j++ ) { set_zero( buffer_tmp[j], output_frame ); Loading lib_dec/ivas_sba_rendering.c +3 −3 Original line number Diff line number Diff line Loading @@ -208,12 +208,12 @@ void ivas_sba_upmixer_renderer( const int16_t output_frame /* i : output frame length */ ) { int16_t i, nchan_internal; int16_t i, nchan; float temp; wmops_sub_start( "ivas_sba_upmixer_renderer" ); nchan_internal = ivas_sba_get_nchan_metadata( st_ivas->sba_analysis_order ); nchan = ivas_sba_get_nchan_metadata( st_ivas->sba_analysis_order ); if ( st_ivas->nchan_transport >= 3 ) { Loading @@ -227,7 +227,7 @@ void ivas_sba_upmixer_renderer( } /* Upmixer + Renderer */ ivas_spar_dec_upmixer( st_ivas, output, nchan_internal, output_frame ); ivas_spar_dec_upmixer( st_ivas, output, nchan, output_frame ); if ( st_ivas->renderer_type == RENDERER_SBA_LINEAR_DEC ) { Loading lib_dec/ivas_spar_md_dec.c +104 −111 File changed.Preview size limit exceeded, changes collapsed. Show changes Loading
lib_com/ivas_prot.h +1 −1 Original line number Diff line number Diff line Loading @@ -3977,7 +3977,7 @@ void ivas_get_spar_md_from_dirac( ivas_spar_md_com_cfg *hSpar_md_cfg, const int16_t start_band, const int16_t end_band, const int16_t order, const int16_t sba_order, const int16_t dtx_vad, float Wscale_d[IVAS_MAX_NUM_BANDS] ); Loading
lib_com/ivas_spar_com.c +43 −43 Original line number Diff line number Diff line Loading @@ -1645,11 +1645,11 @@ void ivas_get_spar_md_from_dirac( ivas_spar_md_com_cfg *hSpar_md_cfg, const int16_t start_band, const int16_t end_band, const int16_t order, const int16_t sba_order, const int16_t dtx_vad, float Wscale_d[IVAS_MAX_NUM_BANDS] ) { int16_t nchan, band, i, j; int16_t nchan_md, band, i, j; int16_t block, ch; float response_avg[MAX_OUTPUT_CHANNELS]; float response[MAX_PARAM_SPATIAL_SUBFRAMES][MAX_OUTPUT_CHANNELS]; Loading @@ -1661,15 +1661,15 @@ void ivas_get_spar_md_from_dirac( float **ppMixer_mat[IVAS_MAX_FB_MIXER_OUT_CH]; float *pMixer_mat[IVAS_MAX_FB_MIXER_OUT_CH][IVAS_MAX_SPAR_FB_MIXER_IN_CH]; float en_ratio_fac, diff_norm_order1, diff_norm_order2, diff_norm_order3; int16_t ndm, foa_ch, hoa2_ch; int16_t ndm, nchan_foa, nchan_md_hoa2; float P_dir_fact[IVAS_SPAR_MAX_CH - 1]; const int16_t *remix_order; remix_order = remix_order_set[hSpar_md_cfg->remix_unmix_order]; nchan = 2 * order + 2; hoa2_ch = 6; foa_ch = FOA_CHANNELS; nchan_md = ivas_sba_get_nchan_metadata( sba_order ); nchan_md_hoa2 = ivas_sba_get_nchan_metadata( 2 ); nchan_foa = FOA_CHANNELS; diff_norm_order1 = 3.0f; diff_norm_order2 = 5.0f; diff_norm_order3 = 7.0f; Loading @@ -1689,39 +1689,39 @@ void ivas_get_spar_md_from_dirac( int16_t idx; ndm = hSpar_md_cfg->num_dmx_chans_per_band[start_band - 1]; P_norm[0] = 0.0f; for ( i = 0; i < max( 0, foa_ch - ndm ); i++ ) for ( i = 0; i < max( 0, nchan_foa - ndm ); i++ ) { P_norm[0] += hSpar_md->band_coeffs[start_band - 1].P_re[i] * hSpar_md->band_coeffs[start_band - 1].P_re[i]; } P_norm[0] *= diff_norm_order1 / min( diff_norm_order1, max( 0, foa_ch - ndm ) ); P_norm[0] *= diff_norm_order1 / min( diff_norm_order1, max( 0, nchan_foa - ndm ) ); P_norm[1] = 0.0f; for ( ; i < max( 0, min( nchan, hoa2_ch ) - ndm ); i++ ) for ( ; i < max( 0, min( nchan_md, nchan_md_hoa2 ) - ndm ); i++ ) { P_norm[1] += hSpar_md->band_coeffs[start_band - 1].P_re[i] * hSpar_md->band_coeffs[start_band - 1].P_re[i]; } P_norm[1] *= diff_norm_order2 / min( diff_norm_order2, max( 0, min( nchan, hoa2_ch ) - ndm ) ); P_norm[1] *= diff_norm_order2 / min( diff_norm_order2, max( 0, min( nchan_md, nchan_md_hoa2 ) - ndm ) ); P_norm[2] = 0.0f; for ( ; i < nchan - ndm; i++ ) for ( ; i < nchan_md - ndm; i++ ) { P_norm[2] += hSpar_md->band_coeffs[start_band - 1].P_re[i] * hSpar_md->band_coeffs[start_band - 1].P_re[i]; } P_norm[2] *= diff_norm_order3 / min( diff_norm_order3, max( 0, nchan - ndm ) ); P_norm[2] *= diff_norm_order3 / min( diff_norm_order3, max( 0, nchan_md - ndm ) ); for ( i = 0; i < max( 0, foa_ch - ndm ); i++ ) for ( i = 0; i < max( 0, nchan_foa - ndm ); i++ ) { idx = remix_order[i + ndm] - ndm; P_dir_fact[idx] = hSpar_md->band_coeffs[start_band - 1].P_re[i] * hSpar_md->band_coeffs[start_band - 1].P_re[i]; P_dir_fact[idx] = P_dir_fact[idx] / max( IVAS_FLT_EPS, P_norm[0] ); } for ( ; i < max( 0, min( nchan, hoa2_ch ) - ndm ); i++ ) for ( ; i < max( 0, min( nchan_md, nchan_md_hoa2 ) - ndm ); i++ ) { idx = remix_order[i + ndm] - ndm; P_dir_fact[idx] = hSpar_md->band_coeffs[start_band - 1].P_re[i] * hSpar_md->band_coeffs[start_band - 1].P_re[i]; P_dir_fact[idx] = P_dir_fact[idx] / max( IVAS_FLT_EPS, P_norm[1] ); } for ( ; i < nchan - ndm; i++ ) for ( ; i < nchan_md - ndm; i++ ) { idx = remix_order[i + ndm] - ndm; P_dir_fact[idx] = hSpar_md->band_coeffs[start_band - 1].P_re[i] * hSpar_md->band_coeffs[start_band - 1].P_re[i]; Loading @@ -1743,24 +1743,24 @@ void ivas_get_spar_md_from_dirac( if ( n_ts > 1 ) { ivas_dirac_dec_get_response( (int16_t) azi_dirac[band][i_ts], (int16_t) ele_dirac[band][i_ts], response_avg, order ); ivas_dirac_dec_get_response( (int16_t) azi_dirac[band][i_ts], (int16_t) ele_dirac[band][i_ts], response_avg, sba_order ); } else { for ( block = 0; block < MAX_PARAM_SPATIAL_SUBFRAMES; block++ ) { ivas_dirac_dec_get_response( (int16_t) azi_dirac[band][block], (int16_t) ele_dirac[band][block], &( response[block][0] ), order ); ivas_dirac_dec_get_response( (int16_t) azi_dirac[band][block], (int16_t) ele_dirac[band][block], &( response[block][0] ), sba_order ); } /* average responses in all subframes*/ { float norm; int16_t num_ch_order, hoa2_ch_order; int16_t nchan_internal, nchan_hoa2; num_ch_order = ivas_sba_get_nchan( order, 0 ); hoa2_ch_order = 9; nchan_internal = ivas_sba_get_nchan( sba_order, 0 ); nchan_hoa2 = ivas_sba_get_nchan( 2, 0 ); for ( ch = 0; ch < num_ch_order; ch++ ) for ( ch = 0; ch < nchan_internal; ch++ ) { for ( block = 0; block < MAX_PARAM_SPATIAL_SUBFRAMES; block++ ) { Loading @@ -1771,51 +1771,51 @@ void ivas_get_spar_md_from_dirac( /*normalize 1st order*/ norm = 0.0f; for ( ch = 1; ch < foa_ch; ch++ ) for ( ch = 1; ch < nchan_foa; ch++ ) { norm += response_avg[ch] * response_avg[ch]; } norm = max( EPSILON, sqrtf( norm ) ); for ( ch = 1; ch < foa_ch; ch++ ) for ( ch = 1; ch < nchan_foa; ch++ ) { response_avg[ch] /= norm; } /*normalize 2nd order*/ norm = 0.0f; for ( ch = foa_ch; ch < min( hoa2_ch_order, num_ch_order ); ch++ ) for ( ch = nchan_foa; ch < min( nchan_hoa2, nchan_internal ); ch++ ) { norm += response_avg[ch] * response_avg[ch]; } norm = max( EPSILON, sqrtf( norm ) ); for ( ch = foa_ch; ch < min( hoa2_ch_order, num_ch_order ); ch++ ) for ( ch = nchan_foa; ch < min( nchan_hoa2, nchan_internal ); ch++ ) { response_avg[ch] /= norm; } /*normalize 3rd order*/ norm = 0.0f; for ( ch = hoa2_ch_order; ch < num_ch_order; ch++ ) for ( ch = nchan_hoa2; ch < nchan_internal; ch++ ) { norm += response_avg[ch] * response_avg[ch]; } norm = max( EPSILON, sqrtf( norm ) ); for ( ch = hoa2_ch_order; ch < num_ch_order; ch++ ) for ( ch = nchan_hoa2; ch < nchan_internal; ch++ ) { response_avg[ch] /= norm; } } } for ( i = FOA_CHANNELS + 1; i < nchan; i++ ) for ( i = FOA_CHANNELS + 1; i < nchan_md; i++ ) { response_avg[i] = response_avg[HOA_keep_ind[i]]; } en_ratio_fac = ( 1.0f - diffuseness[band] ); for ( i = 0; i < nchan; i++ ) for ( i = 0; i < nchan_md; i++ ) { for ( j = 0; j < nchan; j++ ) for ( j = 0; j < nchan_md; j++ ) { if ( i == j ) { Loading @@ -1835,11 +1835,11 @@ void ivas_get_spar_md_from_dirac( } else { if ( i < foa_ch ) if ( i < nchan_foa ) { cov_real_dirac[i][j][band] += ( 1.0f - ( en_ratio_fac * en_ratio_fac ) ) / diff_norm_order1; } else if ( i < hoa2_ch ) else if ( i < nchan_md_hoa2 ) { cov_real_dirac[i][j][band] += ( 1.0f - ( en_ratio_fac * en_ratio_fac ) ) / diff_norm_order2; } Loading @@ -1851,11 +1851,11 @@ void ivas_get_spar_md_from_dirac( } else { if ( i < foa_ch ) if ( i < nchan_foa ) { cov_real_dirac[i][j][band] += ( 1.0f - en_ratio_fac ) / diff_norm_order1; } else if ( i < hoa2_ch ) else if ( i < nchan_md_hoa2 ) { cov_real_dirac[i][j][band] += ( 1.0f - en_ratio_fac ) / diff_norm_order2; } Loading @@ -1874,9 +1874,9 @@ void ivas_get_spar_md_from_dirac( } } for ( i = 0; i < nchan; i++ ) for ( i = 0; i < nchan_md; i++ ) { for ( j = 0; j < nchan; j++ ) for ( j = 0; j < nchan_md; j++ ) { pCov_real[i][j] = cov_real_dirac[i][j]; } Loading @@ -1892,9 +1892,9 @@ void ivas_get_spar_md_from_dirac( fid = fopen( "cov_real_dirac.txt", "wt" ); } for ( i = 0; i < nchan; i++ ) for ( i = 0; i < nchan_md; i++ ) { for ( j = 0; j < nchan; j++ ) for ( j = 0; j < nchan_md; j++ ) { for ( k = start_band; k < end_band; k++ ) { Loading @@ -1907,7 +1907,7 @@ void ivas_get_spar_md_from_dirac( #endif ivas_compute_spar_params( pCov_real, dm_fv_re, i_ts, ppMixer_mat, start_band, end_band, dtx_vad, nchan, 1, hSpar_md_cfg->active_w, hSpar_md_cfg, hSpar_md, Wscale, 1 ); nchan_md, 1, hSpar_md_cfg->active_w, hSpar_md_cfg, hSpar_md, Wscale, 1 ); if ( mixer_mat != NULL ) { Loading @@ -1917,15 +1917,15 @@ void ivas_get_spar_md_from_dirac( for ( i = 0; i < ndm; i++ ) { for ( j = 0; j < nchan; j++ ) for ( j = 0; j < nchan_md; j++ ) { mixer_mat[i][j][band + i_ts * IVAS_MAX_NUM_BANDS] = ppMixer_mat[i][j][band]; } } for ( i = ndm; i < nchan; i++ ) for ( i = ndm; i < nchan_md; i++ ) { for ( j = 0; j < nchan; j++ ) for ( j = 0; j < nchan_md; j++ ) { mixer_mat[i][j][band + i_ts * IVAS_MAX_NUM_BANDS] = 0.0f; } Loading @@ -1933,7 +1933,7 @@ void ivas_get_spar_md_from_dirac( if ( ( ndm == 1 ) && ( Wscale_d != NULL ) ) { for ( j = 0; j < nchan; j++ ) for ( j = 0; j < nchan_md; j++ ) { mixer_mat[0][j][band + i_ts * IVAS_MAX_NUM_BANDS] *= Wscale_d[band]; } Loading
lib_dec/ivas_sba_dec.c +2 −2 Original line number Diff line number Diff line Loading @@ -77,7 +77,7 @@ void ivas_mc2sba( assert( ( sba_order <= 3 ) && "Only order up to 3 is supported!" ); /* Init*/ sba_num_chans = ( sba_order + 1 ) * ( sba_order + 1 ); sba_num_chans = ivas_sba_get_nchan( sba_order, 0 ); for ( j = 0; j < sba_num_chans; j++ ) { set_zero( buffer_tmp[j], output_frame ); Loading Loading @@ -297,7 +297,7 @@ void ivas_ism2sba( assert( hIsmRendererData != NULL && "hIsmRendererData not allocated!" ); /* Init*/ sba_num_chans = ( sba_order + 1 ) * ( sba_order + 1 ); sba_num_chans = ivas_sba_get_nchan( sba_order, 0 ); for ( j = 0; j < sba_num_chans; j++ ) { set_zero( buffer_tmp[j], output_frame ); Loading
lib_dec/ivas_sba_rendering.c +3 −3 Original line number Diff line number Diff line Loading @@ -208,12 +208,12 @@ void ivas_sba_upmixer_renderer( const int16_t output_frame /* i : output frame length */ ) { int16_t i, nchan_internal; int16_t i, nchan; float temp; wmops_sub_start( "ivas_sba_upmixer_renderer" ); nchan_internal = ivas_sba_get_nchan_metadata( st_ivas->sba_analysis_order ); nchan = ivas_sba_get_nchan_metadata( st_ivas->sba_analysis_order ); if ( st_ivas->nchan_transport >= 3 ) { Loading @@ -227,7 +227,7 @@ void ivas_sba_upmixer_renderer( } /* Upmixer + Renderer */ ivas_spar_dec_upmixer( st_ivas, output, nchan_internal, output_frame ); ivas_spar_dec_upmixer( st_ivas, output, nchan, output_frame ); if ( st_ivas->renderer_type == RENDERER_SBA_LINEAR_DEC ) { Loading
lib_dec/ivas_spar_md_dec.c +104 −111 File changed.Preview size limit exceeded, changes collapsed. Show changes