FFmpeg 7.1.1
Loading...
Searching...
No Matches
Data Structures | Macros | Enumerations | Functions
iamf.h File Reference

Immersive Audio Model and Formats API header. More...

#include <stdint.h>
#include <stddef.h>
#include "attributes.h"
#include "avassert.h"
#include "channel_layout.h"
#include "dict.h"
#include "rational.h"

Go to the source code of this file.

Data Structures

struct  AVIAMFMixGain
 Mix Gain Parameter Data as defined in section 3.8.1 of IAMF. More...
 
struct  AVIAMFDemixingInfo
 Demixing Info Parameter Data as defined in section 3.8.2 of IAMF. More...
 
struct  AVIAMFReconGain
 Recon Gain Info Parameter Data as defined in section 3.8.3 of IAMF. More...
 
struct  AVIAMFParamDefinition
 Parameters as defined in section 3.6.1 of IAMF. More...
 
struct  AVIAMFLayer
 A layer defining a Channel Layout in the Audio Element. More...
 
struct  AVIAMFAudioElement
 Information on how to combine one or more audio streams, as defined in section 3.6 of IAMF. More...
 
struct  AVIAMFSubmixElement
 Submix element as defined in section 3.7 of IAMF. More...
 
struct  AVIAMFSubmixLayout
 Submix layout as defined in section 3.7.6 of IAMF. More...
 
struct  AVIAMFSubmix
 Submix layout as defined in section 3.7 of IAMF. More...
 
struct  AVIAMFMixPresentation
 Information on how to render and mix one or more AVIAMFAudioElement to generate the final audio output, as defined in section 3.7 of IAMF. More...
 

Macros

#define AV_IAMF_LAYER_FLAG_RECON_GAIN   (1 << 0)
 Recon gain information for the layer is present in AVIAMFReconGain.
 

Enumerations

enum  AVIAMFAnimationType { AV_IAMF_ANIMATION_TYPE_STEP , AV_IAMF_ANIMATION_TYPE_LINEAR , AV_IAMF_ANIMATION_TYPE_BEZIER }
 
enum  AVIAMFParamDefinitionType { AV_IAMF_PARAMETER_DEFINITION_MIX_GAIN , AV_IAMF_PARAMETER_DEFINITION_DEMIXING , AV_IAMF_PARAMETER_DEFINITION_RECON_GAIN }
 
enum  AVIAMFAmbisonicsMode { AV_IAMF_AMBISONICS_MODE_MONO , AV_IAMF_AMBISONICS_MODE_PROJECTION }
 
enum  AVIAMFAudioElementType { AV_IAMF_AUDIO_ELEMENT_TYPE_CHANNEL , AV_IAMF_AUDIO_ELEMENT_TYPE_SCENE }
 
enum  AVIAMFHeadphonesMode { AV_IAMF_HEADPHONES_MODE_STEREO , AV_IAMF_HEADPHONES_MODE_BINAURAL }
 
enum  AVIAMFSubmixLayoutType { AV_IAMF_SUBMIX_LAYOUT_TYPE_LOUDSPEAKERS = 2 , AV_IAMF_SUBMIX_LAYOUT_TYPE_BINAURAL = 3 }
 

Functions

const AVClassav_iamf_param_definition_get_class (void)
 
AVIAMFParamDefinitionav_iamf_param_definition_alloc (enum AVIAMFParamDefinitionType type, unsigned int nb_subblocks, size_t *size)
 Allocates memory for AVIAMFParamDefinition, plus an array of nb_subblocks amount of subblocks of the given type and initializes the variables.
 
static av_always_inline void * av_iamf_param_definition_get_subblock (const AVIAMFParamDefinition *par, unsigned int idx)
 Get the subblock at the specified idx.
 
const AVClassav_iamf_audio_element_get_class (void)
 
AVIAMFAudioElementav_iamf_audio_element_alloc (void)
 Allocates a AVIAMFAudioElement, and initializes its fields with default values.
 
AVIAMFLayerav_iamf_audio_element_add_layer (AVIAMFAudioElement *audio_element)
 Allocate a layer and add it to a given AVIAMFAudioElement.
 
void av_iamf_audio_element_free (AVIAMFAudioElement **audio_element)
 Free an AVIAMFAudioElement and all its contents.
 
const AVClassav_iamf_mix_presentation_get_class (void)
 
AVIAMFMixPresentationav_iamf_mix_presentation_alloc (void)
 Allocates a AVIAMFMixPresentation, and initializes its fields with default values.
 
AVIAMFSubmixav_iamf_mix_presentation_add_submix (AVIAMFMixPresentation *mix_presentation)
 Allocate a submix and add it to a given AVIAMFMixPresentation.
 
AVIAMFSubmixElementav_iamf_submix_add_element (AVIAMFSubmix *submix)
 Allocate a submix element and add it to a given AVIAMFSubmix.
 
AVIAMFSubmixLayoutav_iamf_submix_add_layout (AVIAMFSubmix *submix)
 Allocate a submix layout and add it to a given AVIAMFSubmix.
 
void av_iamf_mix_presentation_free (AVIAMFMixPresentation **mix_presentation)
 Free an AVIAMFMixPresentation and all its contents.
 

Detailed Description

Immersive Audio Model and Formats API header.

See also
Immersive Audio Model and Formats

Definition in file iamf.h.