FFmpeg 5.1.6
|
Modules | |
Audio FIFO Buffer | |
Audio channel masks | |
A channel layout is a 64-bits integer with a bit set for every channel. | |
Audio channel layouts | |
Audio downmix metadata | |
Audio sample formats | |
Audio sample format enumeration and related convenience functions. | |
Samples manipulation | |
Functions that manipulate audio samples. | |
Data Structures | |
struct | AVChannelCustom |
An AVChannelCustom defines a single channel within a custom order layout. More... | |
struct | AVChannelLayout |
An AVChannelLayout holds information about the channel layout of audio data. More... | |
Functions | |
attribute_deprecated uint64_t | av_get_channel_layout (const char *name) |
Return a channel layout id that matches name, or 0 if no match is found. More... | |
attribute_deprecated int | av_get_extended_channel_layout (const char *name, uint64_t *channel_layout, int *nb_channels) |
Return a channel layout and the number of channels based on the specified name. More... | |
attribute_deprecated void | av_get_channel_layout_string (char *buf, int buf_size, int nb_channels, uint64_t channel_layout) |
Return a description of a channel layout. More... | |
attribute_deprecated void | av_bprint_channel_layout (struct AVBPrint *bp, int nb_channels, uint64_t channel_layout) |
Append a description of a channel layout to a bprint buffer. More... | |
attribute_deprecated int | av_get_channel_layout_nb_channels (uint64_t channel_layout) |
Return the number of channels in the channel layout. More... | |
attribute_deprecated int64_t | av_get_default_channel_layout (int nb_channels) |
Return default channel layout for a given number of channels. More... | |
attribute_deprecated int | av_get_channel_layout_channel_index (uint64_t channel_layout, uint64_t channel) |
Get the index of a channel in channel_layout. More... | |
attribute_deprecated uint64_t | av_channel_layout_extract_channel (uint64_t channel_layout, int index) |
Get the channel with the given index in channel_layout. More... | |
attribute_deprecated const char * | av_get_channel_name (uint64_t channel) |
Get the name of a given channel. More... | |
attribute_deprecated const char * | av_get_channel_description (uint64_t channel) |
Get the description of a given channel. More... | |
attribute_deprecated int | av_get_standard_channel_layout (unsigned index, uint64_t *layout, const char **name) |
Get the value and name of a standard channel layout. More... | |
int | av_channel_name (char *buf, size_t buf_size, enum AVChannel channel) |
Get a human readable string in an abbreviated form describing a given channel. More... | |
void | av_channel_name_bprint (struct AVBPrint *bp, enum AVChannel channel_id) |
bprint variant of av_channel_name(). More... | |
int | av_channel_description (char *buf, size_t buf_size, enum AVChannel channel) |
Get a human readable string describing a given channel. More... | |
void | av_channel_description_bprint (struct AVBPrint *bp, enum AVChannel channel_id) |
bprint variant of av_channel_description(). More... | |
enum AVChannel | av_channel_from_string (const char *name) |
This is the inverse function of av_channel_name(). More... | |
int | av_channel_layout_from_mask (AVChannelLayout *channel_layout, uint64_t mask) |
Initialize a native channel layout from a bitmask indicating which channels are present. More... | |
int | av_channel_layout_from_string (AVChannelLayout *channel_layout, const char *str) |
Initialize a channel layout from a given string description. More... | |
void | av_channel_layout_default (AVChannelLayout *ch_layout, int nb_channels) |
Get the default channel layout for a given number of channels. More... | |
const AVChannelLayout * | av_channel_layout_standard (void **opaque) |
Iterate over all standard channel layouts. More... | |
void | av_channel_layout_uninit (AVChannelLayout *channel_layout) |
Free any allocated data in the channel layout and reset the channel count to 0. More... | |
int | av_channel_layout_copy (AVChannelLayout *dst, const AVChannelLayout *src) |
Make a copy of a channel layout. More... | |
int | av_channel_layout_describe (const AVChannelLayout *channel_layout, char *buf, size_t buf_size) |
Get a human-readable string describing the channel layout properties. More... | |
int | av_channel_layout_describe_bprint (const AVChannelLayout *channel_layout, struct AVBPrint *bp) |
bprint variant of av_channel_layout_describe(). More... | |
enum AVChannel | av_channel_layout_channel_from_index (const AVChannelLayout *channel_layout, unsigned int idx) |
Get the channel with the given index in a channel layout. More... | |
int | av_channel_layout_index_from_channel (const AVChannelLayout *channel_layout, enum AVChannel channel) |
Get the index of a given channel in a channel layout. More... | |
int | av_channel_layout_index_from_string (const AVChannelLayout *channel_layout, const char *name) |
Get the index in a channel layout of a channel described by the given string. More... | |
enum AVChannel | av_channel_layout_channel_from_string (const AVChannelLayout *channel_layout, const char *name) |
Get a channel described by the given string. More... | |
uint64_t | av_channel_layout_subset (const AVChannelLayout *channel_layout, uint64_t mask) |
Find out what channels from a given set are present in a channel layout, without regard for their positions. More... | |
int | av_channel_layout_check (const AVChannelLayout *channel_layout) |
Check whether a channel layout is valid, i.e. More... | |
int | av_channel_layout_compare (const AVChannelLayout *chl, const AVChannelLayout *chl1) |
Check whether two channel layouts are semantically the same, i.e. More... | |
#define AV_CHANNEL_LAYOUT_MASK | ( | nb, | |
m | |||
) | { .order = AV_CHANNEL_ORDER_NATIVE, .nb_channels = (nb), .u = { .mask = (m) }} |
Definition at line 350 of file channel_layout.h.
#define AV_CHANNEL_LAYOUT_MONO AV_CHANNEL_LAYOUT_MASK(1, AV_CH_LAYOUT_MONO) |
Definition at line 353 of file channel_layout.h.
#define AV_CHANNEL_LAYOUT_STEREO AV_CHANNEL_LAYOUT_MASK(2, AV_CH_LAYOUT_STEREO) |
Definition at line 354 of file channel_layout.h.
#define AV_CHANNEL_LAYOUT_2POINT1 AV_CHANNEL_LAYOUT_MASK(3, AV_CH_LAYOUT_2POINT1) |
Definition at line 355 of file channel_layout.h.
#define AV_CHANNEL_LAYOUT_2_1 AV_CHANNEL_LAYOUT_MASK(3, AV_CH_LAYOUT_2_1) |
Definition at line 356 of file channel_layout.h.
#define AV_CHANNEL_LAYOUT_SURROUND AV_CHANNEL_LAYOUT_MASK(3, AV_CH_LAYOUT_SURROUND) |
Definition at line 357 of file channel_layout.h.
#define AV_CHANNEL_LAYOUT_3POINT1 AV_CHANNEL_LAYOUT_MASK(4, AV_CH_LAYOUT_3POINT1) |
Definition at line 358 of file channel_layout.h.
#define AV_CHANNEL_LAYOUT_4POINT0 AV_CHANNEL_LAYOUT_MASK(4, AV_CH_LAYOUT_4POINT0) |
Definition at line 359 of file channel_layout.h.
#define AV_CHANNEL_LAYOUT_4POINT1 AV_CHANNEL_LAYOUT_MASK(5, AV_CH_LAYOUT_4POINT1) |
Definition at line 360 of file channel_layout.h.
#define AV_CHANNEL_LAYOUT_2_2 AV_CHANNEL_LAYOUT_MASK(4, AV_CH_LAYOUT_2_2) |
Definition at line 361 of file channel_layout.h.
#define AV_CHANNEL_LAYOUT_QUAD AV_CHANNEL_LAYOUT_MASK(4, AV_CH_LAYOUT_QUAD) |
Definition at line 362 of file channel_layout.h.
#define AV_CHANNEL_LAYOUT_5POINT0 AV_CHANNEL_LAYOUT_MASK(5, AV_CH_LAYOUT_5POINT0) |
Definition at line 363 of file channel_layout.h.
#define AV_CHANNEL_LAYOUT_5POINT1 AV_CHANNEL_LAYOUT_MASK(6, AV_CH_LAYOUT_5POINT1) |
Definition at line 364 of file channel_layout.h.
#define AV_CHANNEL_LAYOUT_5POINT0_BACK AV_CHANNEL_LAYOUT_MASK(5, AV_CH_LAYOUT_5POINT0_BACK) |
Definition at line 365 of file channel_layout.h.
#define AV_CHANNEL_LAYOUT_5POINT1_BACK AV_CHANNEL_LAYOUT_MASK(6, AV_CH_LAYOUT_5POINT1_BACK) |
Definition at line 366 of file channel_layout.h.
#define AV_CHANNEL_LAYOUT_6POINT0 AV_CHANNEL_LAYOUT_MASK(6, AV_CH_LAYOUT_6POINT0) |
Definition at line 367 of file channel_layout.h.
#define AV_CHANNEL_LAYOUT_6POINT0_FRONT AV_CHANNEL_LAYOUT_MASK(6, AV_CH_LAYOUT_6POINT0_FRONT) |
Definition at line 368 of file channel_layout.h.
#define AV_CHANNEL_LAYOUT_HEXAGONAL AV_CHANNEL_LAYOUT_MASK(6, AV_CH_LAYOUT_HEXAGONAL) |
Definition at line 369 of file channel_layout.h.
#define AV_CHANNEL_LAYOUT_6POINT1 AV_CHANNEL_LAYOUT_MASK(7, AV_CH_LAYOUT_6POINT1) |
Definition at line 370 of file channel_layout.h.
#define AV_CHANNEL_LAYOUT_6POINT1_BACK AV_CHANNEL_LAYOUT_MASK(7, AV_CH_LAYOUT_6POINT1_BACK) |
Definition at line 371 of file channel_layout.h.
#define AV_CHANNEL_LAYOUT_6POINT1_FRONT AV_CHANNEL_LAYOUT_MASK(7, AV_CH_LAYOUT_6POINT1_FRONT) |
Definition at line 372 of file channel_layout.h.
#define AV_CHANNEL_LAYOUT_7POINT0 AV_CHANNEL_LAYOUT_MASK(7, AV_CH_LAYOUT_7POINT0) |
Definition at line 373 of file channel_layout.h.
#define AV_CHANNEL_LAYOUT_7POINT0_FRONT AV_CHANNEL_LAYOUT_MASK(7, AV_CH_LAYOUT_7POINT0_FRONT) |
Definition at line 374 of file channel_layout.h.
#define AV_CHANNEL_LAYOUT_7POINT1 AV_CHANNEL_LAYOUT_MASK(8, AV_CH_LAYOUT_7POINT1) |
Definition at line 375 of file channel_layout.h.
#define AV_CHANNEL_LAYOUT_7POINT1_WIDE AV_CHANNEL_LAYOUT_MASK(8, AV_CH_LAYOUT_7POINT1_WIDE) |
Definition at line 376 of file channel_layout.h.
#define AV_CHANNEL_LAYOUT_7POINT1_WIDE_BACK AV_CHANNEL_LAYOUT_MASK(8, AV_CH_LAYOUT_7POINT1_WIDE_BACK) |
Definition at line 377 of file channel_layout.h.
#define AV_CHANNEL_LAYOUT_OCTAGONAL AV_CHANNEL_LAYOUT_MASK(8, AV_CH_LAYOUT_OCTAGONAL) |
Definition at line 378 of file channel_layout.h.
#define AV_CHANNEL_LAYOUT_HEXADECAGONAL AV_CHANNEL_LAYOUT_MASK(16, AV_CH_LAYOUT_HEXADECAGONAL) |
Definition at line 379 of file channel_layout.h.
#define AV_CHANNEL_LAYOUT_STEREO_DOWNMIX AV_CHANNEL_LAYOUT_MASK(2, AV_CH_LAYOUT_STEREO_DOWNMIX) |
Definition at line 380 of file channel_layout.h.
#define AV_CHANNEL_LAYOUT_22POINT2 AV_CHANNEL_LAYOUT_MASK(24, AV_CH_LAYOUT_22POINT2) |
Definition at line 381 of file channel_layout.h.
#define AV_CHANNEL_LAYOUT_AMBISONIC_FIRST_ORDER { .order = AV_CHANNEL_ORDER_AMBISONIC, .nb_channels = 4, .u = { .mask = 0 }} |
Definition at line 382 of file channel_layout.h.
enum AVChannel |
Definition at line 41 of file channel_layout.h.
enum AVChannelOrder |
Definition at line 101 of file channel_layout.h.
attribute_deprecated uint64_t av_get_channel_layout | ( | const char * | name | ) |
Return a channel layout id that matches name, or 0 if no match is found.
name can be one or several of the following notations, separated by '+' or '|':
Example: "stereo+FC" = "2c+FC" = "2c+1c" = "0x7"
attribute_deprecated int av_get_extended_channel_layout | ( | const char * | name, |
uint64_t * | channel_layout, | ||
int * | nb_channels | ||
) |
Return a channel layout and the number of channels based on the specified name.
This function is similar to (
[in] | name | channel layout specification string |
[out] | channel_layout | parsed channel layout (0 if unknown) |
[out] | nb_channels | number of channels |
attribute_deprecated void av_get_channel_layout_string | ( | char * | buf, |
int | buf_size, | ||
int | nb_channels, | ||
uint64_t | channel_layout | ||
) |
Return a description of a channel layout.
If nb_channels is <= 0, it is guessed from the channel_layout.
buf | put here the string containing the channel layout |
buf_size | size in bytes of the buffer |
attribute_deprecated void av_bprint_channel_layout | ( | struct AVBPrint * | bp, |
int | nb_channels, | ||
uint64_t | channel_layout | ||
) |
Append a description of a channel layout to a bprint buffer.
attribute_deprecated int av_get_channel_layout_nb_channels | ( | uint64_t | channel_layout | ) |
Return the number of channels in the channel layout.
attribute_deprecated int64_t av_get_default_channel_layout | ( | int | nb_channels | ) |
Return default channel layout for a given number of channels.
attribute_deprecated int av_get_channel_layout_channel_index | ( | uint64_t | channel_layout, |
uint64_t | channel | ||
) |
Get the index of a channel in channel_layout.
channel | a channel layout describing exactly one channel which must be present in channel_layout. |
attribute_deprecated uint64_t av_channel_layout_extract_channel | ( | uint64_t | channel_layout, |
int | index | ||
) |
Get the channel with the given index in channel_layout.
attribute_deprecated const char * av_get_channel_name | ( | uint64_t | channel | ) |
Get the name of a given channel.
attribute_deprecated const char * av_get_channel_description | ( | uint64_t | channel | ) |
Get the description of a given channel.
channel | a channel layout with a single channel |
attribute_deprecated int av_get_standard_channel_layout | ( | unsigned | index, |
uint64_t * | layout, | ||
const char ** | name | ||
) |
Get the value and name of a standard channel layout.
[in] | index | index in an internal list, starting at 0 |
[out] | layout | channel layout mask |
[out] | name | name of the layout |
int av_channel_name | ( | char * | buf, |
size_t | buf_size, | ||
enum AVChannel | channel | ||
) |
Get a human readable string in an abbreviated form describing a given channel.
This is the inverse function of av_channel_from_string().
buf | pre-allocated buffer where to put the generated string |
buf_size | size in bytes of the buffer. |
void av_channel_name_bprint | ( | struct AVBPrint * | bp, |
enum AVChannel | channel_id | ||
) |
bprint variant of av_channel_name().
int av_channel_description | ( | char * | buf, |
size_t | buf_size, | ||
enum AVChannel | channel | ||
) |
Get a human readable string describing a given channel.
buf | pre-allocated buffer where to put the generated string |
buf_size | size in bytes of the buffer. |
void av_channel_description_bprint | ( | struct AVBPrint * | bp, |
enum AVChannel | channel_id | ||
) |
bprint variant of av_channel_description().
enum AVChannel av_channel_from_string | ( | const char * | name | ) |
This is the inverse function of av_channel_name().
int av_channel_layout_from_mask | ( | AVChannelLayout * | channel_layout, |
uint64_t | mask | ||
) |
Initialize a native channel layout from a bitmask indicating which channels are present.
channel_layout | the layout structure to be initialized |
mask | bitmask describing the channel layout |
int av_channel_layout_from_string | ( | AVChannelLayout * | channel_layout, |
const char * | str | ||
) |
Initialize a channel layout from a given string description.
The input string can be represented by:
channel_layout | input channel layout |
str | string describing the channel layout |
void av_channel_layout_default | ( | AVChannelLayout * | ch_layout, |
int | nb_channels | ||
) |
Get the default channel layout for a given number of channels.
channel_layout | the layout structure to be initialized |
nb_channels | number of channels |
Referenced by init_filter(), init_filters(), and open_output_file().
const AVChannelLayout * av_channel_layout_standard | ( | void ** | opaque | ) |
Iterate over all standard channel layouts.
opaque | a pointer where libavutil will store the iteration state. Must point to NULL to start the iteration. |
void av_channel_layout_uninit | ( | AVChannelLayout * | channel_layout | ) |
Free any allocated data in the channel layout and reset the channel count to 0.
channel_layout | the layout structure to be uninitialized |
int av_channel_layout_copy | ( | AVChannelLayout * | dst, |
const AVChannelLayout * | src | ||
) |
Make a copy of a channel layout.
This differs from just assigning src to dst in that it allocates and copies the map for AV_CHANNEL_ORDER_CUSTOM.
dst | destination channel layout |
src | source channel layout |
Referenced by add_stream(), alloc_audio_frame(), get_input(), init_output_frame(), main(), open_output_file(), and select_channel_layout().
int av_channel_layout_describe | ( | const AVChannelLayout * | channel_layout, |
char * | buf, | ||
size_t | buf_size | ||
) |
Get a human-readable string describing the channel layout properties.
The string will be in the same format that is accepted by av_channel_layout_from_string(), allowing to rebuild the same channel layout, except for opaque pointers.
channel_layout | channel layout to be described |
buf | pre-allocated buffer where to put the generated string |
buf_size | size in bytes of the buffer. |
Referenced by init_filter(), init_filter_graph(), init_filters(), and main().
int av_channel_layout_describe_bprint | ( | const AVChannelLayout * | channel_layout, |
struct AVBPrint * | bp | ||
) |
bprint variant of av_channel_layout_describe().
enum AVChannel av_channel_layout_channel_from_index | ( | const AVChannelLayout * | channel_layout, |
unsigned int | idx | ||
) |
Get the channel with the given index in a channel layout.
channel_layout | input channel layout |
int av_channel_layout_index_from_channel | ( | const AVChannelLayout * | channel_layout, |
enum AVChannel | channel | ||
) |
Get the index of a given channel in a channel layout.
In case multiple channels are found, only the first match will be returned.
channel_layout | input channel layout |
int av_channel_layout_index_from_string | ( | const AVChannelLayout * | channel_layout, |
const char * | name | ||
) |
Get the index in a channel layout of a channel described by the given string.
In case multiple channels are found, only the first match will be returned.
This function accepts channel names in the same format as av_channel_from_string().
channel_layout | input channel layout |
enum AVChannel av_channel_layout_channel_from_string | ( | const AVChannelLayout * | channel_layout, |
const char * | name | ||
) |
Get a channel described by the given string.
This function accepts channel names in the same format as av_channel_from_string().
channel_layout | input channel layout |
uint64_t av_channel_layout_subset | ( | const AVChannelLayout * | channel_layout, |
uint64_t | mask | ||
) |
Find out what channels from a given set are present in a channel layout, without regard for their positions.
channel_layout | input channel layout |
mask | a combination of AV_CH_* representing a set of channels |
int av_channel_layout_check | ( | const AVChannelLayout * | channel_layout | ) |
Check whether a channel layout is valid, i.e.
can possibly describe audio data.
channel_layout | input channel layout |
int av_channel_layout_compare | ( | const AVChannelLayout * | chl, |
const AVChannelLayout * | chl1 | ||
) |
Check whether two channel layouts are semantically the same, i.e.
the same channels are present on the same positions in both.
If one of the channel layouts is AV_CHANNEL_ORDER_UNSPEC, while the other is not, they are considered to be unequal. If both are AV_CHANNEL_ORDER_UNSPEC, they are considered equal iff the channel counts are the same in both.
chl | input channel layout |
chl1 | input channel layout |