diff --git a/apps/renderer.c b/apps/renderer.c index fc93077a2f922cb45c0258a43fee8f106153929b..7dd06a72237d5506e88042acf57ceb412c8d69a4 100644 --- a/apps/renderer.c +++ b/apps/renderer.c @@ -100,10 +100,10 @@ typedef struct uint16_t numObjects; IsmFileReader *ismReaders[RENDERER_MAX_ISM_INPUTS]; uint32_t numPositions[RENDERER_MAX_ISM_INPUTS]; - IVAS_REND_AudioObjectPosition *positions[RENDERER_MAX_ISM_INPUTS]; /* size: [RENDERER_MAX_ISM_INPUTS][numPositions[object_index]] */ - uint16_t *positionDurations[RENDERER_MAX_ISM_INPUTS]; /* size: [RENDERER_MAX_ISM_INPUTS][numPositions[object_index]] */ - uint32_t currentPositionIdxs[RENDERER_MAX_ISM_INPUTS]; /* Index of current position as listed in the metadata file */ - uint16_t durationCounters[RENDERER_MAX_ISM_INPUTS]; /* Number of frames spent at current position */ + IVAS_ISM_METADATA *positions[RENDERER_MAX_ISM_INPUTS]; /* size: [RENDERER_MAX_ISM_INPUTS][numPositions[object_index]] */ + uint16_t *positionDurations[RENDERER_MAX_ISM_INPUTS]; /* size: [RENDERER_MAX_ISM_INPUTS][numPositions[object_index]] */ + uint32_t currentPositionIdxs[RENDERER_MAX_ISM_INPUTS]; /* Index of current position as listed in the metadata file */ + uint16_t durationCounters[RENDERER_MAX_ISM_INPUTS]; /* Number of frames spent at current position */ } IsmPositionProvider; typedef struct @@ -123,7 +123,7 @@ typedef struct typedef struct { - IVAS_REND_AudioObjectPosition positions[RENDERER_MAX_ISM_INPUTS]; + IVAS_ISM_METADATA positions[RENDERER_MAX_ISM_INPUTS]; int16_t numObjects; } ObjectPositionBuffer; @@ -437,7 +437,7 @@ static int8_t parseUint32( const char *line, uint32_t *ret ); static int8_t parseInt32( const char *line, int32_t *ret ); -static void parseObjectPosition( char *line, IVAS_REND_AudioObjectPosition *position, uint16_t *positionDuration ); +static void parseObjectPosition( char *line, IVAS_ISM_METADATA *position, uint16_t *positionDuration ); static void parseMetadata( char *metadataString, char *inDir, InputConfig *inConfig, IsmPositionProvider *positionProvider, MasaFileReader **masaReaders, LfeRoutingConfig **lfeRoutingConfigs ); @@ -3291,7 +3291,7 @@ static void parseOptionalInputValues( static void parseObjectPosition( char *line, - IVAS_REND_AudioObjectPosition *position, + IVAS_ISM_METADATA *position, uint16_t *positionDuration ) { char *endptr; @@ -3340,7 +3340,7 @@ static void parseIsm( if ( parseUint32( line, &numberOfObjectPositionsToRead ) == 0 ) { positionProvider->numPositions[idx] = numberOfObjectPositionsToRead; - positionProvider->positions[idx] = malloc( numberOfObjectPositionsToRead * sizeof( IVAS_REND_AudioObjectPosition ) ); + positionProvider->positions[idx] = malloc( numberOfObjectPositionsToRead * sizeof( IVAS_ISM_METADATA ) ); positionProvider->positionDurations[idx] = malloc( numberOfObjectPositionsToRead * sizeof( uint16_t ) ); for ( i = 0; i < numberOfObjectPositionsToRead; ++i ) diff --git a/lib_com/common_api_types.h b/lib_com/common_api_types.h index a43c0ab409c2082bc861f7f2bb179ec4105aa721..7e56c3ca326359d32ddf00c4d3f71b6ab015b90e 100644 --- a/lib_com/common_api_types.h +++ b/lib_com/common_api_types.h @@ -47,7 +47,8 @@ #define IVAS_NUM_FRAMES_PER_SEC 50 #define IVAS_MAX_FRAME_SIZE ( 48000 / IVAS_NUM_FRAMES_PER_SEC ) -#define IVAS_MAX_BITS_PER_FRAME ( 512000 / IVAS_NUM_FRAMES_PER_SEC ) +#define IVAS_MAX_BITS_PER_FRAME ( 512000 / IVAS_NUM_FRAMES_PER_SEC ) + #define IVAS_MAX_NUM_OBJECTS 4 #define IVAS_MAX_INPUT_CHANNELS 16 #define IVAS_MAX_OUTPUT_CHANNELS 16 @@ -55,14 +56,9 @@ #define IVAS_CLDFB_NO_CHANNELS_MAX 60 #define IVAS_MAX_INPUT_LFE_CHANNELS 4 - #define IVAS_MAX_PARAM_SPATIAL_SUBFRAMES 4 #define IVAS_ROOM_ABS_COEFF 6 -#ifdef SPLIT_REND_WITH_HEAD_ROT -#define IVAS_MAX_SPLIT_REND_BITRATE 768000 -#define IVAS_MAX_SPLIT_REND_BITS_BUFFER_SIZE_IN_BYTES ( ( ( (int32_t) IVAS_MAX_SPLIT_REND_BITRATE / IVAS_NUM_FRAMES_PER_SEC ) + 7 ) >> 3 ) -#endif /*----------------------------------------------------------------------------------* * Common API enum for output audio configurations @@ -100,7 +96,7 @@ typedef enum _IVAS_AUDIO_CONFIG /*----------------------------------------------------------------------------------* - * Common API structures + * Common API structures and enums *----------------------------------------------------------------------------------*/ typedef enum _IVAS_ENC_FEC_INDICATOR @@ -108,6 +104,7 @@ typedef enum _IVAS_ENC_FEC_INDICATOR IVAS_ENC_FEC_LO, IVAS_ENC_FEC_HI, IVAS_ENC_FEC_UNDEFINED = 0xffff + } IVAS_ENC_FEC_INDICATOR; typedef struct _IVAS_ENC_CHANNEL_AWARE_CONFIG @@ -115,6 +112,7 @@ typedef struct _IVAS_ENC_CHANNEL_AWARE_CONFIG int16_t channelAwareModeEnabled; IVAS_ENC_FEC_INDICATOR fec_indicator; int16_t fec_offset; + } IVAS_ENC_CHANNEL_AWARE_CONFIG; typedef struct _IVAS_ISM_METADATA @@ -127,6 +125,7 @@ typedef struct _IVAS_ISM_METADATA float yaw; float pitch; int16_t non_diegetic_flag; + } IVAS_ISM_METADATA; typedef struct @@ -135,7 +134,69 @@ typedef struct } IVAS_QUATERNION; +typedef struct +{ + float x, y, z; + +} IVAS_VECTOR3; + +typedef enum +{ + IVAS_HEAD_ORIENT_TRK_NONE, + IVAS_HEAD_ORIENT_TRK_REF, + IVAS_HEAD_ORIENT_TRK_AVG, + IVAS_HEAD_ORIENT_TRK_REF_VEC, + IVAS_HEAD_ORIENT_TRK_REF_VEC_LEV + +} IVAS_HEAD_ORIENT_TRK_T; + +typedef struct ivas_masa_metadata_frame_struct *IVAS_MASA_METADATA_HANDLE; +typedef struct ivas_masa_decoder_ext_out_meta_struct *IVAS_MASA_DECODER_EXT_OUT_META_HANDLE; + +typedef struct TDREND_HRFILT_FiltSet_struct *IVAS_DEC_HRTF_HANDLE; +typedef struct ivas_hrtfs_crend_structure *IVAS_DEC_HRTF_CREND_HANDLE; +typedef struct ivas_hrtfs_fastconv_struct *IVAS_DEC_HRTF_FASTCONV_HANDLE; +typedef struct ivas_hrtfs_parambin_struct *IVAS_DEC_HRTF_PARAMBIN_HANDLE; +typedef struct cldfb_filter_bank_struct *IVAS_CLDFB_FILTER_BANK_HANDLE; + +typedef struct ivas_LS_setup_custom *IVAS_LSSETUP_CUSTOM_HANDLE; +typedef struct ivas_LS_setup_custom IVAS_LSSETUP_CUSTOM_STRUCT; + +typedef struct _IVAS_LS_CUSTOM_LAYOUT +{ + int16_t num_spk; + float azimuth[IVAS_MAX_OUTPUT_CHANNELS]; + float elevation[IVAS_MAX_OUTPUT_CHANNELS]; + int16_t num_lfe; + int16_t lfe_idx[IVAS_MAX_OUTPUT_CHANNELS]; + +} IVAS_CUSTOM_LS_DATA; + +typedef struct _IVAS_JBM_TRACE_DATA +{ + uint32_t systemTimestamp_ms; + uint16_t extBufferedSamples; + uint16_t lastDecodedWasActive; + int32_t output_Fs; + int16_t dataUnit_flag; + uint16_t sequenceNumber; + uint32_t timeStamp; + uint32_t rcvTime; + + int16_t partial_frame; + int16_t partialCopyOffset; + +} IVAS_JBM_TRACE_DATA; + + #ifdef SPLIT_REND_WITH_HEAD_ROT +/*----------------------------------------------------------------------------------* + * Split rendering API constants, structures, and enums + *----------------------------------------------------------------------------------*/ + +#define IVAS_MAX_SPLIT_REND_BITRATE 768000 +#define IVAS_MAX_SPLIT_REND_BITS_BUFFER_SIZE_IN_BYTES ( ( ( (int32_t) IVAS_MAX_SPLIT_REND_BITRATE / IVAS_NUM_FRAMES_PER_SEC ) + 7 ) >> 3 ) + typedef enum { DEFAULT_AXIS, @@ -145,12 +206,14 @@ typedef enum YAW_PITCH, YAW_ROLL, PITCH_ROLL + } IVAS_SPLIT_REND_ROT_AXIS; typedef enum { IVAS_SPLIT_REND_POSE_CORRECTION_MODE_NONE, IVAS_SPLIT_REND_POSE_CORRECTION_MODE_CLDFB, + } IVAS_SPLIT_REND_POSE_CORRECTION_MODE; typedef enum @@ -159,6 +222,7 @@ typedef enum IVAS_SPLIT_REND_CODEC_LC3PLUS, IVAS_SPLIT_REND_CODEC_DEFAULT, /* Will use LCLD for CLDFB rendering paths and LC3plus for TD rendering paths */ IVAS_SPLIT_REND_CODEC_NONE + } IVAS_SPLIT_REND_CODEC; typedef enum @@ -168,6 +232,7 @@ typedef enum IVAS_SPLIT_REND_RENDERER_SELECTION_PARAMBIN, IVAS_SPLIT_REND_RENDERER_SELECTION_TDREND, IVAS_SPLIT_REND_RENDERER_SELECTION_DEFAULT, + } IVAS_SPLIT_REND_RENDERER_SELECTION; typedef struct ivas_split_rend_bits_t @@ -179,33 +244,32 @@ typedef struct ivas_split_rend_bits_t int16_t codec_frame_size_ms; IVAS_SPLIT_REND_CODEC codec; IVAS_SPLIT_REND_POSE_CORRECTION_MODE pose_correction; -} ivas_split_rend_bits_t, IVAS_SPLIT_REND_BITS_DATA, *IVAS_SPLIT_REND_BITS_HANDLE; -#endif -typedef struct -{ - float x, y, z; -} IVAS_VECTOR3; +} ivas_split_rend_bits_t, IVAS_SPLIT_REND_BITS_DATA, *IVAS_SPLIT_REND_BITS_HANDLE; -typedef enum +typedef struct _IVAS_SPLIT_REND_CONFIG { - IVAS_HEAD_ORIENT_TRK_NONE, - IVAS_HEAD_ORIENT_TRK_REF, - IVAS_HEAD_ORIENT_TRK_AVG, - IVAS_HEAD_ORIENT_TRK_REF_VEC, - IVAS_HEAD_ORIENT_TRK_REF_VEC_LEV - -} IVAS_HEAD_ORIENT_TRK_T; - -typedef struct ivas_masa_metadata_frame_struct *IVAS_MASA_METADATA_HANDLE; -typedef struct ivas_masa_decoder_ext_out_meta_struct *IVAS_MASA_DECODER_EXT_OUT_META_HANDLE; + int32_t splitRendBitRate; /*Bit rate for split rendering mode, if "pcm_out" is set then "splitRendBitRate" is used as a limit for MD bitrate */ + int16_t hq_mode; /*High quality 3DOF mode with additional side information. Requires more pre-renditions. */ + int16_t dof; /*flag to specify if pose correction is needed for 1, 2 or 3 degree of freedoms*/ + /*The axis can be set dynamically per frame based on a file input */ + /*possible values: + 1 - (1dof correction. By default YAW correction) + 2 - (2dof correction. By default YAW and PITCH correction) + 3 - (3dof correction. By default YAW, PITCH and ROLL correction) + */ + int16_t codec_delay_ms; /*PLACEHOLDER (currently being ignored) : look ahead delay of the codec that is used to code BIN signal output of pre-renderer*/ + int16_t codec_frame_size_ms; /*Codec frame size in milliseconds, only relevant with LC3plus */ + IVAS_SPLIT_REND_POSE_CORRECTION_MODE poseCorrectionMode; + IVAS_SPLIT_REND_CODEC codec; + IVAS_SPLIT_REND_RENDERER_SELECTION rendererSelection; -typedef struct TDREND_HRFILT_FiltSet_struct *IVAS_DEC_HRTF_HANDLE; -typedef struct ivas_hrtfs_crend_structure *IVAS_DEC_HRTF_CREND_HANDLE; -typedef struct ivas_hrtfs_fastconv_struct *IVAS_DEC_HRTF_FASTCONV_HANDLE; -typedef struct ivas_hrtfs_parambin_struct *IVAS_DEC_HRTF_PARAMBIN_HANDLE; +} IVAS_SPLIT_REND_CONFIG_DATA; +#endif -typedef struct cldfb_filter_bank_struct *IVAS_CLDFB_FILTER_BANK_HANDLE; +/*----------------------------------------------------------------------------------* + * Renderer API structures and enums + *----------------------------------------------------------------------------------*/ #ifdef DEBUGGING typedef enum @@ -213,60 +277,29 @@ typedef enum IVAS_RENDER_TYPE_OVERRIDE_NONE, IVAS_RENDER_TYPE_OVERRIDE_CREND, IVAS_RENDER_TYPE_OVERRIDE_FASTCONV + } IVAS_RENDER_TYPE_OVERRIDE; #endif -typedef struct -{ - float azimuth; - float elevation; - float radius; - float yaw; - float pitch; - int16_t non_diegetic_flag; - -} IVAS_REND_AudioObjectPosition; - typedef struct _IVAS_ROOM_ACOUSTICS_CONFIG { int16_t override; - int16_t nBands; /* Number of frequency bands for which reverb properties are provided, integer, range [2..256] */ - float pFc_input[IVAS_CLDFB_NO_CHANNELS_MAX]; /* Center frequencies for which following values are provided: */ - float pAcoustic_rt60[IVAS_CLDFB_NO_CHANNELS_MAX]; /* - The room's T60 per center frequency */ - float pAcoustic_dsr[IVAS_CLDFB_NO_CHANNELS_MAX]; /* - The room's Diffuse to Source Ratio per center frequency */ - float acousticPreDelay; /* Time elapsed between input signal and late reverberation start, float, range [0.001..10] */ - float inputPreDelay; /* Offset in seconds from where DSR is computed in the RIR (0 = at source), float, range [0.001..10] */ + int16_t nBands; /* Number of frequency bands for which reverb properties are provided, integer, range [2..256] */ + float pFc_input[IVAS_CLDFB_NO_CHANNELS_MAX]; /* Center frequencies for which following values are provided: */ + float pAcoustic_rt60[IVAS_CLDFB_NO_CHANNELS_MAX]; /* - The room's T60 per center frequency */ + float pAcoustic_dsr[IVAS_CLDFB_NO_CHANNELS_MAX]; /* - The room's Diffuse to Source Ratio per center frequency */ + float acousticPreDelay; /* Time elapsed between input signal and late reverberation start, float, range [0.001..10] */ + float inputPreDelay; /* Offset in seconds from where DSR is computed in the RIR (0 = at source), float, range [0.001..10] */ /* early reflections */ - int16_t use_er; /* ER activation flag */ - int32_t lowComplexity; /* Low complexity ER flag */ - IVAS_VECTOR3 dimensions; /* Room dimensions [m] */ - float AbsCoeff[IVAS_ROOM_ABS_COEFF]; /* Absorption coeffs */ - IVAS_VECTOR3 ListenerOrigin; /* Listener origin */ + int16_t use_er; /* ER activation flag */ + int32_t lowComplexity; /* Low complexity ER flag */ + IVAS_VECTOR3 dimensions; /* Room dimensions [m] */ + float AbsCoeff[IVAS_ROOM_ABS_COEFF]; /* Absorption coeffs */ + IVAS_VECTOR3 ListenerOrigin; /* Listener origin */ } IVAS_ROOM_ACOUSTICS_CONFIG_DATA; -#ifdef SPLIT_REND_WITH_HEAD_ROT - -typedef struct _IVAS_SPLIT_REND_CONFIG -{ - int32_t splitRendBitRate; /*Bit rate for split rendering mode, if "pcm_out" is set then "splitRendBitRate" is used as a limit for MD bitrate */ - int16_t hq_mode; /*High quality 3DOF mode with additional side information. Requires more pre-renditions. */ - int16_t dof; /*flag to specify if pose correction is needed for 1, 2 or 3 degree of freedoms*/ - /*The axis can be set dynamically per frame based on a file input */ - /*possible values: - 1 - (1dof correction. By default YAW correction) - 2 - (2dof correction. By default YAW and PITCH correction) - 3 - (3dof correction. By default YAW, PITCH and ROLL correction) - */ - int16_t codec_delay_ms; /*PLACEHOLDER (currently being ignored) : look ahead delay of the codec that is used to code BIN signal output of pre-renderer*/ - int16_t codec_frame_size_ms; /*Codec frame size in milliseconds, only relevant with LC3plus */ - IVAS_SPLIT_REND_POSE_CORRECTION_MODE poseCorrectionMode; - IVAS_SPLIT_REND_CODEC codec; - IVAS_SPLIT_REND_RENDERER_SELECTION rendererSelection; -} IVAS_SPLIT_REND_CONFIG_DATA; -#endif - typedef struct _IVAS_RENDER_CONFIG { #ifdef DEBUGGING @@ -277,36 +310,7 @@ typedef struct _IVAS_RENDER_CONFIG IVAS_SPLIT_REND_CONFIG_DATA split_rend_config; #endif float directivity[IVAS_MAX_NUM_OBJECTS * 3]; -} IVAS_RENDER_CONFIG_DATA, *IVAS_RENDER_CONFIG_HANDLE; - -typedef struct _IVAS_LS_CUSTOM_LAYOUT -{ - int16_t num_spk; - float azimuth[IVAS_MAX_OUTPUT_CHANNELS]; - float elevation[IVAS_MAX_OUTPUT_CHANNELS]; - int16_t num_lfe; - int16_t lfe_idx[IVAS_MAX_OUTPUT_CHANNELS]; -} IVAS_CUSTOM_LS_DATA; - -typedef struct ivas_LS_setup_custom *IVAS_LSSETUP_CUSTOM_HANDLE; -typedef struct ivas_LS_setup_custom IVAS_LSSETUP_CUSTOM_STRUCT; - - -typedef struct _IVAS_JBM_TRACE_DATA -{ - uint32_t systemTimestamp_ms; - uint16_t extBufferedSamples; - uint16_t lastDecodedWasActive; - int32_t output_Fs; - int16_t dataUnit_flag; - uint16_t sequenceNumber; - uint32_t timeStamp; - uint32_t rcvTime; - - int16_t partial_frame; - int16_t partialCopyOffset; - -} IVAS_JBM_TRACE_DATA; +} IVAS_RENDER_CONFIG_DATA, *IVAS_RENDER_CONFIG_HANDLE; #endif /* COMMON_API_TYPES_H */ diff --git a/lib_com/ivas_error_utils.h b/lib_com/ivas_error_utils.h index b9a6b3f872443e35368c4d802054d6f47eaafc42..f08bd29d84932d12a49f1bf6e76efbf573d77d39 100644 --- a/lib_com/ivas_error_utils.h +++ b/lib_com/ivas_error_utils.h @@ -30,14 +30,13 @@ *******************************************************************************************************/ +/* options.h needed for debugging/development features + * It should be stripped for delivery along with debugging switches */ #include "options.h" - +#include "ivas_error.h" #include #include #include - -#include "ivas_error.h" - #ifdef DEBUGGING #include #endif diff --git a/lib_rend/ivas_objectRenderer.c b/lib_rend/ivas_objectRenderer.c index 3db14715aa75c47ecb17bcbe149391dda422104d..3947dec9bb6ffec883033cfb31902d51034f6ea8 100644 --- a/lib_rend/ivas_objectRenderer.c +++ b/lib_rend/ivas_objectRenderer.c @@ -674,7 +674,7 @@ ivas_error ivas_td_binaural_renderer_ext( const AUDIO_CONFIG inConfig, /* i : Input audio configuration */ const LSSETUP_CUSTOM_STRUCT *customLsInput, /* i : Input custom loudspeaker layout */ const COMBINED_ORIENTATION_HANDLE *hCombinedOrientationData, /* i : Combined head and external orientations */ - const IVAS_REND_AudioObjectPosition *currentPos, /* i : Object position */ + const IVAS_ISM_METADATA *currentPos, /* i : Object position */ const REVERB_HANDLE hReverb, /* i : Reverberator handle */ const int16_t ism_md_subframe_update_ext, /* i : Metadata Delay in subframes to sync with audio delay */ const int32_t output_Fs, /* i : output sampling rate */ @@ -699,12 +699,10 @@ ivas_error ivas_td_binaural_renderer_ext( } push_wmops( "ivas_td_binaural_renderer_ext" ); - inConfigType = getAudioConfigType( inConfig ); lfe_idx = LFE_CHANNEL; hIsmMetaData[0] = NULL; - if ( inConfigType == IVAS_REND_AUDIO_CONFIG_TYPE_CHANNEL_BASED ) { ivas_format = MC_FORMAT; diff --git a/lib_rend/ivas_prot_rend.h b/lib_rend/ivas_prot_rend.h index d9933c0488446521d470d5a553147e4946eedfbf..6909415d34e686e7bac72b86738d1112c00cf524 100644 --- a/lib_rend/ivas_prot_rend.h +++ b/lib_rend/ivas_prot_rend.h @@ -571,7 +571,7 @@ ivas_error ivas_td_binaural_renderer_ext( const AUDIO_CONFIG inConfig, /* i : Input audio configuration */ const LSSETUP_CUSTOM_STRUCT *customLsInput, /* i : Input custom loudspeaker layout */ const COMBINED_ORIENTATION_HANDLE *hCombinedOrientationData,/* i : Combined head and external orientations */ - const IVAS_REND_AudioObjectPosition *currentPos, /* i : Object position */ + const IVAS_ISM_METADATA *currentPos, /* i : Object position */ const REVERB_HANDLE hReverb, /* i : Reverberator handle */ const int16_t ism_md_subframe_update_ext, /* i : Metadata Delay in subframes to sync with audio delay */ const int32_t output_Fs, /* i : output sampling rate */ diff --git a/lib_rend/lib_rend.c b/lib_rend/lib_rend.c index 3df316dd64bd1ef7f8392e962f2830d865688084..4da26ad279f0ea25bff3b48c44210f43c4349dde 100644 --- a/lib_rend/lib_rend.c +++ b/lib_rend/lib_rend.c @@ -125,8 +125,8 @@ typedef struct typedef struct { input_base base; - IVAS_REND_AudioObjectPosition currentPos; - IVAS_REND_AudioObjectPosition previousPos; + IVAS_ISM_METADATA currentPos; + IVAS_ISM_METADATA previousPos; TDREND_WRAPPER tdRendWrapper; CREND_WRAPPER_HANDLE crendWrapper; REVERB_HANDLE hReverb; @@ -1215,14 +1215,16 @@ static void initRendInputBase( } -static IVAS_REND_AudioObjectPosition defaultObjectPosition( +static IVAS_ISM_METADATA defaultObjectPosition( void ) { - IVAS_REND_AudioObjectPosition pos; + IVAS_ISM_METADATA pos; pos.azimuth = 0.0f; pos.elevation = 0.0f; pos.radius = 1.0f; + pos.spread = 0.0f; + pos.gainFactor = 1.0f; pos.yaw = 0.0f; pos.pitch = 0.0f; pos.non_diegetic_flag = 0; @@ -1232,8 +1234,8 @@ static IVAS_REND_AudioObjectPosition defaultObjectPosition( static int8_t checkObjectPositionChanged( - IVAS_REND_AudioObjectPosition *currentPos, - IVAS_REND_AudioObjectPosition *previousPos ) + IVAS_ISM_METADATA *currentPos, + IVAS_ISM_METADATA *previousPos ) { return !( fabs( currentPos->azimuth - previousPos->azimuth ) < EPSILON && fabs( currentPos->elevation - previousPos->elevation ) < EPSILON ); @@ -4898,9 +4900,9 @@ ivas_error IVAS_REND_FeedInputAudio( *-------------------------------------------------------------------*/ ivas_error IVAS_REND_FeedInputObjectMetadata( - IVAS_REND_HANDLE hIvasRend, /* i/o: Renderer handle */ - const IVAS_REND_InputId inputId, /* i : ID of the input */ - const IVAS_REND_AudioObjectPosition objectPosition /* i : object position struct */ + IVAS_REND_HANDLE hIvasRend, /* i/o: Renderer handle */ + const IVAS_REND_InputId inputId, /* i : ID of the input */ + const IVAS_ISM_METADATA objectPosition /* i : object position struct */ ) { input_base *inputBase; @@ -4939,9 +4941,9 @@ ivas_error IVAS_REND_FeedInputObjectMetadata( *-------------------------------------------------------------------*/ ivas_error IVAS_REND_FeedInputObjectMetadataToOMasa( - IVAS_REND_HANDLE hIvasRend, /* i/o: Renderer handle */ - const int16_t inputIndex, /* i : Index of the input */ - const IVAS_REND_AudioObjectPosition objectPosition /* i : object position struct */ + IVAS_REND_HANDLE hIvasRend, /* i/o: Renderer handle */ + const int16_t inputIndex, /* i : Index of the input */ + const IVAS_ISM_METADATA objectPosition /* i : object position struct */ ) { /* Validate function arguments */ @@ -6000,8 +6002,8 @@ static ivas_error renderIsmToBinauralRoom( ivas_error error; pan_vector currentPanGains; IVAS_REND_AudioBuffer tmpMcBuffer; - IVAS_REND_AudioObjectPosition rotatedPosPrev; - IVAS_REND_AudioObjectPosition rotatedPos; + IVAS_ISM_METADATA rotatedPosPrev; + IVAS_ISM_METADATA rotatedPos; const COMBINED_ORIENTATION_HANDLE *hCombinedOrientationData; int8_t combinedOrientationEnabled; float *p_tmpRendBuffer[MAX_OUTPUT_CHANNELS]; diff --git a/lib_rend/lib_rend.h b/lib_rend/lib_rend.h index c1d7360a46c04e2de69b264fd856d267f9a3a3eb..404984e285aeb3f77512d0bf2fbc46384c3a810c 100644 --- a/lib_rend/lib_rend.h +++ b/lib_rend/lib_rend.h @@ -220,13 +220,13 @@ ivas_error IVAS_REND_FeedInputAudio( ivas_error IVAS_REND_FeedInputObjectMetadata( IVAS_REND_HANDLE hIvasRend, /* i/o: Renderer handle */ const IVAS_REND_InputId inputId, /* i : ID of the input */ - const IVAS_REND_AudioObjectPosition objectPosition /* i : object position struct */ + const IVAS_ISM_METADATA objectPosition /* i : object position struct */ ); ivas_error IVAS_REND_FeedInputObjectMetadataToOMasa( - IVAS_REND_HANDLE hIvasRend, /* i/o: Renderer handle */ - const int16_t inputIndex, /* i : Index of the input */ - const IVAS_REND_AudioObjectPosition objectPosition /* i : object position struct */ + IVAS_REND_HANDLE hIvasRend, /* i/o: Renderer handle */ + const int16_t inputIndex, /* i : Index of the input */ + const IVAS_ISM_METADATA objectPosition /* i : object position struct */ ); ivas_error IVAS_REND_FeedInputMasaMetadata(