Loading...
Searching...
No Matches
AVIAMFLayer Struct Reference
libavutil » Audio related » Immersive Audio Model and Formats » Audio Element

A layer defining a Channel Layout in the Audio Element. More...

`#include <libavutil/iamf.h>`

## Data Fields

const AVClass * | av_class
AVChannelLayout | ch_layout
unsigned int | flags
| A bitmask which may contain a combination of AV_IAMF_LAYER_FLAG_* flags.
unsigned int | output_gain_flags
| Output gain channel flags as defined in section 3.6.2 of IAMF.
AVRational | output_gain
| Output gain as defined in section 3.6.2 of IAMF.
enum AVIAMFAmbisonicsMode | ambisonics_mode
| Ambisonics mode as defined in section 3.6.3 of IAMF.
AVRational * | demixing_matrix
| Demixing matrix as defined in section 3.6.3 of IAMF.
unsigned int | nb_demixing_matrix
| The length of the Demixing matrix array.

## Detailed Description

A layer defining a Channel Layout in the Audio Element.

When the parent's Audio Element type is AV_IAMF_AUDIO_ELEMENT_TYPE_CHANNEL, this corresponds to an Scalable Channel Layout layer as defined in section 3.6.2 of IAMF. For AV_IAMF_AUDIO_ELEMENT_TYPE_SCENE, it is an Ambisonics channel layout as defined in section 3.6.3 of IAMF.

Note
  The struct should be allocated with av_iamf_audio_element_add_layer() and its size is not a part of the public ABI.

Definition at line 294 of file iamf.h.

## Field Documentation

## av_class

const AVClass* AVIAMFLayer::av_class

Definition at line 295 of file iamf.h.

## ch_layout

AVChannelLayout AVIAMFLayer::ch_layout

Definition at line 297 of file iamf.h.

## flags

unsigned int AVIAMFLayer::flags

A bitmask which may contain a combination of AV_IAMF_LAYER_FLAG_* flags.

Definition at line 302 of file iamf.h.

## output_gain_flags

unsigned int AVIAMFLayer::output_gain_flags

Output gain channel flags as defined in section 3.6.2 of IAMF.

This field is defined only if the parent's Audio Element type is AV_IAMF_AUDIO_ELEMENT_TYPE_CHANNEL, must be 0 otherwise.

Definition at line 310 of file iamf.h.

## output_gain

AVRational AVIAMFLayer::output_gain

Output gain as defined in section 3.6.2 of IAMF.

Must be 0 if output_gain_flags is 0.

Definition at line 316 of file iamf.h.

## ambisonics_mode

enum AVIAMFAmbisonicsMode AVIAMFLayer::ambisonics_mode

Ambisonics mode as defined in section 3.6.3 of IAMF.

This field is defined only if the parent's Audio Element type is AV_IAMF_AUDIO_ELEMENT_TYPE_SCENE.

If AV_IAMF_AMBISONICS_MODE_MONO, channel_mapping is defined implicitly (Ambisonic Order) or explicitly (Custom Order with ambi channels) in ch_layout. If AV_IAMF_AMBISONICS_MODE_PROJECTION, demixing_matrix must be set.

Definition at line 328 of file iamf.h.

## demixing_matrix

AVRational* AVIAMFLayer::demixing_matrix

Demixing matrix as defined in section 3.6.3 of IAMF.

May be set only if ambisonics_mode == AV_IAMF_AMBISONICS_MODE_PROJECTION, must be NULL otherwise.

Definition at line 336 of file iamf.h.

## nb_demixing_matrix

unsigned int AVIAMFLayer::nb_demixing_matrix

The length of the Demixing matrix array.

Must be ch_layout.nb_channels multiplied by the sum of the amount of streams in the group plus the amount of streams in the group that are stereo.

Definition at line 343 of file iamf.h.

The documentation for this struct was generated from the following file:

- libavutil/iamf.h