FFmpeg
|
Modules | |
Audio channel masks | |
A channel layout is a 64-bits integer with a bit set for every channel. The number of bits set must be equal to the number of channels. The value 0 means that the channel layout is not known. | |
Audio channel layouts | |
Files | |
file | channel_layout.h |
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... | |
Macros | |
#define | AV_CHANNEL_LAYOUT_MASK(nb, m) |
Macro to define native channel layouts. More... | |
Functions | |
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... | |
Deprecated 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... | |
const attribute_deprecated char * | av_get_channel_name (uint64_t channel) |
Get the name of a given channel. More... | |
const attribute_deprecated 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... | |
Audio channel layout utility functions
#define AV_CHANNEL_LAYOUT_MASK | ( | nb, | |
m | |||
) |
Macro to define native channel layouts.
Definition at line 372 of file channel_layout.h.
#define AV_CHANNEL_LAYOUT_MONO AV_CHANNEL_LAYOUT_MASK(1, AV_CH_LAYOUT_MONO) |
Definition at line 382 of file channel_layout.h.
#define AV_CHANNEL_LAYOUT_STEREO AV_CHANNEL_LAYOUT_MASK(2, AV_CH_LAYOUT_STEREO) |
Definition at line 383 of file channel_layout.h.
#define AV_CHANNEL_LAYOUT_2POINT1 AV_CHANNEL_LAYOUT_MASK(3, AV_CH_LAYOUT_2POINT1) |
Definition at line 384 of file channel_layout.h.
#define AV_CHANNEL_LAYOUT_2_1 AV_CHANNEL_LAYOUT_MASK(3, AV_CH_LAYOUT_2_1) |
Definition at line 385 of file channel_layout.h.
#define AV_CHANNEL_LAYOUT_SURROUND AV_CHANNEL_LAYOUT_MASK(3, AV_CH_LAYOUT_SURROUND) |
Definition at line 386 of file channel_layout.h.
#define AV_CHANNEL_LAYOUT_3POINT1 AV_CHANNEL_LAYOUT_MASK(4, AV_CH_LAYOUT_3POINT1) |
Definition at line 387 of file channel_layout.h.
#define AV_CHANNEL_LAYOUT_4POINT0 AV_CHANNEL_LAYOUT_MASK(4, AV_CH_LAYOUT_4POINT0) |
Definition at line 388 of file channel_layout.h.
#define AV_CHANNEL_LAYOUT_4POINT1 AV_CHANNEL_LAYOUT_MASK(5, AV_CH_LAYOUT_4POINT1) |
Definition at line 389 of file channel_layout.h.
#define AV_CHANNEL_LAYOUT_2_2 AV_CHANNEL_LAYOUT_MASK(4, AV_CH_LAYOUT_2_2) |
Definition at line 390 of file channel_layout.h.
#define AV_CHANNEL_LAYOUT_QUAD AV_CHANNEL_LAYOUT_MASK(4, AV_CH_LAYOUT_QUAD) |
Definition at line 391 of file channel_layout.h.
#define AV_CHANNEL_LAYOUT_5POINT0 AV_CHANNEL_LAYOUT_MASK(5, AV_CH_LAYOUT_5POINT0) |
Definition at line 392 of file channel_layout.h.
#define AV_CHANNEL_LAYOUT_5POINT1 AV_CHANNEL_LAYOUT_MASK(6, AV_CH_LAYOUT_5POINT1) |
Definition at line 393 of file channel_layout.h.
#define AV_CHANNEL_LAYOUT_5POINT0_BACK AV_CHANNEL_LAYOUT_MASK(5, AV_CH_LAYOUT_5POINT0_BACK) |
Definition at line 394 of file channel_layout.h.
#define AV_CHANNEL_LAYOUT_5POINT1_BACK AV_CHANNEL_LAYOUT_MASK(6, AV_CH_LAYOUT_5POINT1_BACK) |
Definition at line 395 of file channel_layout.h.
#define AV_CHANNEL_LAYOUT_6POINT0 AV_CHANNEL_LAYOUT_MASK(6, AV_CH_LAYOUT_6POINT0) |
Definition at line 396 of file channel_layout.h.
#define AV_CHANNEL_LAYOUT_6POINT0_FRONT AV_CHANNEL_LAYOUT_MASK(6, AV_CH_LAYOUT_6POINT0_FRONT) |
Definition at line 397 of file channel_layout.h.
#define AV_CHANNEL_LAYOUT_3POINT1POINT2 AV_CHANNEL_LAYOUT_MASK(6, AV_CH_LAYOUT_3POINT1POINT2) |
Definition at line 398 of file channel_layout.h.
#define AV_CHANNEL_LAYOUT_HEXAGONAL AV_CHANNEL_LAYOUT_MASK(6, AV_CH_LAYOUT_HEXAGONAL) |
Definition at line 399 of file channel_layout.h.
#define AV_CHANNEL_LAYOUT_6POINT1 AV_CHANNEL_LAYOUT_MASK(7, AV_CH_LAYOUT_6POINT1) |
Definition at line 400 of file channel_layout.h.
#define AV_CHANNEL_LAYOUT_6POINT1_BACK AV_CHANNEL_LAYOUT_MASK(7, AV_CH_LAYOUT_6POINT1_BACK) |
Definition at line 401 of file channel_layout.h.
#define AV_CHANNEL_LAYOUT_6POINT1_FRONT AV_CHANNEL_LAYOUT_MASK(7, AV_CH_LAYOUT_6POINT1_FRONT) |
Definition at line 402 of file channel_layout.h.
#define AV_CHANNEL_LAYOUT_7POINT0 AV_CHANNEL_LAYOUT_MASK(7, AV_CH_LAYOUT_7POINT0) |
Definition at line 403 of file channel_layout.h.
#define AV_CHANNEL_LAYOUT_7POINT0_FRONT AV_CHANNEL_LAYOUT_MASK(7, AV_CH_LAYOUT_7POINT0_FRONT) |
Definition at line 404 of file channel_layout.h.
#define AV_CHANNEL_LAYOUT_7POINT1 AV_CHANNEL_LAYOUT_MASK(8, AV_CH_LAYOUT_7POINT1) |
Definition at line 405 of file channel_layout.h.
#define AV_CHANNEL_LAYOUT_7POINT1_WIDE AV_CHANNEL_LAYOUT_MASK(8, AV_CH_LAYOUT_7POINT1_WIDE) |
Definition at line 406 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 407 of file channel_layout.h.
#define AV_CHANNEL_LAYOUT_5POINT1POINT2_BACK AV_CHANNEL_LAYOUT_MASK(8, AV_CH_LAYOUT_5POINT1POINT2_BACK) |
Definition at line 408 of file channel_layout.h.
#define AV_CHANNEL_LAYOUT_OCTAGONAL AV_CHANNEL_LAYOUT_MASK(8, AV_CH_LAYOUT_OCTAGONAL) |
Definition at line 409 of file channel_layout.h.
#define AV_CHANNEL_LAYOUT_CUBE AV_CHANNEL_LAYOUT_MASK(8, AV_CH_LAYOUT_CUBE) |
Definition at line 410 of file channel_layout.h.
#define AV_CHANNEL_LAYOUT_5POINT1POINT4_BACK AV_CHANNEL_LAYOUT_MASK(10, AV_CH_LAYOUT_5POINT1POINT4_BACK) |
Definition at line 411 of file channel_layout.h.
#define AV_CHANNEL_LAYOUT_7POINT1POINT2 AV_CHANNEL_LAYOUT_MASK(10, AV_CH_LAYOUT_7POINT1POINT2) |
Definition at line 412 of file channel_layout.h.
#define AV_CHANNEL_LAYOUT_7POINT1POINT4_BACK AV_CHANNEL_LAYOUT_MASK(12, AV_CH_LAYOUT_7POINT1POINT4_BACK) |
Definition at line 413 of file channel_layout.h.
#define AV_CHANNEL_LAYOUT_HEXADECAGONAL AV_CHANNEL_LAYOUT_MASK(16, AV_CH_LAYOUT_HEXADECAGONAL) |
Definition at line 414 of file channel_layout.h.
#define AV_CHANNEL_LAYOUT_STEREO_DOWNMIX AV_CHANNEL_LAYOUT_MASK(2, AV_CH_LAYOUT_STEREO_DOWNMIX) |
Definition at line 415 of file channel_layout.h.
#define AV_CHANNEL_LAYOUT_22POINT2 AV_CHANNEL_LAYOUT_MASK(24, AV_CH_LAYOUT_22POINT2) |
Definition at line 416 of file channel_layout.h.
#define AV_CHANNEL_LAYOUT_7POINT1_TOP_BACK AV_CHANNEL_LAYOUT_5POINT1POINT2_BACK |
Definition at line 418 of file channel_layout.h.
#define AV_CHANNEL_LAYOUT_AMBISONIC_FIRST_ORDER |
Definition at line 420 of file channel_layout.h.
enum AVChannel |
Enumerator | |
---|---|
AV_CHAN_NONE | Invalid channel index. |
AV_CHAN_FRONT_LEFT | |
AV_CHAN_FRONT_RIGHT | |
AV_CHAN_FRONT_CENTER | |
AV_CHAN_LOW_FREQUENCY | |
AV_CHAN_BACK_LEFT | |
AV_CHAN_BACK_RIGHT | |
AV_CHAN_FRONT_LEFT_OF_CENTER | |
AV_CHAN_FRONT_RIGHT_OF_CENTER | |
AV_CHAN_BACK_CENTER | |
AV_CHAN_SIDE_LEFT | |
AV_CHAN_SIDE_RIGHT | |
AV_CHAN_TOP_CENTER | |
AV_CHAN_TOP_FRONT_LEFT | |
AV_CHAN_TOP_FRONT_CENTER | |
AV_CHAN_TOP_FRONT_RIGHT | |
AV_CHAN_TOP_BACK_LEFT | |
AV_CHAN_TOP_BACK_CENTER | |
AV_CHAN_TOP_BACK_RIGHT | |
AV_CHAN_STEREO_LEFT | Stereo downmix. |
AV_CHAN_STEREO_RIGHT | See above. |
AV_CHAN_WIDE_LEFT | |
AV_CHAN_WIDE_RIGHT | |
AV_CHAN_SURROUND_DIRECT_LEFT | |
AV_CHAN_SURROUND_DIRECT_RIGHT | |
AV_CHAN_LOW_FREQUENCY_2 | |
AV_CHAN_TOP_SIDE_LEFT | |
AV_CHAN_TOP_SIDE_RIGHT | |
AV_CHAN_BOTTOM_FRONT_CENTER | |
AV_CHAN_BOTTOM_FRONT_LEFT | |
AV_CHAN_BOTTOM_FRONT_RIGHT | |
AV_CHAN_UNUSED | Channel is empty can be safely skipped. |
AV_CHAN_UNKNOWN | Channel contains data, but its position is unknown. |
AV_CHAN_AMBISONIC_BASE | Range of channels between AV_CHAN_AMBISONIC_BASE and AV_CHAN_AMBISONIC_END represent Ambisonic components using the ACN system. Given a channel id
|
AV_CHAN_AMBISONIC_END |
Definition at line 47 of file channel_layout.h.
enum AVChannelOrder |
Enumerator | |
---|---|
AV_CHANNEL_ORDER_UNSPEC | Only the channel count is specified, without any further information about the channel order. |
AV_CHANNEL_ORDER_NATIVE | The native channel order, i.e. the channels are in the same order in which they are defined in the AVChannel enum. This supports up to 63 different channels. |
AV_CHANNEL_ORDER_CUSTOM | The channel order does not correspond to any other predefined order and is stored as an explicit map. For example, this could be used to support layouts with 64 or more channels, or with empty/skipped (AV_CHAN_SILENCE) channels at arbitrary positions. |
AV_CHANNEL_ORDER_AMBISONIC | The audio is represented as the decomposition of the sound field into spherical harmonics. Each channel corresponds to a single expansion component. Channels are ordered according to ACN (Ambisonic Channel Number). The channel with the index n in the stream contains the spherical harmonic of degree l and order m given by l = floor(sqrt(n)),
m = n - l * (l + 1).
Conversely given a spherical harmonic of degree l and order m, the corresponding channel index n is given by n = l * (l + 1) + m.
Normalization is assumed to be SN3D (Schmidt Semi-Normalization) as defined in AmbiX format $ 2.1. |
Definition at line 107 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"
Definition at line 247 of file channel_layout.c.
Referenced by av_get_extended_channel_layout(), av_opt_set(), channelmap_init(), init_audio(), join_init(), new_stream_audio(), and parse_channel_layouts().
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 |
Definition at line 263 of file channel_layout.c.
Referenced by ff_parse_channel_layout().
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 |
nb_channels | number of channels |
channel_layout | channel layout bitset |
Definition at line 319 of file channel_layout.c.
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.
Definition at line 285 of file channel_layout.c.
Referenced by av_get_channel_layout_string().
attribute_deprecated int av_get_channel_layout_nb_channels | ( | uint64_t | channel_layout | ) |
Return the number of channels in the channel layout.
Definition at line 328 of file channel_layout.c.
Referenced by av_bprint_channel_layout(), av_buffersrc_add_frame_flags(), av_channel_layout_extract_channel(), av_get_channel_description(), av_get_channel_layout_channel_index(), av_get_channel_name(), av_get_extended_channel_layout(), available_samples(), ff_default_get_audio_buffer(), and swr_set_matrix().
attribute_deprecated int64_t av_get_default_channel_layout | ( | int | nb_channels | ) |
Return default channel layout for a given number of channels.
Definition at line 333 of file channel_layout.c.
Referenced by get_channel_layout_single().
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_layout | channel layout bitset |
channel | a channel layout describing exactly one channel which must be present in channel_layout. |
Definition at line 341 of file channel_layout.c.
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.
Definition at line 373 of file channel_layout.c.
Referenced by filter_frame().
const attribute_deprecated char* av_get_channel_name | ( | uint64_t | channel | ) |
Get the name of a given channel.
Definition at line 351 of file channel_layout.c.
Referenced by dump_paramchange().
const attribute_deprecated char* av_get_channel_description | ( | uint64_t | channel | ) |
Get the description of a given channel.
channel | a channel layout with a single channel |
Definition at line 362 of file channel_layout.c.
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 |
Definition at line 387 of file channel_layout.c.
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. |
channel | the AVChannel whose name to get |
Definition at line 101 of file channel_layout.c.
Referenced by channel_name(), channelmap_config_input(), filter_frame(), init(), join_config_output(), parse_mca_labels(), show_layouts(), and swr_build_matrix2().
void av_channel_name_bprint | ( | struct AVBPrint * | bp, |
enum AVChannel | channel_id | ||
) |
bprint variant of av_channel_name().
Definition at line 87 of file channel_layout.c.
Referenced by av_channel_layout_describe_bprint(), av_channel_name(), and main().
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. |
channel | the AVChannel whose description to get |
Definition at line 130 of file channel_layout.c.
Referenced by channel_description(), and show_layouts().
void av_channel_description_bprint | ( | struct AVBPrint * | bp, |
enum AVChannel | channel_id | ||
) |
bprint variant of av_channel_description().
Definition at line 116 of file channel_layout.c.
Referenced by av_channel_description().
enum AVChannel av_channel_from_string | ( | const char * | name | ) |
This is the inverse function of av_channel_name().
Definition at line 145 of file channel_layout.c.
Referenced by av_channel_layout_index_from_string(), get_channel(), main(), parse_channel_name(), and parse_maps().
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 |
Definition at line 399 of file channel_layout.c.
Referenced by ac3_decode_frame(), ac3_downmix(), apply_param_change(), asink_query_formats(), av_buffersrc_parameters_set(), av_channel_layout_from_string(), av_frame_ref(), av_frame_replace(), avcodec_open2(), avcodec_parameters_from_context(), avcodec_parameters_to_context(), avisynth_create_stream_audio(), channel_layout_from_mask(), channelmap_init(), config_changed(), cook_decode_init(), dcadec_init(), decode_init(), fdk_aac_decode_init(), ff_aac_ac3_parse(), ff_dca_lbr_filter_frame(), ff_dca_set_channel_layout(), ff_hls_senc_parse_audio_setup_info(), ff_mov_read_chan(), ff_parse_channel_layout(), ffat_update_ctx(), filter_frame(), flac_read_header(), get_audio_buffer(), get_stream_info(), init_audio(), init_muxer(), join_init(), main(), mlp_decode_init(), mlp_parse(), mov_read_dac3(), mov_read_ddts(), mov_read_dec3(), mov_read_dmlp(), new_stream_audio(), output_configure(), parse_channel_layouts(), parse_map(), parse_mca_labels(), parse_waveformatex(), query_formats(), read_restart_header(), s302m_parse_frame_header(), set_channel_info(), swap_channel_layouts_on_filter(), swr_build_matrix2(), swr_config_frame(), swr_init(), tak_decode_frame(), tak_read_header(), tta_decode_init(), wavpack_decode_block(), wsd_read_header(), wv_read_header(), and xma_decode_init().
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 |
Definition at line 412 of file channel_layout.c.
Referenced by activate(), asink_query_formats(), av_channel_layout_from_string(), av_opt_is_set_to_default(), channel_layout_from_string(), channelmap_init(), config_output(), ff_parse_channel_layout(), filter_frame(), init(), init_audio(), join_init(), new_stream_audio(), parse_channel_layouts(), and set_string_channel_layout().
void av_channel_layout_default | ( | AVChannelLayout * | ch_layout, |
int | nb_channels | ||
) |
Get the default channel layout for a given number of channels.
ch_layout | the layout structure to be initialized |
nb_channels | number of channels |
Definition at line 972 of file channel_layout.c.
Referenced by aea_read_header(), amf_parse_object(), amr_handle_packet(), apc_read_header(), audio_open(), av_channel_layout_from_string(), cdxl_read_packet(), channelmap_init(), configure_output_audio_filter(), cook_decode_init(), create_new_audio_stream(), decode_frame(), decode_init(), derf_read_header(), ffat_init_encoder(), ffat_update_ctx(), flv_read_packet(), fwse_read_header(), get_audio_config(), guess_channel_layout(), guess_input_channel_layout(), idcin_read_header(), init(), init_audio(), init_filter(), init_filters(), metasound_decode_init(), mmf_read_header(), mpc8_decode_init(), mpegaudio_parse(), open_output_file(), pcm_dvd_parse_header(), pp_bnk_read_header(), qdm2_decode_init(), query_formats(), sdns_read_header(), set_channel_info(), set_channel_layout(), set_channels(), smacker_read_header(), smka_decode_init(), sol_read_header(), speex_header(), str_read_packet(), swr_init(), tmv_read_header(), twinvq_decode_init(), vmd_read_header(), vmdaudio_decode_init(), wady_read_header(), wavarc_init(), wavarc_read_header(), wavpack_decode_block(), wsaud_read_header(), wsvqa_read_packet(), and xmd_read_header().
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. |
Definition at line 985 of file channel_layout.c.
Referenced by main(), and show_layouts().
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 |
Definition at line 640 of file channel_layout.c.
Referenced by ac3_decode_frame(), ac3_downmix(), adx_decode_header(), alac_decode_init(), amr_parse(), amrnb_decode_init(), amrwb_decode_init(), ape_decode_init(), apply_param_change(), asink_query_formats(), atrac9_decode_init(), audio_open(), av_buffersrc_parameters_set(), av_channel_layout_copy(), av_channel_layout_from_string(), av_frame_replace(), av_frame_unref(), av_opt_free(), avcodec_close(), avcodec_free_context(), avcodec_open2(), avfilter_link_free(), bmv_aud_decode_init(), channel_layout_from_mask(), channel_layout_from_string(), cinaudio_decode_init(), clear_context(), cng_decode_init(), codec_parameters_reset(), config_changed(), config_output(), configure_filtergraph(), cook_decode_init(), dcadec_init(), decode_frame(), decode_init(), dolby_e_decode_frame(), dss_sp_decode_init(), evrc_decode_init(), fdk_aac_decode_init(), ff_aac_ac3_parse(), ff_dca_lbr_filter_frame(), ff_dca_set_channel_layout(), ff_flac_set_channel_layout(), ff_get_wav_header(), ff_hls_senc_parse_audio_setup_info(), ff_make_channel_layout_list(), ff_mov_get_layout_from_channel_positions(), ff_mov_read_chan(), ff_mp4_read_dec_config_descr(), ff_opus_parse_extradata(), ff_rtp_get_codec_info(), ffat_create_decoder(), ffat_update_ctx(), fg_free(), g722_decode_init(), get_codec_data(), get_stream_info(), gsm_init(), ilbc_decode_init(), imc_decode_init(), init(), init_context_defaults(), libcodec2_init_decoder(), libgsm_decode_init(), libopus_decode_init(), libspeex_decode_init(), main(), merge_channel_layouts_internal(), metasound_decode_init(), mlp_decode_init(), mlp_parse(), mov_finalize_stsd_codec(), mov_read_dac3(), mov_read_ddts(), mov_read_dec3(), mov_read_dmlp(), mov_read_SA3D(), mpc7_decode_init(), mpc8_decode_init(), mpegaudio_parse(), oggvorbis_decode_init(), on2avc_decode_init(), osq_init(), output_configure(), paf_audio_init(), parse_channel_layouts(), pcm_bluray_parse_header(), pcm_dvd_parse_header(), pcm_read_header(), qcelp_decode_init(), qdm2_decode_init(), qdmc_decode_init(), query_formats(), ra144_decode_init(), ra288_decode_init(), read_header(), read_restart_header(), read_specific_config(), rka_decode_init(), s302m_parse_frame_header(), sbc_decode_frame(), sbc_parse_header(), set_channel_params(), set_string_channel_layout(), sipr_decoder_init(), siren_init(), smka_decode_init(), speex_decode_init(), stream_component_open(), swap_channel_layouts_on_filter(), swr_build_matrix2(), swr_config_frame(), swr_free(), swr_init(), tak_decode_frame(), tak_read_header(), truespeech_decode_init(), tta_decode_init(), twinvq_decode_init(), uninit(), vmdaudio_decode_init(), vorbis_decode_frame(), vorbis_decode_init(), wavarc_init(), wmavoice_decode_init(), ws_snd_decode_init(), and xma_decode_init().
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 |
Definition at line 647 of file channel_layout.c.
Referenced by activate(), add_stream(), aeval_config_output(), alloc_audio_frame(), audio_decode_frame(), audio_open(), audio_thread(), av_buffersink_get_ch_layout(), av_buffersrc_add_frame_flags(), av_buffersrc_parameters_set(), av_frame_make_writable(), av_frame_ref(), av_frame_replace(), av_opt_copy(), av_opt_get_chlayout(), av_opt_set_chlayout(), avcodec_parameters_copy(), avcodec_parameters_from_context(), avcodec_parameters_to_context(), avformat_find_stream_info(), channelmap_filter_frame(), clean_layout(), config_changed(), config_output(), config_props(), dfpwm_read_header(), enc_open(), ff_decode_receive_frame(), ff_default_get_audio_buffer(), ff_encode_alloc_frame(), ff_make_channel_layout_list(), ff_mov_get_channel_layout_from_config(), ff_opus_parse_extradata(), fg_transcode_step(), fill_frame_props(), filter_frame(), get_input(), guess_channel_layout(), ifilter_parameters_from_dec(), ifilter_parameters_from_frame(), ifilter_send_eof(), init(), init_decoder(), init_encoder(), init_output_frame(), libopus_decode_init(), main(), merge_channel_layouts_internal(), oma_read_header(), open_output_file(), output_configure(), pad_last_frame(), pcm_read_header(), pick_format(), read_frame_internal(), read_header_openmpt(), receive_samples(), reduce_formats_on_filter(), run_test(), select_channel_layout(), set_channel_layout(), spawn_empty_frame(), stream_component_open(), swap_channel_layouts_on_filter(), swr_config_frame(), swr_init(), try_push_frame(), update_context_from_thread(), vorbis_decode_frame(), vorbis_decode_init(), and wavpack_decode_block().
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. |
Definition at line 786 of file channel_layout.c.
Referenced by aac_encode_init(), audio_thread(), av_opt_get(), avcodec_string(), channel_layout_from_mask(), channel_layout_from_string(), channelmap_config_input(), channelmap_init(), clean_layout(), config_output(), config_props(), dprint_options(), draw_legend(), encode_preinit_audio(), ff_alsa_open(), ff_framehash_write_header(), filter_frame(), guess_channel_layout(), guess_input_channel_layout(), init_audio(), init_encoder(), init_filter(), init_filter_graph(), init_filters(), libopus_check_vorbis_layout(), libvorbis_setup(), main(), mov_write_chnl_tag(), print_codec(), print_digraph(), print_formats_internal(), print_link_prop(), query_formats(), show_frame(), show_layouts(), show_stream(), swr_build_matrix2(), and swr_init().
int av_channel_layout_describe_bprint | ( | const AVChannelLayout * | channel_layout, |
struct AVBPrint * | bp | ||
) |
bprint variant of av_channel_layout_describe().
Definition at line 740 of file channel_layout.c.
Referenced by av_channel_layout_describe(), choose_channel_layouts(), configure_audio_filters(), configure_input_audio_filter(), configure_output_audio_filter(), main(), tlog_ref(), and try_describe_ambisonic().
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 |
idx | index of the channel |
Definition at line 806 of file channel_layout.c.
Referenced by av_channel_layout_channel_from_string(), av_channel_layout_compare(), av_channel_layout_describe_bprint(), av_channel_layout_from_string(), bypass_channel(), config_audio_output(), config_output(), feed(), ff_mov_get_channel_layout_tag(), ff_mov_get_channel_positions_from_layout(), filter_channel(), filter_channels(), filter_frame(), generate_kernel(), get_speaker_pos(), init(), join_config_output(), join_init(), l2_1_upmix(), query_formats(), remap_layout(), stereo_upmix(), surround_upmix(), swap_channel_layouts_on_filter(), and swr_build_matrix2().
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 |
channel | the channel whose index to obtain |
Definition at line 846 of file channel_layout.c.
Referenced by ac3_decode_frame(), av_channel_layout_index_from_string(), av_channel_layout_subset(), bypass_channel(), channelmap_config_input(), channelmap_init(), clean_layout(), config_input(), config_output(), config_props(), convert_coeffs(), feed(), filter_channel(), filter_channels(), init(), join_config_output(), main(), pulse_map_channels_to_pulse(), query_formats(), read_restart_header(), set_input_levels(), set_output_levels(), show_layouts(), and swr_build_matrix2().
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 |
name | string describing the channel whose index to obtain |
Definition at line 880 of file channel_layout.c.
Referenced by av_channel_layout_channel_from_string(), and parse_maps().
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 |
name | string describing the channel to obtain |
Definition at line 835 of file channel_layout.c.
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 |
Definition at line 998 of file channel_layout.c.
Referenced by mlp_channel_layout_subset(), mlp_encode_init(), pcm_bluray_encode_init(), query_formats(), sane_layout(), swap_channel_layouts_on_filter(), and swr_build_matrix2().
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 |
Definition at line 916 of file channel_layout.c.
Referenced by av_frame_copy(), av_frame_get_buffer(), av_frame_ref(), av_frame_replace(), avcodec_open2(), channel_layout_from_mask(), channel_layout_from_string(), choose_channel_layouts(), configure_input_audio_filter(), flv_read_packet(), frame_copy_audio(), frame_validate(), merge_channel_layouts_internal(), mlp_channel_layout_subset(), pulse_write_header(), query_formats(), swr_build_matrix2(), swr_init(), and xwma_read_header().
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 |
Definition at line 942 of file channel_layout.c.
Referenced by aac_decode_frame_int(), aac_encode_init(), ac3_decode_frame(), ac3_downmix(), audio_decode_frame(), audio_thread(), av_opt_is_set_to_default(), channelmap_init(), config_changed(), config_output(), dcadec_init(), encode_preinit_audio(), ff_decode_receive_frame(), ff_filter_frame(), ff_mov_get_channel_config_from_layout(), ff_put_wav_header(), flac_encode_init(), frame_copy_audio(), get_aac_tag(), get_buffer(), get_mix_any_func_TMPL(), ifilter_send_frame(), layouts_compatible(), libopus_check_vorbis_layout(), libvorbis_setup(), main(), merge_channel_layouts_internal(), mov_write_header(), reduce_formats_on_filter(), run_test(), swr_build_matrix2(), swr_init(), and wavpack_decode_block().