Skip to content
Commits on Source (12)
...@@ -1228,6 +1228,9 @@ int main( ...@@ -1228,6 +1228,9 @@ int main(
{ {
masaIds[i] = 0u; masaIds[i] = 0u;
} }
#ifdef NONBE_1377_REND_DIRATT_CONF
IVAS_REND_SetObjectIDs( hIvasRend );
#endif
for ( i = 0; i < args.inConfig.numMultiChannelBuses; ++i ) for ( i = 0; i < args.inConfig.numMultiChannelBuses; ++i )
{ {
......
...@@ -27,8 +27,7 @@ ...@@ -27,8 +27,7 @@
<h2>Test Coverage</h2> <h2>Test Coverage</h2>
<ul> <ul>
<li><a href="coverage_dec_rend/index.html">Coverage report of Decoder and Renderer</a></li> <li><a href="coverage_enc_dec_rend/index.html">Coverage report</a></li>
<li><a href="coverage_enc_dec_rend/index.html">Coverage report of Encoder, Decoder and Renderer</a></li>
</ul> </ul>
</body> </body>
...@@ -681,7 +681,7 @@ ivas_error ivas_td_binaural_open_ext( ...@@ -681,7 +681,7 @@ ivas_error ivas_td_binaural_open_ext(
LSSETUP_CUSTOM_STRUCT *customLsInput, LSSETUP_CUSTOM_STRUCT *customLsInput,
#ifdef NONBE_1377_REND_DIRATT_CONF #ifdef NONBE_1377_REND_DIRATT_CONF
const int32_t outFs, /* i: output sampling rate */ const int32_t outFs, /* i: output sampling rate */
const IVAS_REND_InputId id /* i: ISM ID */ const int16_t object_id /* i: Object ID */
) )
#else #else
const int32_t outFs ) const int32_t outFs )
...@@ -692,9 +692,6 @@ ivas_error ivas_td_binaural_open_ext( ...@@ -692,9 +692,6 @@ ivas_error ivas_td_binaural_open_ext(
IVAS_FORMAT ivas_format; IVAS_FORMAT ivas_format;
IVAS_OUTPUT_SETUP hTransSetup; IVAS_OUTPUT_SETUP hTransSetup;
ivas_error error; ivas_error error;
#ifdef NONBE_1377_REND_DIRATT_CONF
int16_t ism_number;
#endif
float *distAtt = NULL; float *distAtt = NULL;
float *directivity = NULL; float *directivity = NULL;
...@@ -726,8 +723,7 @@ ivas_error ivas_td_binaural_open_ext( ...@@ -726,8 +723,7 @@ ivas_error ivas_td_binaural_open_ext(
if ( NULL != hRendCfg ) if ( NULL != hRendCfg )
{ {
#ifdef NONBE_1377_REND_DIRATT_CONF #ifdef NONBE_1377_REND_DIRATT_CONF
ism_number = id & 0x00FF; /* Exctract ISM number from ID */ directivity = hRendCfg->directivity + 3 * object_id;
directivity = hRendCfg->directivity + 3 * ism_number;
#else #else
directivity = hRendCfg->directivity; directivity = hRendCfg->directivity;
#endif #endif
......
...@@ -662,8 +662,8 @@ ivas_error ivas_td_binaural_open_ext( ...@@ -662,8 +662,8 @@ ivas_error ivas_td_binaural_open_ext(
RENDER_CONFIG_DATA *hRendCfg, /* i : Renderer configuration */ RENDER_CONFIG_DATA *hRendCfg, /* i : Renderer configuration */
LSSETUP_CUSTOM_STRUCT *customLsInput, LSSETUP_CUSTOM_STRUCT *customLsInput,
#ifdef NONBE_1377_REND_DIRATT_CONF #ifdef NONBE_1377_REND_DIRATT_CONF
const int32_t outFs, /* i: output sampling rate */ const int32_t output_Fs, /* i: output sampling rate */
const IVAS_REND_InputId id /* i: ISM ID */ const int16_t object_id /* i: Object ID */
#else #else
const int32_t output_Fs const int32_t output_Fs
#endif #endif
......
...@@ -122,6 +122,9 @@ typedef struct ...@@ -122,6 +122,9 @@ typedef struct
float nonDiegeticPanGain; float nonDiegeticPanGain;
OMASA_ANA_HANDLE hOMasa; OMASA_ANA_HANDLE hOMasa;
uint16_t total_num_objects; uint16_t total_num_objects;
#ifdef NONBE_1377_REND_DIRATT_CONF
int16_t object_id;
#endif
float ism_metadata_delay_ms; float ism_metadata_delay_ms;
} input_ism; } input_ism;
...@@ -1632,7 +1635,7 @@ static ivas_error setRendInputActiveIsm( ...@@ -1632,7 +1635,7 @@ static ivas_error setRendInputActiveIsm(
if ( outConfig == IVAS_AUDIO_CONFIG_BINAURAL || outConfig == IVAS_AUDIO_CONFIG_BINAURAL_SPLIT_CODED || outConfig == IVAS_AUDIO_CONFIG_BINAURAL_SPLIT_PCM ) if ( outConfig == IVAS_AUDIO_CONFIG_BINAURAL || outConfig == IVAS_AUDIO_CONFIG_BINAURAL_SPLIT_CODED || outConfig == IVAS_AUDIO_CONFIG_BINAURAL_SPLIT_PCM )
{ {
#ifdef NONBE_1377_REND_DIRATT_CONF #ifdef NONBE_1377_REND_DIRATT_CONF
if ( ( error = ivas_td_binaural_open_ext( &inputIsm->tdRendWrapper, inConfig, hRendCfg, NULL, *rendCtx.pOutSampleRate, id ) ) != IVAS_ERR_OK ) if ( ( error = ivas_td_binaural_open_ext( &inputIsm->tdRendWrapper, inConfig, hRendCfg, NULL, *rendCtx.pOutSampleRate, inputIsm->object_id ) ) != IVAS_ERR_OK )
#else #else
if ( ( error = ivas_td_binaural_open_ext( &inputIsm->tdRendWrapper, inConfig, hRendCfg, NULL, *rendCtx.pOutSampleRate ) ) != IVAS_ERR_OK ) if ( ( error = ivas_td_binaural_open_ext( &inputIsm->tdRendWrapper, inConfig, hRendCfg, NULL, *rendCtx.pOutSampleRate ) ) != IVAS_ERR_OK )
#endif #endif
...@@ -1644,7 +1647,7 @@ static ivas_error setRendInputActiveIsm( ...@@ -1644,7 +1647,7 @@ static ivas_error setRendInputActiveIsm(
for ( i = 0; i < MAX_HEAD_ROT_POSES - 1; ++i ) for ( i = 0; i < MAX_HEAD_ROT_POSES - 1; ++i )
{ {
#ifdef NONBE_1377_REND_DIRATT_CONF #ifdef NONBE_1377_REND_DIRATT_CONF
if ( ( error = ivas_td_binaural_open_ext( &inputIsm->splitTdRendWrappers[i], inConfig, hRendCfg, NULL, *inputIsm->base.ctx.pOutSampleRate, id ) ) != IVAS_ERR_OK ) if ( ( error = ivas_td_binaural_open_ext( &inputIsm->splitTdRendWrappers[i], inConfig, hRendCfg, NULL, *inputIsm->base.ctx.pOutSampleRate, inputIsm->object_id ) ) != IVAS_ERR_OK )
#else #else
if ( ( error = ivas_td_binaural_open_ext( &inputIsm->splitTdRendWrappers[i], inConfig, hRendCfg, NULL, *inputIsm->base.ctx.pOutSampleRate ) ) != IVAS_ERR_OK ) if ( ( error = ivas_td_binaural_open_ext( &inputIsm->splitTdRendWrappers[i], inConfig, hRendCfg, NULL, *inputIsm->base.ctx.pOutSampleRate ) ) != IVAS_ERR_OK )
#endif #endif
...@@ -1666,7 +1669,7 @@ static ivas_error setRendInputActiveIsm( ...@@ -1666,7 +1669,7 @@ static ivas_error setRendInputActiveIsm(
else else
{ {
#ifdef NONBE_1377_REND_DIRATT_CONF #ifdef NONBE_1377_REND_DIRATT_CONF
if ( ( error = ivas_td_binaural_open_ext( &inputIsm->tdRendWrapper, inConfig, hRendCfg, NULL, *rendCtx.pOutSampleRate, id ) ) != IVAS_ERR_OK ) if ( ( error = ivas_td_binaural_open_ext( &inputIsm->tdRendWrapper, inConfig, hRendCfg, NULL, *rendCtx.pOutSampleRate, inputIsm->object_id ) ) != IVAS_ERR_OK )
#else #else
if ( ( error = ivas_td_binaural_open_ext( &inputIsm->tdRendWrapper, inConfig, hRendCfg, NULL, *rendCtx.pOutSampleRate ) ) != IVAS_ERR_OK ) if ( ( error = ivas_td_binaural_open_ext( &inputIsm->tdRendWrapper, inConfig, hRendCfg, NULL, *rendCtx.pOutSampleRate ) ) != IVAS_ERR_OK )
#endif #endif
...@@ -3982,6 +3985,34 @@ ivas_error IVAS_REND_ConfigureCustomInputLoudspeakerLayout( ...@@ -3982,6 +3985,34 @@ ivas_error IVAS_REND_ConfigureCustomInputLoudspeakerLayout(
return IVAS_ERR_OK; return IVAS_ERR_OK;
} }
#ifdef NONBE_1377_REND_DIRATT_CONF
/*-------------------------------------------------------------------*
* IVAS_REND_SetObjectIDs()
*
*
*-------------------------------------------------------------------*/
ivas_error IVAS_REND_SetObjectIDs(
IVAS_REND_HANDLE hIvasRend /* i/o: Renderer handle */
)
{
int16_t i;
/* Validate function arguments */
if ( hIvasRend == NULL )
{
return IVAS_ERR_UNEXPECTED_NULL_POINTER;
}
for ( i = 0; i < RENDERER_MAX_ISM_INPUTS; i++ )
{
hIvasRend->inputsIsm[i].object_id = i;
}
return IVAS_ERR_OK;
}
#endif
/*-------------------------------------------------------------------* /*-------------------------------------------------------------------*
* IVAS_REND_SetInputGain() * IVAS_REND_SetInputGain()
......
...@@ -152,6 +152,12 @@ ivas_error IVAS_REND_ConfigureCustomInputLoudspeakerLayout( ...@@ -152,6 +152,12 @@ ivas_error IVAS_REND_ConfigureCustomInputLoudspeakerLayout(
const IVAS_CUSTOM_LS_DATA layout /* i : custom loudspeaker layout for input */ const IVAS_CUSTOM_LS_DATA layout /* i : custom loudspeaker layout for input */
); );
#ifdef NONBE_1377_REND_DIRATT_CONF
ivas_error IVAS_REND_SetObjectIDs(
IVAS_REND_HANDLE hIvasRend /* i/o: Renderer handle */
);
#endif
ivas_error IVAS_REND_SetInputGain( ivas_error IVAS_REND_SetInputGain(
IVAS_REND_HANDLE hIvasRend, /* i/o: Renderer handle */ IVAS_REND_HANDLE hIvasRend, /* i/o: Renderer handle */
const IVAS_REND_InputId inputId, /* i : ID of the input */ const IVAS_REND_InputId inputId, /* i : ID of the input */
......