diff --git a/lib_rend/ivas_dirac_output_synthesis_dec.c b/lib_rend/ivas_dirac_output_synthesis_dec.c index ff81b05264a866a0def00f64ec78270122f85109..0a662c38a861267ad95abe57cfe790c47b8ea1c1 100644 --- a/lib_rend/ivas_dirac_output_synthesis_dec.c +++ b/lib_rend/ivas_dirac_output_synthesis_dec.c @@ -1889,7 +1889,6 @@ void ivas_dirac_dec_compute_directional_responses( } #ifdef MASA_AND_OBJECTS - // Todo OMASA JBM: Here we probably need to use md_idx for meta access if ( hSpatParamRendCom->numIsmDirections > 0 ) { int16_t dir; @@ -1908,25 +1907,25 @@ void ivas_dirac_dec_compute_directional_responses( } else { - ivas_dirac_dec_get_response( hMasaIsm->azimuth_ism[dir][hSpatParamRendCom->dirac_read_idx], hMasaIsm->elevation_ism[dir][hSpatParamRendCom->dirac_read_idx], direct_response_temp, hDirACRend->hOutSetup.ambisonics_order ); + ivas_dirac_dec_get_response( hMasaIsm->azimuth_ism[dir][md_idx], hMasaIsm->elevation_ism[dir][md_idx], direct_response_temp, hDirACRend->hOutSetup.ambisonics_order ); } for ( l = 0; l < num_channels_dir; l++ ) { - direct_response_ism[l] += direct_response_temp[l] * hMasaIsm->energy_ratio_ism[dir][hSpatParamRendCom->dirac_read_idx][k]; + direct_response_ism[l] += direct_response_temp[l] * hMasaIsm->energy_ratio_ism[dir][md_idx][k]; } } - masaDirect = hSpatParamRendCom->energy_ratio1[hSpatParamRendCom->dirac_read_idx][k] + EPSILON; + masaDirect = hSpatParamRendCom->energy_ratio1[md_idx][k] + EPSILON; if ( hSpatParamRendCom->numParametricDirections == 2 ) { - masaDirect += hSpatParamRendCom->energy_ratio2[hSpatParamRendCom->dirac_read_idx][k]; + masaDirect += hSpatParamRendCom->energy_ratio2[md_idx][k]; } - ismDirect = hMasaIsm->energy_ratio_ism[0][hSpatParamRendCom->dirac_read_idx][k]; + ismDirect = hMasaIsm->energy_ratio_ism[0][md_idx][k]; for ( dir = 1; dir < hSpatParamRendCom->numIsmDirections; dir++ ) { - ismDirect += hMasaIsm->energy_ratio_ism[dir][hSpatParamRendCom->dirac_read_idx][k]; + ismDirect += hMasaIsm->energy_ratio_ism[dir][md_idx][k]; } totalDirect = masaDirect + ismDirect; @@ -2006,7 +2005,6 @@ void ivas_dirac_dec_compute_directional_responses( } #ifdef MASA_AND_OBJECTS - // Todo OMASA JBM: Here we also probably need md_idx if ( hSpatParamRendCom->numIsmDirections > 0 ) { int16_t dir; @@ -2025,26 +2023,26 @@ void ivas_dirac_dec_compute_directional_responses( } else { - vbap_determine_gains( hVBAPdata, direct_response_temp, hMasaIsm->azimuth_ism[dir][hSpatParamRendCom->dirac_read_idx], hMasaIsm->elevation_ism[dir][hSpatParamRendCom->dirac_read_idx], 1 ); + vbap_determine_gains( hVBAPdata, direct_response_temp, hMasaIsm->azimuth_ism[dir][md_idx], hMasaIsm->elevation_ism[dir][md_idx], 1 ); } for ( l = 0; l < num_channels_dir; l++ ) { - direct_response_ism[l] += direct_response_temp[l] * hMasaIsm->energy_ratio_ism[dir][hSpatParamRendCom->dirac_read_idx][k]; + direct_response_ism[l] += direct_response_temp[l] * hMasaIsm->energy_ratio_ism[dir][md_idx][k]; } } normalizePanningGains( direct_response_ism, num_channels_dir ); - masaDirect = hSpatParamRendCom->energy_ratio1[hSpatParamRendCom->dirac_read_idx][k] + EPSILON; + masaDirect = hSpatParamRendCom->energy_ratio1[md_idx][k] + EPSILON; if ( hSpatParamRendCom->numParametricDirections == 2 ) { - masaDirect += hSpatParamRendCom->energy_ratio2[hSpatParamRendCom->dirac_read_idx][k]; + masaDirect += hSpatParamRendCom->energy_ratio2[md_idx][k]; } - ismDirect = hMasaIsm->energy_ratio_ism[0][hSpatParamRendCom->dirac_read_idx][k]; + ismDirect = hMasaIsm->energy_ratio_ism[0][md_idx][k]; for ( dir = 1; dir < hSpatParamRendCom->numIsmDirections; dir++ ) { - ismDirect += hMasaIsm->energy_ratio_ism[dir][hSpatParamRendCom->dirac_read_idx][k]; + ismDirect += hMasaIsm->energy_ratio_ism[dir][md_idx][k]; } totalDirect = masaDirect + ismDirect;