FFmpeg  4.0
Macros | Enumerations | Functions
channel_layout.h File Reference

audio channel layout utility functions More...

#include <stdint.h>

Go to the source code of this file.

Macros

#define AV_CH_FRONT_LEFT   0x00000001
 
#define AV_CH_FRONT_RIGHT   0x00000002
 
#define AV_CH_FRONT_CENTER   0x00000004
 
#define AV_CH_LOW_FREQUENCY   0x00000008
 
#define AV_CH_BACK_LEFT   0x00000010
 
#define AV_CH_BACK_RIGHT   0x00000020
 
#define AV_CH_FRONT_LEFT_OF_CENTER   0x00000040
 
#define AV_CH_FRONT_RIGHT_OF_CENTER   0x00000080
 
#define AV_CH_BACK_CENTER   0x00000100
 
#define AV_CH_SIDE_LEFT   0x00000200
 
#define AV_CH_SIDE_RIGHT   0x00000400
 
#define AV_CH_TOP_CENTER   0x00000800
 
#define AV_CH_TOP_FRONT_LEFT   0x00001000
 
#define AV_CH_TOP_FRONT_CENTER   0x00002000
 
#define AV_CH_TOP_FRONT_RIGHT   0x00004000
 
#define AV_CH_TOP_BACK_LEFT   0x00008000
 
#define AV_CH_TOP_BACK_CENTER   0x00010000
 
#define AV_CH_TOP_BACK_RIGHT   0x00020000
 
#define AV_CH_STEREO_LEFT   0x20000000
 Stereo downmix. More...
 
#define AV_CH_STEREO_RIGHT   0x40000000
 See AV_CH_STEREO_LEFT. More...
 
#define AV_CH_WIDE_LEFT   0x0000000080000000ULL
 
#define AV_CH_WIDE_RIGHT   0x0000000100000000ULL
 
#define AV_CH_SURROUND_DIRECT_LEFT   0x0000000200000000ULL
 
#define AV_CH_SURROUND_DIRECT_RIGHT   0x0000000400000000ULL
 
#define AV_CH_LOW_FREQUENCY_2   0x0000000800000000ULL
 
#define AV_CH_LAYOUT_NATIVE   0x8000000000000000ULL
 Channel mask value used for AVCodecContext.request_channel_layout to indicate that the user requests the channel order of the decoder output to be the native codec channel order. More...
 
#define AV_CH_LAYOUT_MONO   (AV_CH_FRONT_CENTER)
 
#define AV_CH_LAYOUT_STEREO   (AV_CH_FRONT_LEFT|AV_CH_FRONT_RIGHT)
 
#define AV_CH_LAYOUT_2POINT1   (AV_CH_LAYOUT_STEREO|AV_CH_LOW_FREQUENCY)
 
#define AV_CH_LAYOUT_2_1   (AV_CH_LAYOUT_STEREO|AV_CH_BACK_CENTER)
 
#define AV_CH_LAYOUT_SURROUND   (AV_CH_LAYOUT_STEREO|AV_CH_FRONT_CENTER)
 
#define AV_CH_LAYOUT_3POINT1   (AV_CH_LAYOUT_SURROUND|AV_CH_LOW_FREQUENCY)
 
#define AV_CH_LAYOUT_4POINT0   (AV_CH_LAYOUT_SURROUND|AV_CH_BACK_CENTER)
 
#define AV_CH_LAYOUT_4POINT1   (AV_CH_LAYOUT_4POINT0|AV_CH_LOW_FREQUENCY)
 
#define AV_CH_LAYOUT_2_2   (AV_CH_LAYOUT_STEREO|AV_CH_SIDE_LEFT|AV_CH_SIDE_RIGHT)
 
#define AV_CH_LAYOUT_QUAD   (AV_CH_LAYOUT_STEREO|AV_CH_BACK_LEFT|AV_CH_BACK_RIGHT)
 
#define AV_CH_LAYOUT_5POINT0   (AV_CH_LAYOUT_SURROUND|AV_CH_SIDE_LEFT|AV_CH_SIDE_RIGHT)
 
#define AV_CH_LAYOUT_5POINT1   (AV_CH_LAYOUT_5POINT0|AV_CH_LOW_FREQUENCY)
 
#define AV_CH_LAYOUT_5POINT0_BACK   (AV_CH_LAYOUT_SURROUND|AV_CH_BACK_LEFT|AV_CH_BACK_RIGHT)
 
