FFmpeg
Data Structures | Enumerations | Functions
Audio Element

Audio Elements as defined in section 3.6 of IAMF. More...

Data Structures

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

Enumerations

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 }
 

Functions

const AVClassav_iamf_audio_element_get_class (void)
 
AVIAMFAudioElementav_iamf_audio_element_alloc (void)
 Allocates a AVIAMFAudioElement, and initializes its fields with default values. More...
 
AVIAMFLayerav_iamf_audio_element_add_layer (AVIAMFAudioElement *audio_element)
 Allocate a layer and add it to a given AVIAMFAudioElement. More...
 
void av_iamf_audio_element_free (AVIAMFAudioElement **audio_element)
 Free an AVIAMFAudioElement and all its contents. More...
 

Detailed Description

Audio Elements as defined in section 3.6 of IAMF.

Enumeration Type Documentation

◆ AVIAMFAmbisonicsMode

Enumerator
AV_IAMF_AMBISONICS_MODE_MONO 
AV_IAMF_AMBISONICS_MODE_PROJECTION 

Definition at line 263 of file iamf.h.

◆ AVIAMFAudioElementType

Enumerator
AV_IAMF_AUDIO_ELEMENT_TYPE_CHANNEL 
AV_IAMF_AUDIO_ELEMENT_TYPE_SCENE 

Definition at line 335 of file iamf.h.

Function Documentation

◆ av_iamf_audio_element_get_class()

const AVClass* av_iamf_audio_element_get_class ( void  )

Definition at line 317 of file iamf.c.

Referenced by stream_group_child_iterate().

◆ av_iamf_audio_element_alloc()

AVIAMFAudioElement* av_iamf_audio_element_alloc ( void  )

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

No layers are allocated. Must be freed with av_iamf_audio_element_free().

See also
av_iamf_audio_element_add_layer()

Definition at line 322 of file iamf.c.

Referenced by audio_element_obu(), and avformat_stream_group_create().

◆ av_iamf_audio_element_add_layer()

AVIAMFLayer* av_iamf_audio_element_add_layer ( AVIAMFAudioElement audio_element)

Allocate a layer and add it to a given AVIAMFAudioElement.

It is freed by av_iamf_audio_element_free() alongside the rest of the parent AVIAMFAudioElement.

Returns
a pointer to the allocated layer.

Referenced by ambisonics_config(), of_parse_iamf_audio_element_layers(), and scalable_channel_layout_config().

◆ av_iamf_audio_element_free()

void av_iamf_audio_element_free ( AVIAMFAudioElement **  audio_element)

Free an AVIAMFAudioElement and all its contents.

Parameters
audio_elementpointer to pointer to an allocated AVIAMFAudioElement. upon return, *audio_element will be set to NULL.

Definition at line 336 of file iamf.c.

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