FFmpeg
Data Structures | Enumerations | Functions

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 AVClassav_iamf_mix_presentation_get_class (void)
 
AVIAMFMixPresentationav_iamf_mix_presentation_alloc (void)
 Allocates a AVIAMFMixPresentation, and initializes its fields with default values. More...
 
AVIAMFSubmixav_iamf_mix_presentation_add_submix (AVIAMFMixPresentation *mix_presentation)
 Allocate a submix and add it to a given AVIAMFMixPresentation. More...
 
AVIAMFSubmixElementav_iamf_submix_add_element (AVIAMFSubmix *submix)
 Allocate a submix element and add it to a given AVIAMFSubmix. More...
 
AVIAMFSubmixLayoutav_iamf_submix_add_layout (AVIAMFSubmix *submix)
 Allocate a submix layout and add it to a given AVIAMFSubmix. More...
 
void av_iamf_mix_presentation_free (AVIAMFMixPresentation **mix_presentation)
 Free an AVIAMFMixPresentation and all its contents. More...
 

Detailed Description

Mix Presentations as defined in section 3.7 of IAMF.

Enumeration Type Documentation

◆ 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 429 of file iamf.h.

◆ 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 493 of file iamf.h.

Function Documentation

◆ av_iamf_mix_presentation_get_class()

const AVClass* av_iamf_mix_presentation_get_class ( void  )

Definition at line 515 of file iamf.c.

Referenced by stream_group_child_iterate().

◆ 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()

Definition at line 520 of file iamf.c.

Referenced by avformat_stream_group_create(), and mix_presentation_obu().

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

Referenced by mix_presentation_obu(), and of_parse_iamf_submixes().

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

Referenced by mix_presentation_obu(), and of_parse_iamf_submixes().

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

Referenced by mix_presentation_obu(), and of_parse_iamf_submixes().

◆ av_iamf_mix_presentation_free()

void av_iamf_mix_presentation_free ( AVIAMFMixPresentation **  mix_presentation)

Free an AVIAMFMixPresentation and all its contents.

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

Definition at line 534 of file iamf.c.

Referenced by ff_free_stream_group(), ff_iamf_free_mix_presentation(), and iamf_read_header().