Loading...
Searching...
No Matches
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 AVClass * | av_iamf_param_definition_get_class (void)
AVIAMFParamDefinition * | av_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 AVClass * | av_iamf_audio_element_get_class (void)
AVIAMFAudioElement * | av_iamf_audio_element_alloc (void)
| Allocates a AVIAMFAudioElement, and initializes its fields with default values.
AVIAMFLayer * | av_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 AVClass * | av_iamf_mix_presentation_get_class (void)
AVIAMFMixPresentation * | av_iamf_mix_presentation_alloc (void)
| Allocates a AVIAMFMixPresentation, and initializes its fields with default values.
AVIAMFSubmix * | av_iamf_mix_presentation_add_submix (AVIAMFMixPresentation *mix_presentation)
| Allocate a submix and add it to a given AVIAMFMixPresentation.
AVIAMFSubmixElement * | av_iamf_submix_add_element (AVIAMFSubmix *submix)
| Allocate a submix element and add it to a given AVIAMFSubmix.
AVIAMFSubmixLayout * | av_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.