#include <limits.h>
#include <stddef.h>
#include <stdint.h>
#include "avassert.h"
#include "error.h"
#include "iamf.h"
#include "log.h"
#include "mem.h"
#include "opt.h"
Go to the source code of this file.
|
#define | IAMF_ADD_FUNC_TEMPLATE(parent_type, parent_name, child_type, child_name, suffix) |
|
#define | FLAGS AV_OPT_FLAG_ENCODING_PARAM |
|
#define | OFFSET(x) offsetof(AVIAMFMixGain, x) |
|
#define | OFFSET(x) offsetof(AVIAMFDemixingInfo, x) |
|
#define | OFFSET(x) offsetof(AVIAMFReconGain, x) |
|
#define | OFFSET(x) offsetof(AVIAMFParamDefinition, x) |
|
#define | OFFSET(x) offsetof(AVIAMFLayer, x) |
|
#define | OFFSET(x) offsetof(AVIAMFAudioElement, x) |
|
#define | OFFSET(x) offsetof(AVIAMFSubmixElement, x) |
|
#define | OFFSET(x) offsetof(AVIAMFSubmixLayout, x) |
|
#define | OFFSET(x) offsetof(AVIAMFSubmix, x) |
|
#define | OFFSET(x) offsetof(AVIAMFMixPresentation, x) |
|
◆ IAMF_ADD_FUNC_TEMPLATE
#define IAMF_ADD_FUNC_TEMPLATE |
( |
|
parent_type, |
|
|
|
parent_name, |
|
|
|
child_type, |
|
|
|
child_name, |
|
|
|
suffix |
|
) |
| |
Value:child_type *av_iamf_ ## parent_name ## _add_ ## child_name(parent_type *parent_name) \
{ \
child_type **child_name ##
suffix, *child_name;
\
if (parent_name->nb_## child_name ##
suffix == UINT_MAX) \
\
parent_name->nb_## child_name ##
suffix + 1, \
sizeof(*parent_name->child_name ##
suffix)); \
\
\
child_name = parent_name->child_name ##
suffix[parent_name->nb_## child_name ##
suffix] \
if (!child_name) \
\
child_name->av_class = &child_name ## _class; \
av_opt_set_defaults(child_name); \
parent_name->nb_## child_name ##
suffix++; \
\
return child_name; \
}
Definition at line 32 of file iamf.c.
◆ FLAGS
◆ OFFSET [1/10]
◆ OFFSET [2/10]
◆ OFFSET [3/10]
◆ OFFSET [4/10]
◆ OFFSET [5/10]
◆ OFFSET [6/10]
◆ OFFSET [7/10]
◆ OFFSET [8/10]
◆ OFFSET [9/10]
◆ OFFSET [10/10]
◆ param_definition_child_iterate()
static const AVClass* param_definition_child_iterate |
( |
void ** |
opaque | ) |
|
|
static |
◆ audio_element_child_iterate()
static const AVClass* audio_element_child_iterate |
( |
void ** |
opaque | ) |
|
|
static |
◆ submix_element_child_next()
static void* submix_element_child_next |
( |
void * |
obj, |
|
|
void * |
prev |
|
) |
| |
|
static |
◆ submix_element_child_iterate()
static const AVClass* submix_element_child_iterate |
( |
void ** |
opaque | ) |
|
|
static |
◆ submix_presentation_child_next()
static void* submix_presentation_child_next |
( |
void * |
obj, |
|
|
void * |
prev |
|
) |
| |
|
static |
◆ submix_presentation_child_iterate()
static const AVClass* submix_presentation_child_iterate |
( |
void ** |
opaque | ) |
|
|
static |
◆ mix_presentation_child_iterate()
static const AVClass* mix_presentation_child_iterate |
( |
void ** |
opaque | ) |
|
|
static |
◆ mix_gain_options
Initial value:= {
{
"control_point_relative_time",
"set control_point_relative_time",
OFFSET(control_point_relative_time),
AV_OPT_TYPE_RATIONAL, {.dbl = 0 }, 0.0, 1.0,
FLAGS },
}
Definition at line 66 of file iamf.c.
◆ mix_gain_class
◆ demixing_info_options
Initial value:
Definition at line 85 of file iamf.c.
◆ demixing_info_class
◆ recon_gain_options
Initial value:
Definition at line 100 of file iamf.c.
◆ recon_gain_class
◆ param_definition_options
const AVOption param_definition_options[] |
|
static |
Initial value:= {
{
"constant_subblock_duration",
"set constant_subblock_duration",
OFFSET(constant_subblock_duration),
AV_OPT_TYPE_UINT, {.i64 = 0 }, 0, UINT_MAX,
FLAGS },
}
Definition at line 114 of file iamf.c.
◆ param_definition_class
const AVClass param_definition_class |
|
static |
◆ layer_options
Initial value:= {
{.i64 = 0 }, 0, AV_IAMF_LAYER_FLAG_RECON_GAIN,
FLAGS, .unit =
"flags" },
{.i64 = AV_IAMF_LAYER_FLAG_RECON_GAIN }, INT_MIN, INT_MAX,
FLAGS, .unit =
"flags"},
{.i64 = 0 }, 0, (1 << 6) - 1,
FLAGS, .unit =
"output_gain_flags" },
{.i64 = 1 << 5 }, INT_MIN, INT_MAX,
FLAGS, .unit =
"output_gain_flags"},
{.i64 = 1 << 4 }, INT_MIN, INT_MAX,
FLAGS, .unit =
"output_gain_flags"},
{.i64 = 1 << 3 }, INT_MIN, INT_MAX,
FLAGS, .unit =
"output_gain_flags"},
{.i64 = 1 << 2 }, INT_MIN, INT_MAX,
FLAGS, .unit =
"output_gain_flags"},
{.i64 = 1 << 1 }, INT_MIN, INT_MAX,
FLAGS, .unit =
"output_gain_flags"},
{.i64 = 1 << 0 }, INT_MIN, INT_MAX,
FLAGS, .unit =
"output_gain_flags"},
}
Definition at line 244 of file iamf.c.
◆ layer_class
◆ audio_element_options
Initial value:
Definition at line 284 of file iamf.c.
◆ audio_element_class
◆ submix_element_options
Initial value:= {
{
"headphones_rendering_mode",
"Headphones rendering mode",
OFFSET(headphones_rendering_mode),
AV_OPT_TYPE_INT,
}
Definition at line 361 of file iamf.c.
◆ element_class
◆ submix_layout_options
Initial value:= {
{
"dialog_anchored_loudness",
"Anchored loudness (Dialog)",
OFFSET(dialogue_anchored_loudness),
AV_OPT_TYPE_RATIONAL, { .dbl = 0 }, -128.0, 128.0,
FLAGS },
}
Definition at line 409 of file iamf.c.
◆ layout_class
◆ submix_presentation_options
const AVOption submix_presentation_options[] |
|
static |
Initial value:
Definition at line 437 of file iamf.c.
◆ submix_class
◆ mix_presentation_options
const AVOption mix_presentation_options[] |
|
static |
Initial value:
Definition at line 486 of file iamf.c.
◆ mix_presentation_class
const AVClass mix_presentation_class |
|
static |
static const AVOption audio_element_options[]
@ AV_IAMF_SUBMIX_LAYOUT_TYPE_LOUDSPEAKERS
The layout follows the loudspeaker sound system convention of ITU-2051-3.
static void * submix_presentation_child_next(void *obj, void *prev)
static const AVOption mix_gain_options[]
@ AV_IAMF_HEADPHONES_MODE_STEREO
The referenced Audio Element shall be rendered to stereo loudspeakers.
static void * submix_element_child_next(void *obj, void *prev)
@ AV_OPT_TYPE_RATIONAL
Underlying C type is AVRational.
static const AVOption recon_gain_options[]
static const AVOption submix_presentation_options[]
void * av_realloc_array(void *ptr, size_t nmemb, size_t size)
@ AV_IAMF_HEADPHONES_MODE_BINAURAL
The referenced Audio Element shall be rendered with a binaural renderer.
#define LIBAVUTIL_VERSION_INT
static double output_gain(double lin_slope, double ratio, double thres, double knee, double knee_start, double knee_stop, double range, int mode)
static const AVOption submix_element_options[]
@ AV_OPT_TYPE_DICT
Underlying C type is AVDictionary*.
const char * av_default_item_name(void *ptr)
Return the context name.
static const AVClass * submix_presentation_child_iterate(void **opaque)
static const AVOption demixing_info_options[]
static const AVOption param_definition_options[]
@ AV_IAMF_AMBISONICS_MODE_MONO
@ AV_OPT_TYPE_UINT
Underlying C type is unsigned int.
@ AV_OPT_TYPE_CHLAYOUT
Underlying C type is AVChannelLayout.
static const AVClass * param_definition_child_iterate(void **opaque)
void * av_mallocz(size_t size)
Allocate a memory block with alignment suitable for all memory accesses (including vectors if availab...
@ AV_IAMF_AUDIO_ELEMENT_TYPE_SCENE
static const AVOption submix_layout_options[]
static const AVClass * submix_element_child_iterate(void **opaque)
static const AVClass * mix_presentation_child_iterate(void **opaque)
@ AV_OPT_TYPE_INT
Underlying C type is int.
@ AV_IAMF_SUBMIX_LAYOUT_TYPE_BINAURAL
The layout is binaural.
@ AV_IAMF_AMBISONICS_MODE_PROJECTION
@ AV_OPT_TYPE_FLAGS
Underlying C type is unsigned int.
#define flags(name, subs,...)
@ AV_IAMF_AUDIO_ELEMENT_TYPE_CHANNEL
static const AVClass * audio_element_child_iterate(void **opaque)
@ AV_OPT_TYPE_CONST
Special option type for declaring named constants.
static const AVOption mix_presentation_options[]
static const AVOption layer_options[]