Loading...
Searching...
No Matches
Mix Presentation
libavutil » Audio related » Immersive Audio Model and Formats

Mix Presentations as defined in section 3.7 of IAMF. More...

## Data Structures

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...

## Enumerations

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_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

Mix Presentations as defined in section 3.7 of IAMF.

## Enumeration Type Documentation

## AVIAMFHeadphonesMode

enum AVIAMFHeadphonesMode

Enumerator
AV_IAMF_HEADPHONES_MODE_STEREO | The referenced Audio Element shall be rendered to stereo loudspeakers.
AV_IAMF_HEADPHONES_MODE_BINAURAL | The referenced Audio Element shall be rendered with a binaural renderer.

Definition at line 432 of file iamf.h.

## AVIAMFSubmixLayoutType

enum AVIAMFSubmixLayoutType

Enumerator
AV_IAMF_SUBMIX_LAYOUT_TYPE_LOUDSPEAKERS | The layout follows the loudspeaker sound system convention of ITU-2051-3. AVIAMFSubmixLayout::sound_system must be set.

AV_IAMF_SUBMIX_LAYOUT_TYPE_BINAURAL

The layout is binaural.

Note
  AVIAMFSubmixLayout::sound_system may be set to AV_CHANNEL_LAYOUT_BINAURAL to simplify API usage, but it's not mandatory.

Definition at line 496 of file iamf.h.

## Function Documentation

## av_iamf_mix_presentation_get_class()

const AVClass * av_iamf_mix_presentation_get_class | ( | void |  | ) |

## av_iamf_mix_presentation_alloc()

AVIAMFMixPresentation * av_iamf_mix_presentation_alloc | ( | void |  | ) |

Allocates a AVIAMFMixPresentation, and initializes its fields with default values.

No submixes are allocated. Must be freed with av_iamf_mix_presentation_free().

See also
  av_iamf_mix_presentation_add_submix()

## av_iamf_mix_presentation_add_submix()

AVIAMFSubmix * av_iamf_mix_presentation_add_submix | ( | AVIAMFMixPresentation * | mix_presentation | ) |

Allocate a submix and add it to a given AVIAMFMixPresentation.

It is freed by av_iamf_mix_presentation_free() alongside the rest of the parent AVIAMFMixPresentation.

Returns
  a pointer to the allocated submix.

## av_iamf_submix_add_element()

AVIAMFSubmixElement * av_iamf_submix_add_element | ( | AVIAMFSubmix * | submix | ) |

Allocate a submix element and add it to a given AVIAMFSubmix.

It is freed by av_iamf_mix_presentation_free() alongside the rest of the parent AVIAMFSubmix.

Returns
  a pointer to the allocated submix.

## av_iamf_submix_add_layout()

AVIAMFSubmixLayout * av_iamf_submix_add_layout | ( | AVIAMFSubmix * | submix | ) |

Allocate a submix layout and add it to a given AVIAMFSubmix.

It is freed by av_iamf_mix_presentation_free() alongside the rest of the parent AVIAMFSubmix.

Returns
  a pointer to the allocated submix.

## av_iamf_mix_presentation_free()

void av_iamf_mix_presentation_free | ( | AVIAMFMixPresentation ** | mix_presentation | ) |

Free an AVIAMFMixPresentation and all its contents.

Parameters

  mix_presentation | pointer to pointer to an allocated AVIAMFMixPresentation. upon return, *mix_presentation will be set to NULL.