#define AV_CH_LAYOUT_5POINT1_BACK   (AV_CH_LAYOUT_5POINT0_BACK|AV_CH_LOW_FREQUENCY)
 
#define AV_CH_LAYOUT_6POINT0   (AV_CH_LAYOUT_5POINT0|AV_CH_BACK_CENTER)
 
#define AV_CH_LAYOUT_6POINT0_FRONT   (AV_CH_LAYOUT_2_2|AV_CH_FRONT_LEFT_OF_CENTER|AV_CH_FRONT_RIGHT_OF_CENTER)
 
#define AV_CH_LAYOUT_HEXAGONAL   (AV_CH_LAYOUT_5POINT0_BACK|AV_CH_BACK_CENTER)
 
#define AV_CH_LAYOUT_6POINT1   (AV_CH_LAYOUT_5POINT1|AV_CH_BACK_CENTER)
 
#define AV_CH_LAYOUT_6POINT1_BACK   (AV_CH_LAYOUT_5POINT1_BACK|AV_CH_BACK_CENTER)
 
#define AV_CH_LAYOUT_6POINT1_FRONT   (AV_CH_LAYOUT_6POINT0_FRONT|AV_CH_LOW_FREQUENCY)
 
#define AV_CH_LAYOUT_7POINT0   (AV_CH_LAYOUT_5POINT0|AV_CH_BACK_LEFT|AV_CH_BACK_RIGHT)
 
#define AV_CH_LAYOUT_7POINT0_FRONT   (AV_CH_LAYOUT_5POINT0|AV_CH_FRONT_LEFT_OF_CENTER|AV_CH_FRONT_RIGHT_OF_CENTER)
 
#define AV_CH_LAYOUT_7POINT1   (AV_CH_LAYOUT_5POINT1|AV_CH_BACK_LEFT|AV_CH_BACK_RIGHT)
 
#define AV_CH_LAYOUT_7POINT1_WIDE   (AV_CH_LAYOUT_5POINT1|AV_CH_FRONT_LEFT_OF_CENTER|AV_CH_FRONT_RIGHT_OF_CENTER)
 
#define AV_CH_LAYOUT_7POINT1_WIDE_BACK   (AV_CH_LAYOUT_5POINT1_BACK|AV_CH_FRONT_LEFT_OF_CENTER|AV_CH_FRONT_RIGHT_OF_CENTER)
 
#define AV_CH_LAYOUT_OCTAGONAL   (AV_CH_LAYOUT_5POINT0|AV_CH_BACK_LEFT|AV_CH_BACK_CENTER|AV_CH_BACK_RIGHT)
 
#define AV_CH_LAYOUT_HEXADECAGONAL   (AV_CH_LAYOUT_OCTAGONAL|AV_CH_WIDE_LEFT|AV_CH_WIDE_RIGHT|AV_CH_TOP_BACK_LEFT|AV_CH_TOP_BACK_RIGHT|AV_CH_TOP_BACK_CENTER|AV_CH_TOP_FRONT_CENTER|AV_CH_TOP_FRONT_LEFT|AV_CH_TOP_FRONT_RIGHT)
 
#define AV_CH_LAYOUT_STEREO_DOWNMIX   (AV_CH_STEREO_LEFT|AV_CH_STEREO_RIGHT)
 

Enumerations

enum  AVMatrixEncoding {
  AV_MATRIX_ENCODING_NONE, AV_MATRIX_ENCODING_DOLBY, AV_MATRIX_ENCODING_DPLII, AV_MATRIX_ENCODING_DPLIIX,
  AV_MATRIX_ENCODING_DPLIIZ, AV_MATRIX_ENCODING_DOLBYEX, AV_MATRIX_ENCODING_DOLBYHEADPHONE, AV_MATRIX_ENCODING_NB
}
 

Functions

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...
 
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...
 
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...
 
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...
 
int av_get_channel_layout_nb_channels (uint64_t channel_layout)
 Return the number of channels in the channel layout. More...
 
int64_t av_get_default_channel_layout (int nb_channels)
 Return default channel layout for a given number of channels. More...
 
int av_get_channel_layout_channel_index (uint64_t channel_layout, uint64_t channel)
 Get the index of a channel in channel_layout. More...
 
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 char * av_get_channel_name (uint64_t channel)
 Get the name of a given channel. More...
 
const char * av_get_channel_description (uint64_t channel)
 Get the description of a given channel. More...
 
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...
 

Detailed Description

audio channel layout utility functions

Definition in file channel_layout.h.