Loading apps/renderer.c +13 −0 Original line number Diff line number Diff line Loading @@ -1888,6 +1888,9 @@ void getMetadataFromFileReader( objectMetadataBuffer->positions[objIdx].radius = ismMetadata.radius; objectMetadataBuffer->positions[objIdx].yaw = ismMetadata.yaw; objectMetadataBuffer->positions[objIdx].pitch = ismMetadata.pitch; #ifdef ISM_NON_DIEGETIC_PAN objectMetadataBuffer->positions[objIdx].non_diegetic_flag = ismMetadata.non_diegetic_flag; #endif return; } Loading Loading @@ -2206,13 +2209,22 @@ static void parseObjectPosition( { char *endptr; int16_t read_values; #ifdef ISM_NON_DIEGETIC_PAN float meta_prm[8] = { 0.0f, 0.0f, 1.0f, 0.0f, 1.0f, 0.0f, 0.0f, 0.0f }; #else float meta_prm[7] = { 0.0f, 0.0f, 1.0f, 0.0f, 1.0f, 0.0f, 0.0f }; #endif readNextMetadataChunk( line, "," ); *positionDuration = (uint16_t) strtol( line, &endptr, 10 ); readNextMetadataChunk( line, "\n" ); #ifdef ISM_NON_DIEGETIC_PAN read_values = (int16_t) sscanf( line, "%f,%f,%f,%f,%f,%f,%f,%f", &meta_prm[0], &meta_prm[1], &meta_prm[2], &meta_prm[3], &meta_prm[4], &meta_prm[5], &meta_prm[6], &meta_prm[7] ); #else read_values = (int16_t) sscanf( line, "%f,%f,%f,%f,%f,%f,%f", &meta_prm[0], &meta_prm[1], &meta_prm[2], &meta_prm[3], &meta_prm[4], &meta_prm[5], &meta_prm[6] ); #endif if ( read_values < 2 ) { Loading @@ -2225,6 +2237,7 @@ static void parseObjectPosition( position->radius = meta_prm[2]; position->yaw = meta_prm[5]; position->pitch = meta_prm[6]; position->non_diegetic_flag = meta_prm[7]; return; } Loading lib_com/common_api_types.h +3 −0 Original line number Diff line number Diff line Loading @@ -121,6 +121,9 @@ typedef struct float radius; float yaw; float pitch; #ifdef ISM_NON_DIEGETIC_PAN int16_t non_diegetic_flag; #endif } IVAS_REND_AudioObjectPosition; typedef struct _IVAS_ROOM_ACOUSTICS_CONFIG Loading lib_rend/ivas_objectRenderer.c +3 −0 Original line number Diff line number Diff line Loading @@ -656,6 +656,9 @@ ivas_error ivas_td_binaural_renderer_ext( hIsmMetaData[0]->yaw = currentPos->yaw; hIsmMetaData[0]->pitch = currentPos->pitch; hIsmMetaData[0]->radius = currentPos->radius; #ifdef ISM_NON_DIEGETIC_PAN hIsmMetaData[0]->non_diegetic_flag = currentPos->non_diegetic_flag; #endif } if ( ( error = ivas_td_binaural_renderer_unwrap( hReverb, transport_config, pTDRend->hBinRendererTd, num_src, lfe_idx, ivas_format, hIsmMetaData, headRotData->headRotEnabled, Loading lib_rend/lib_rend.c +4 −1 Original line number Diff line number Diff line Loading @@ -1018,6 +1018,9 @@ static IVAS_REND_AudioObjectPosition defaultObjectPosition( pos.radius = 1.0f; pos.yaw = 0.0f; pos.pitch = 0.0f; #ifdef ISM_NON_DIEGETIC_PAN pos.non_diegetic_flag = 0; #endif return pos; } Loading Loading
apps/renderer.c +13 −0 Original line number Diff line number Diff line Loading @@ -1888,6 +1888,9 @@ void getMetadataFromFileReader( objectMetadataBuffer->positions[objIdx].radius = ismMetadata.radius; objectMetadataBuffer->positions[objIdx].yaw = ismMetadata.yaw; objectMetadataBuffer->positions[objIdx].pitch = ismMetadata.pitch; #ifdef ISM_NON_DIEGETIC_PAN objectMetadataBuffer->positions[objIdx].non_diegetic_flag = ismMetadata.non_diegetic_flag; #endif return; } Loading Loading @@ -2206,13 +2209,22 @@ static void parseObjectPosition( { char *endptr; int16_t read_values; #ifdef ISM_NON_DIEGETIC_PAN float meta_prm[8] = { 0.0f, 0.0f, 1.0f, 0.0f, 1.0f, 0.0f, 0.0f, 0.0f }; #else float meta_prm[7] = { 0.0f, 0.0f, 1.0f, 0.0f, 1.0f, 0.0f, 0.0f }; #endif readNextMetadataChunk( line, "," ); *positionDuration = (uint16_t) strtol( line, &endptr, 10 ); readNextMetadataChunk( line, "\n" ); #ifdef ISM_NON_DIEGETIC_PAN read_values = (int16_t) sscanf( line, "%f,%f,%f,%f,%f,%f,%f,%f", &meta_prm[0], &meta_prm[1], &meta_prm[2], &meta_prm[3], &meta_prm[4], &meta_prm[5], &meta_prm[6], &meta_prm[7] ); #else read_values = (int16_t) sscanf( line, "%f,%f,%f,%f,%f,%f,%f", &meta_prm[0], &meta_prm[1], &meta_prm[2], &meta_prm[3], &meta_prm[4], &meta_prm[5], &meta_prm[6] ); #endif if ( read_values < 2 ) { Loading @@ -2225,6 +2237,7 @@ static void parseObjectPosition( position->radius = meta_prm[2]; position->yaw = meta_prm[5]; position->pitch = meta_prm[6]; position->non_diegetic_flag = meta_prm[7]; return; } Loading
lib_com/common_api_types.h +3 −0 Original line number Diff line number Diff line Loading @@ -121,6 +121,9 @@ typedef struct float radius; float yaw; float pitch; #ifdef ISM_NON_DIEGETIC_PAN int16_t non_diegetic_flag; #endif } IVAS_REND_AudioObjectPosition; typedef struct _IVAS_ROOM_ACOUSTICS_CONFIG Loading
lib_rend/ivas_objectRenderer.c +3 −0 Original line number Diff line number Diff line Loading @@ -656,6 +656,9 @@ ivas_error ivas_td_binaural_renderer_ext( hIsmMetaData[0]->yaw = currentPos->yaw; hIsmMetaData[0]->pitch = currentPos->pitch; hIsmMetaData[0]->radius = currentPos->radius; #ifdef ISM_NON_DIEGETIC_PAN hIsmMetaData[0]->non_diegetic_flag = currentPos->non_diegetic_flag; #endif } if ( ( error = ivas_td_binaural_renderer_unwrap( hReverb, transport_config, pTDRend->hBinRendererTd, num_src, lfe_idx, ivas_format, hIsmMetaData, headRotData->headRotEnabled, Loading
lib_rend/lib_rend.c +4 −1 Original line number Diff line number Diff line Loading @@ -1018,6 +1018,9 @@ static IVAS_REND_AudioObjectPosition defaultObjectPosition( pos.radius = 1.0f; pos.yaw = 0.0f; pos.pitch = 0.0f; #ifdef ISM_NON_DIEGETIC_PAN pos.non_diegetic_flag = 0; #endif return pos; } Loading