Go to the documentation of this file.
251 unsigned int nb_subblocks,
size_t *
size);
280 #define AV_IAMF_LAYER_FLAG_RECON_GAIN (1 << 0)
AVIAMFSubmixElement ** elements
Array of submix elements.
@ AV_IAMF_SUBMIX_LAYOUT_TYPE_LOUDSPEAKERS
The layout follows the loudspeaker sound system convention of ITU-2051-3.
unsigned int nb_layers
Number of layers, or channel groups, in the Audio Element.
AVIAMFSubmixLayout ** layouts
Array of submix layouts.
@ AV_IAMF_ANIMATION_TYPE_STEP
unsigned int default_w
Default weight value as defined in section 3.6 of IAMF.
AVIAMFParamDefinition * av_iamf_param_definition_alloc(enum AVIAMFParamDefinitionType type, unsigned int nb_subblocks, size_t *size)
Allocates memory for AVIAMFParamDefinition, plus an array of.
unsigned int nb_submixes
Number of submixes in the presentation.
enum AVIAMFParamDefinitionType type
Parameters type.
@ AV_IAMF_HEADPHONES_MODE_STEREO
The referenced Audio Element shall be rendered to stereo loudspeakers.
void av_iamf_mix_presentation_free(AVIAMFMixPresentation **mix_presentation)
Free an AVIAMFMixPresentation and all its contents.
enum AVIAMFSubmixLayoutType layout_type
Parameters as defined in section 3.6.1 of IAMF.
AVRational default_mix_gain
Default mix gain value to apply when there are no AVIAMFParamDefinition with element_mix_config's par...
AVRational digital_peak
The digital (sampled) peak value of the audio signal, as defined in ITU-1770-4.
enum AVIAMFAnimationType animation_type
The type of animation applied to the parameter values.
AVRational integrated_loudness
The program integrated loudness information, as defined in ITU-1770-4.
AVIAMFSubmix * av_iamf_mix_presentation_add_submix(AVIAMFMixPresentation *mix_presentation)
Allocate a submix and add it to a given AVIAMFMixPresentation.
Submix layout as defined in section 3.7.6 of IAMF.
void av_iamf_audio_element_free(AVIAMFAudioElement **audio_element)
Free an AVIAMFAudioElement and all its contents.
AVIAMFAudioElement * av_iamf_audio_element_alloc(void)
Allocates a AVIAMFAudioElement, and initializes its fields with default values.
it s the only field you need to keep assuming you have a context There is some magic you don t need to care about around this just let it vf type
enum AVIAMFAudioElementType audio_element_type
Audio element type as defined in section 3.6 of IAMF.
Recon Gain Info Parameter Data as defined in section 3.8.3 of IAMF.
@ AV_IAMF_PARAMETER_DEFINITION_RECON_GAIN
Subblocks are of struct type AVIAMFReconGain.
AVDictionary * annotations
A dictionary of strings describing the submix in different languages.
AVIAMFSubmixLayout * av_iamf_submix_add_layout(AVIAMFSubmix *submix)
Allocate a submix layout and add it to a given AVIAMFSubmix.
@ AV_IAMF_ANIMATION_TYPE_BEZIER
AVRational dialogue_anchored_loudness
The Dialogue loudness information, as defined in ITU-1770-4.
static av_always_inline void * av_iamf_param_definition_get_subblock(const AVIAMFParamDefinition *par, unsigned int idx)
Get the subblock at the specified.
#define av_assert0(cond)
assert() equivalent, that is always enabled.
enum AVIAMFHeadphonesMode headphones_rendering_mode
A value that indicates whether the referenced channel-based Audio Element shall be rendered to stereo...
const AVClass * av_iamf_param_definition_get_class(void)
AVChannelLayout ch_layout
@ AV_IAMF_HEADPHONES_MODE_BINAURAL
The referenced Audio Element shall be rendered with a binaural renderer.
AVRational control_point_relative_time
Parameter value of the time of the middle control point of a quadratic Bezier curve,...
Demixing Info Parameter Data as defined in section 3.8.2 of IAMF.
Describe the class of an AVClass context structure.
Rational number (pair of numerator and denominator).
unsigned int duration
The accumulated duration of all blocks in this parameter definition, in units of 1 / parameter_rate.
A layer defining a Channel Layout in the Audio Element.
size_t subblocks_offset
Offset in bytes from the start of this struct, at which the subblocks array is located.
@ AV_IAMF_ANIMATION_TYPE_LINEAR
@ AV_IAMF_AMBISONICS_MODE_MONO
unsigned int output_gain_flags
Output gain channel flags as defined in section 3.6.2 of IAMF.
unsigned int audio_element_id
The id of the Audio Element this submix element references.
Submix layout as defined in section 3.7 of IAMF.
unsigned int subblock_duration
Duration for the given subblock, in units of 1 / parameter_rate.
unsigned int subblock_duration
Duration for the given subblock, in units of 1 / parameter_rate.
An AVChannelLayout holds information about the channel layout of audio data.
AVIAMFMixPresentation * av_iamf_mix_presentation_alloc(void)
Allocates a AVIAMFMixPresentation, and initializes its fields with default values.
unsigned int constant_subblock_duration
The duration of every subblock in the case where all subblocks, with the optional exception of the la...
AVIAMFSubmixElement * av_iamf_submix_add_element(AVIAMFSubmix *submix)
Allocate a submix element and add it to a given AVIAMFSubmix.
Information on how to combine one or more audio streams, as defined in section 3.6 of IAMF.
Mix Gain Parameter Data as defined in section 3.8.1 of IAMF.
const AVClass * av_iamf_audio_element_get_class(void)
unsigned int parameter_id
Identifier for the paremeter substream.
AVRational * demixing_matrix
Demixing matrix as defined in section 3.6.3 of IAMF.
Information on how to render and mix one or more AVIAMFAudioElement to generate the final audio outpu...
AVRational end_point_value
Parameter value that is applied at the end of the subblock.
unsigned int nb_subblocks
Number of subblocks in the array.
@ AV_IAMF_AUDIO_ELEMENT_TYPE_SCENE
unsigned int nb_layouts
Number of layouts in the submix.
AVRational start_point_value
Parameter value that is applied at the start of the subblock.
AVRational control_point_value
Parameter value of the middle control point of a quadratic Bezier curve, i.e., its y-axis value.
const AVClass * av_iamf_mix_presentation_get_class(void)
AVRational default_mix_gain
Default mix gain value to apply when there are no AVIAMFParamDefinition with output_mix_config's para...
AVRational album_anchored_loudness
The Album loudness information, as defined in ITU-1770-4.
AVRational true_peak
The true peak of the audio signal, as defined in ITU-1770-4.
AVChannelLayout sound_system
Channel layout matching one of Sound Systems A to J of ITU-2051-3, plus 7.1.2ch and 3....
@ AV_IAMF_PARAMETER_DEFINITION_MIX_GAIN
Subblocks are of struct type AVIAMFMixGain.
AVIAMFLayer * av_iamf_audio_element_add_layer(AVIAMFAudioElement *audio_element)
Allocate a layer and add it to a given AVIAMFAudioElement.
unsigned int nb_elements
Number of elements in the submix.
AVIAMFParamDefinition * demixing_info
Demixing information used to reconstruct a scalable channel audio representation.
unsigned int dmixp_mode
Pre-defined combination of demixing parameters.
AVIAMFParamDefinition * output_mix_config
Information required for post-processing the mixed audio signal to generate the audio signal for play...
enum AVIAMFAmbisonicsMode ambisonics_mode
Ambisonics mode as defined in section 3.6.3 of IAMF.
AVIAMFParamDefinitionType
AVDictionary * annotations
A dictionary of strings describing the mix in different languages.
@ AV_IAMF_SUBMIX_LAYOUT_TYPE_BINAURAL
The layout is binaural.
unsigned int flags
A bitmask which may contain a combination of AV_IAMF_LAYER_FLAG_* flags.
AVRational output_gain
Output gain as defined in section 3.6.2 of IAMF.
@ AV_IAMF_AMBISONICS_MODE_PROJECTION
AVIAMFParamDefinition * element_mix_config
Information required required for applying any processing to the referenced and rendered Audio Elemen...
unsigned int parameter_rate
Sample rate for the paremeter substream.
Submix element as defined in section 3.7 of IAMF.
@ AV_IAMF_AUDIO_ELEMENT_TYPE_CHANNEL
size_t subblock_size
Size in bytes of each element in the subblocks array.
AVIAMFParamDefinition * recon_gain_info
Recon gain information used to reconstruct a scalable channel audio representation.
AVIAMFSubmix ** submixes
Array of submixes.
uint8_t recon_gain[6][12]
Array of gain values to be applied to each channel for each layer defined in the Audio Element refere...
unsigned int subblock_duration
Duration for the given subblock, in units of 1 / parameter_rate.
@ AV_IAMF_PARAMETER_DEFINITION_DEMIXING
Subblocks are of struct type AVIAMFDemixingInfo.