FFmpeg
Data Structures | Macros | Enumerations | Functions | Variables
mov_chan.c File Reference
#include <assert.h>
#include <stdint.h>
#include "libavutil/avassert.h"
#include "libavutil/channel_layout.h"
#include "libavutil/mem.h"
#include "libavcodec/codec_id.h"
#include "mov_chan.h"

Go to the source code of this file.

Data Structures

struct  MovChannelLayoutMap
 

Macros

#define TAG(_tag, _cnt)   {.tag = _tag}
 
#define ID(_0)   {.id = c_##_0}
 
#define CHLIST01(_tag, _1)   CHLIST(_tag, 1, ID(_1))
 
#define CHLIST02(_tag, _1, _2)   CHLIST(_tag, 2, ID(_1), ID(_2))
 
#define CHLIST03(_tag, _1, _2, _3)   CHLIST(_tag, 3, ID(_1), ID(_2), ID(_3))
 
#define CHLIST04(_tag, _1, _2, _3, _4)   CHLIST(_tag, 4, ID(_1), ID(_2), ID(_3), ID(_4))
 
#define CHLIST05(_tag, _1, _2, _3, _4, _5)   CHLIST(_tag, 5, ID(_1), ID(_2), ID(_3), ID(_4), ID(_5))
 
#define CHLIST06(_tag, _1, _2, _3, _4, _5, _6)   CHLIST(_tag, 6, ID(_1), ID(_2), ID(_3), ID(_4), ID(_5), ID(_6))
 
#define CHLIST07(_tag, _1, _2, _3, _4, _5, _6, _7)   CHLIST(_tag, 7, ID(_1), ID(_2), ID(_3), ID(_4), ID(_5), ID(_6), ID(_7))
 
#define CHLIST08(_tag, _1, _2, _3, _4, _5, _6, _7, _8)   CHLIST(_tag, 8, ID(_1), ID(_2), ID(_3), ID(_4), ID(_5), ID(_6), ID(_7), ID(_8))
 
#define CHLIST09(_tag, _1, _2, _3, _4, _5, _6, _7, _8, _9)   CHLIST(_tag, 9, ID(_1), ID(_2), ID(_3), ID(_4), ID(_5), ID(_6), ID(_7), ID(_8), ID(_9))
 
#define CHLIST16(_tag, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16)
 
#define CHLIST21(_tag, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21)
 
#define CHLIST24(_tag, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24)
 
#define MOV_CH_LAYOUT_MAP
 
#define CHLIST(_tag, _cnt, ...)   static_assert((_tag & 0xffff) == _cnt, "Channel count of " #_tag " is not " #_cnt);
 
#define CHLIST(_tag, _cnt, ...)   TAG(_tag, _cnt), __VA_ARGS__,
 
#define ID(_0)   {.id = iso_##_0}
 
#define TAG(_tag, _cnt)   {.tag = (_tag << 16) | _cnt}
 

Enumerations

enum  {
  c_L = AV_CHAN_FRONT_LEFT, c_R = AV_CHAN_FRONT_RIGHT, c_C = AV_CHAN_FRONT_CENTER, c_LFE = AV_CHAN_LOW_FREQUENCY,
  c_Rls = AV_CHAN_BACK_LEFT, c_Rrs = AV_CHAN_BACK_RIGHT, c_Lc = AV_CHAN_FRONT_LEFT_OF_CENTER, c_Rc = AV_CHAN_FRONT_RIGHT_OF_CENTER,
  c_Cs = AV_CHAN_BACK_CENTER, c_Ls = AV_CHAN_SIDE_LEFT, c_Rs = AV_CHAN_SIDE_RIGHT, c_Ts = AV_CHAN_TOP_CENTER,
  c_Vhl = AV_CHAN_TOP_FRONT_LEFT, c_Vhc = AV_CHAN_TOP_FRONT_CENTER, c_Vhr = AV_CHAN_TOP_FRONT_RIGHT, c_Rlt = AV_CHAN_TOP_BACK_LEFT,
  c_Rrt = AV_CHAN_TOP_BACK_RIGHT, c_Lt = AV_CHAN_STEREO_LEFT, c_Rt = AV_CHAN_STEREO_RIGHT, c_Lw = AV_CHAN_WIDE_LEFT,
  c_Rw = AV_CHAN_WIDE_RIGHT, c_Lsd = AV_CHAN_SURROUND_DIRECT_LEFT, c_Rsd = AV_CHAN_SURROUND_DIRECT_RIGHT, c_LFE2 = AV_CHAN_LOW_FREQUENCY_2,
  c_W = AV_CHAN_AMBISONIC_BASE, c_Y = AV_CHAN_AMBISONIC_BASE + 1, c_Z = AV_CHAN_AMBISONIC_BASE + 2, c_X = AV_CHAN_AMBISONIC_BASE + 3,
  c_LFE1 = AV_CHAN_LOW_FREQUENCY, c_Csd = AV_CHAN_NONE, c_HI = AV_CHAN_NONE, c_VI = AV_CHAN_NONE,
  c_Haptic = AV_CHAN_NONE
}
 mov 'chan' tag reading/writing. More...
 
enum  {
  iso_L = AV_CHAN_FRONT_LEFT, iso_R = AV_CHAN_FRONT_RIGHT, iso_C = AV_CHAN_FRONT_CENTER, iso_LFE = AV_CHAN_LOW_FREQUENCY,
  iso_Lsr = AV_CHAN_BACK_LEFT, iso_Rsr = AV_CHAN_BACK_RIGHT, iso_Lc = AV_CHAN_FRONT_LEFT_OF_CENTER, iso_Rc = AV_CHAN_FRONT_RIGHT_OF_CENTER,
  iso_Cs = AV_CHAN_BACK_CENTER, iso_Ls = AV_CHAN_SIDE_LEFT, iso_Rs = AV_CHAN_SIDE_RIGHT, iso_Ts = AV_CHAN_TOP_CENTER,
  iso_Lv = AV_CHAN_TOP_FRONT_LEFT, iso_Cv = AV_CHAN_TOP_FRONT_CENTER, iso_Rv = AV_CHAN_TOP_FRONT_RIGHT, iso_Lvr = AV_CHAN_TOP_BACK_LEFT,
  iso_Cvr = AV_CHAN_TOP_BACK_CENTER, iso_Rvr = AV_CHAN_TOP_BACK_RIGHT, iso_Lw = AV_CHAN_WIDE_LEFT, iso_Rw = AV_CHAN_WIDE_RIGHT,
  iso_Lsd = AV_CHAN_SURROUND_DIRECT_LEFT, iso_Rsd = AV_CHAN_SURROUND_DIRECT_RIGHT, iso_LFE2 = AV_CHAN_LOW_FREQUENCY_2, iso_Lvss = AV_CHAN_TOP_SIDE_LEFT,
  iso_Rvss = AV_CHAN_TOP_SIDE_RIGHT, iso_Cb = AV_CHAN_BOTTOM_FRONT_CENTER, iso_Lb = AV_CHAN_BOTTOM_FRONT_LEFT, iso_Rb = AV_CHAN_BOTTOM_FRONT_RIGHT,
  iso_Lss = AV_CHAN_SIDE_SURROUND_LEFT, iso_Rss = AV_CHAN_SIDE_SURROUND_RIGHT, iso_Lvs = AV_CHAN_NONE, iso_Rvs = AV_CHAN_NONE
}
 

Functions

static const struct MovChannelLayoutMapfind_layout_map (uint32_t tag, const struct MovChannelLayoutMap *map)
 
static int mov_get_channel_layout (AVChannelLayout *ch_layout, uint32_t tag, uint64_t omitted_channel_map, const struct MovChannelLayoutMap *map)
 Get the channel layout for the specified non-special channel layout tag if known. More...
 
static enum AVChannel mov_get_channel_id (uint32_t label)
 
static uint32_t mov_get_channel_label (enum AVChannel channel)
 
static int is_layout_valid_for_tag (const AVChannelLayout *ch_layout, uint32_t tag, const struct MovChannelLayoutMap *map)
 
int ff_mov_get_channel_layout_tag (const AVCodecParameters *par, uint32_t *layout, uint32_t *bitmap, uint32_t **pchannel_desc)
 Get the channel layout tag for the specified codec id and channel layout. More...
 
int ff_mov_read_chan (AVFormatContext *s, AVIOContext *pb, AVStream *st, int64_t size)
 Read 'chan' tag from the input stream. More...
 
int ff_mov_get_channel_config_from_layout (const AVChannelLayout *layout, int *config)
 Get ISO/IEC 23001-8 ChannelConfiguration from AVChannelLayout. More...
 
int ff_mov_get_channel_layout_from_config (int config, AVChannelLayout *layout, uint64_t omitted_channel_map)
 Get AVChannelLayout from ISO/IEC 23001-8 ChannelConfiguration. More...
 
int ff_mov_get_channel_positions_from_layout (const AVChannelLayout *layout, uint8_t *position, int position_num)
 Get ISO/IEC 23001-8 OutputChannelPosition from AVChannelLayout. More...
 
int ff_mov_read_chnl (AVFormatContext *s, AVIOContext *pb, AVStream *st)
 Read 'chnl' tag from the input stream. More...
 

Variables

static const struct MovChannelLayoutMap mov_ch_layout_map []
 
static const struct MovChannelLayoutMap iso_ch_layout_map []
 
static enum MovChannelLayoutTag mov_ch_layouts_aac []
 
static enum MovChannelLayoutTag mov_ch_layouts_ac3 []
 
static enum MovChannelLayoutTag mov_ch_layouts_alac []
 
static enum MovChannelLayoutTag mov_ch_layouts_wav []
 
struct {
   enum AVCodecID   codec_id
 
   enum MovChannelLayoutTag *   layouts
 
mov_codec_ch_layouts []
 
static enum AVChannel iso_channel_position []
 

Macro Definition Documentation

◆ TAG [1/2]

#define TAG (   _tag,
  _cnt 
)    {.tag = _tag}

Definition at line 241 of file mov_chan.c.

◆ ID [1/2]

#define ID (   _0)    {.id = c_##_0}

Definition at line 240 of file mov_chan.c.

◆ CHLIST01

#define CHLIST01 (   _tag,
  _1 
)    CHLIST(_tag, 1, ID(_1))

Definition at line 125 of file mov_chan.c.

◆ CHLIST02

#define CHLIST02 (   _tag,
  _1,
  _2 
)    CHLIST(_tag, 2, ID(_1), ID(_2))

Definition at line 126 of file mov_chan.c.

◆ CHLIST03

#define CHLIST03 (   _tag,
  _1,
  _2,
  _3 
)    CHLIST(_tag, 3, ID(_1), ID(_2), ID(_3))

Definition at line 127 of file mov_chan.c.

◆ CHLIST04

#define CHLIST04 (   _tag,
  _1,
  _2,
  _3,
  _4 
)    CHLIST(_tag, 4, ID(_1), ID(_2), ID(_3), ID(_4))

Definition at line 128 of file mov_chan.c.

◆ CHLIST05

#define CHLIST05 (   _tag,
  _1,
  _2,
  _3,
  _4,
  _5 
)    CHLIST(_tag, 5, ID(_1), ID(_2), ID(_3), ID(_4), ID(_5))

Definition at line 129 of file mov_chan.c.

◆ CHLIST06

#define CHLIST06 (   _tag,
  _1,
  _2,
  _3,
  _4,
  _5,
  _6 
)    CHLIST(_tag, 6, ID(_1), ID(_2), ID(_3), ID(_4), ID(_5), ID(_6))

Definition at line 130 of file mov_chan.c.

◆ CHLIST07

#define CHLIST07 (   _tag,
  _1,
  _2,
  _3,
  _4,
  _5,
  _6,
  _7 
)    CHLIST(_tag, 7, ID(_1), ID(_2), ID(_3), ID(_4), ID(_5), ID(_6), ID(_7))

Definition at line 131 of file mov_chan.c.

◆ CHLIST08

#define CHLIST08 (   _tag,
  _1,
  _2,
  _3,
  _4,
  _5,
  _6,
  _7,
  _8 
)    CHLIST(_tag, 8, ID(_1), ID(_2), ID(_3), ID(_4), ID(_5), ID(_6), ID(_7), ID(_8))

Definition at line 132 of file mov_chan.c.

◆ CHLIST09

#define CHLIST09 (   _tag,
  _1,
  _2,
  _3,
  _4,
  _5,
  _6,
  _7,
  _8,
  _9 
)    CHLIST(_tag, 9, ID(_1), ID(_2), ID(_3), ID(_4), ID(_5), ID(_6), ID(_7), ID(_8), ID(_9))

Definition at line 133 of file mov_chan.c.

◆ CHLIST16

#define CHLIST16 (   _tag,
  _1,
  _2,
  _3,
  _4,
  _5,
  _6,
  _7,
  _8,
  _9,
  _10,
  _11,
  _12,
  _13,
  _14,
  _15,
  _16 
)
Value:
CHLIST(_tag, 16, ID(_1), ID(_2), ID(_3), ID(_4), ID(_5), ID(_6), ID(_7), ID(_8), ID(_9), ID(_10), \
ID(_11), ID(_12), ID(_13), ID(_14), ID(_15), ID(_16))

Definition at line 134 of file mov_chan.c.

◆ CHLIST21

#define CHLIST21 (   _tag,
  _1,
  _2,
  _3,
  _4,
  _5,
  _6,
  _7,
  _8,
  _9,
  _10,
  _11,
  _12,
  _13,
  _14,
  _15,
  _16,
  _17,
  _18,
  _19,
  _20,
  _21 
)
Value:
CHLIST(_tag, 21, ID(_1), ID(_2), ID(_3), ID(_4), ID(_5), ID(_6), ID(_7), ID(_8), ID(_9), ID(_10), \
ID(_11), ID(_12), ID(_13), ID(_14), ID(_15), ID(_16), ID(_17), ID(_18), ID(_19), ID(_20), ID(_21))

Definition at line 137 of file mov_chan.c.

◆ CHLIST24

#define CHLIST24 (   _tag,
  _1,
  _2,
  _3,
  _4,
  _5,
  _6,
  _7,
  _8,
  _9,
  _10,
  _11,
  _12,
  _13,
  _14,
  _15,
  _16,
  _17,
  _18,
  _19,
  _20,
  _21,
  _22,
  _23,
  _24 
)
Value:
CHLIST(_tag, 24, ID(_1), ID(_2), ID(_3), ID(_4), ID(_5), ID(_6), ID(_7), ID(_8), ID(_9), ID(_10), \
ID(_11), ID(_12), ID(_13), ID(_14), ID(_15), ID(_16), ID(_17), ID(_18), ID(_19), ID(_20), \
ID(_21), ID(_22), ID(_23), ID(_24))

Definition at line 140 of file mov_chan.c.

◆ MOV_CH_LAYOUT_MAP

#define MOV_CH_LAYOUT_MAP

Definition at line 145 of file mov_chan.c.

◆ CHLIST [1/2]

#define CHLIST (   _tag,
  _cnt,
  ... 
)    static_assert((_tag & 0xffff) == _cnt, "Channel count of " #_tag " is not " #_cnt);

Definition at line 232 of file mov_chan.c.

◆ CHLIST [2/2]

#define CHLIST (   _tag,
  _cnt,
  ... 
)    TAG(_tag, _cnt), __VA_ARGS__,

Definition at line 232 of file mov_chan.c.

◆ ID [2/2]

#define ID (   _0)    {.id = iso_##_0}

Definition at line 240 of file mov_chan.c.

◆ TAG [2/2]

#define TAG (   _tag,
  _cnt 
)    {.tag = (_tag << 16) | _cnt}

Definition at line 241 of file mov_chan.c.

Enumeration Type Documentation

◆ anonymous enum

anonymous enum

mov 'chan' tag reading/writing.

Author
Justin Ruggles
Enumerator
c_L 
c_R 
c_C 
c_LFE 
c_Rls 
c_Rrs 
c_Lc 
c_Rc 
c_Cs 
c_Ls 
c_Rs 
c_Ts 
c_Vhl 
c_Vhc 
c_Vhr 
c_Rlt 
c_Rrt 
c_Lt 
c_Rt 
c_Lw 
c_Rw 
c_Lsd 
c_Rsd 
c_LFE2 
c_W 
c_Y 
c_Z 
c_X 
c_LFE1 
c_Csd 
c_HI 
c_VI 
c_Haptic 

Definition at line 35 of file mov_chan.c.

◆ anonymous enum

anonymous enum
Enumerator
iso_L 
iso_R 
iso_C 
iso_LFE 
iso_Lsr 
iso_Rsr 
iso_Lc 
iso_Rc 
iso_Cs 
iso_Ls 
iso_Rs 
iso_Ts 
iso_Lv 
iso_Cv 
iso_Rv 
iso_Lvr 
iso_Cvr 
iso_Rvr 
iso_Lw 
iso_Rw 
iso_Lsd 
iso_Rsd 
iso_LFE2 
iso_Lvss 
iso_Rvss 
iso_Cb 
iso_Lb 
iso_Rb 
iso_Lss 
iso_Rss 
iso_Lvs 
iso_Rvs 

Definition at line 78 of file mov_chan.c.

Function Documentation

◆ find_layout_map()

static const struct MovChannelLayoutMap* find_layout_map ( uint32_t  tag,
const struct MovChannelLayoutMap map 
)
static

Definition at line 355 of file mov_chan.c.

Referenced by is_layout_valid_for_tag(), and mov_get_channel_layout().

◆ mov_get_channel_layout()

static int mov_get_channel_layout ( AVChannelLayout ch_layout,
uint32_t  tag,
uint64_t  omitted_channel_map,
const struct MovChannelLayoutMap map 
)
static

Get the channel layout for the specified non-special channel layout tag if known.

Parameters
[in,out]ch_layoutchannel layout
[in]tagchannel layout tag
Returns
<0 on error

Definition at line 371 of file mov_chan.c.

Referenced by ff_mov_get_channel_layout_from_config(), and ff_mov_read_chan().

◆ mov_get_channel_id()

static enum AVChannel mov_get_channel_id ( uint32_t  label)
static

Definition at line 403 of file mov_chan.c.

Referenced by ff_mov_read_chan().

◆ mov_get_channel_label()

static uint32_t mov_get_channel_label ( enum AVChannel  channel)
static

Definition at line 422 of file mov_chan.c.

Referenced by ff_mov_get_channel_layout_tag().

◆ is_layout_valid_for_tag()

static int is_layout_valid_for_tag ( const AVChannelLayout ch_layout,
uint32_t  tag,
const struct MovChannelLayoutMap map 
)
static

◆ ff_mov_get_channel_layout_tag()

int ff_mov_get_channel_layout_tag ( const AVCodecParameters par,
uint32_t *  layout,
uint32_t *  bitmap,
uint32_t **  pchannel_desc 
)

Get the channel layout tag for the specified codec id and channel layout.

If the layout tag was not found, use a channel bitmap if possible.

Parameters
[in]codec_idcodec id
[in]channel_layoutchannel layout
[out]bitmapchannel bitmap
Returns
channel layout tag

Definition at line 463 of file mov_chan.c.

Referenced by mov_write_chan_tag().

◆ ff_mov_read_chan()

int ff_mov_read_chan ( AVFormatContext s,
AVIOContext pb,
AVStream st,
int64_t  size 
)

Read 'chan' tag from the input stream.

Parameters
sAVFormatContext
pbAVIOContext
stThe stream to set codec values for
sizeRemaining size in the 'chan' tag
Returns
0 if ok, or negative AVERROR code on failure

Definition at line 524 of file mov_chan.c.

Referenced by aiff_read_header(), mov_read_chan(), and read_header().

◆ ff_mov_get_channel_config_from_layout()

int ff_mov_get_channel_config_from_layout ( const AVChannelLayout layout,
int *  config 
)

Get ISO/IEC 23001-8 ChannelConfiguration from AVChannelLayout.

Definition at line 673 of file mov_chan.c.

Referenced by mov_write_chnl_tag().

◆ ff_mov_get_channel_layout_from_config()

int ff_mov_get_channel_layout_from_config ( int  config,
AVChannelLayout layout,
uint64_t  omitted_channel_map 
)

Get AVChannelLayout from ISO/IEC 23001-8 ChannelConfiguration.

Returns
1 if the config was unknown, layout is untouched in this case 0 if the config was found <0 on error

Definition at line 687 of file mov_chan.c.

Referenced by ff_mov_read_chnl().

◆ ff_mov_get_channel_positions_from_layout()

int ff_mov_get_channel_positions_from_layout ( const AVChannelLayout layout,
uint8_t *  position,
int  position_num 
)

Get ISO/IEC 23001-8 OutputChannelPosition from AVChannelLayout.

Definition at line 702 of file mov_chan.c.

Referenced by mov_write_chnl_tag().

◆ ff_mov_read_chnl()

int ff_mov_read_chnl ( AVFormatContext s,
AVIOContext pb,
AVStream st 
)

Read 'chnl' tag from the input stream.

Parameters
sAVFormatContext
pbAVIOContext
stThe stream to set codec values for
Returns
0 if ok, or negative AVERROR code on failure

Definition at line 729 of file mov_chan.c.

Referenced by mov_read_chnl().

Variable Documentation

◆ mov_ch_layout_map

const struct MovChannelLayoutMap mov_ch_layout_map[]
static
Initial value:
= {
{ {0} },
}

Definition at line 233 of file mov_chan.c.

Referenced by ff_mov_get_channel_layout_tag(), and ff_mov_read_chan().

◆ iso_ch_layout_map

const struct MovChannelLayoutMap iso_ch_layout_map[]
static
Initial value:
= {
CHLIST08( 14, C, L, R, Ls, Rs, LFE, Lv, Rv)
{ {0} },
}

Definition at line 244 of file mov_chan.c.

Referenced by ff_mov_get_channel_config_from_layout(), and ff_mov_get_channel_layout_from_config().

◆ mov_ch_layouts_aac

enum MovChannelLayoutTag mov_ch_layouts_aac[]
static

◆ mov_ch_layouts_ac3

enum MovChannelLayoutTag mov_ch_layouts_ac3[]
static

◆ mov_ch_layouts_alac

enum MovChannelLayoutTag mov_ch_layouts_alac[]
static

◆ mov_ch_layouts_wav

enum MovChannelLayoutTag mov_ch_layouts_wav[]
static

◆ codec_id

enum AVCodecID codec_id

Definition at line 334 of file mov_chan.c.

Referenced by ff_mov_get_channel_layout_tag().

◆ layouts

enum MovChannelLayoutTag* layouts

◆ mov_codec_ch_layouts

const { ... } mov_codec_ch_layouts[]

◆ iso_channel_position

enum AVChannel iso_channel_position[]
static

Definition at line 621 of file mov_chan.c.

Referenced by ff_mov_get_channel_positions_from_layout(), and ff_mov_read_chnl().

MOV_CH_LAYOUT_QUADRAPHONIC
@ MOV_CH_LAYOUT_QUADRAPHONIC
Definition: mov_chan.h:64
AV_CODEC_ID_PCM_S16LE
@ AV_CODEC_ID_PCM_S16LE
Definition: codec_id.h:328
AV_CODEC_ID_PCM_F32BE
@ AV_CODEC_ID_PCM_F32BE
Definition: codec_id.h:348
AV_CODEC_ID_AC3
@ AV_CODEC_ID_AC3
Definition: codec_id.h:443
MOV_CH_LAYOUT_MPEG_5_1_A
@ MOV_CH_LAYOUT_MPEG_5_1_A
Definition: mov_chan.h:77
MOV_CH_LAYOUT_DTS_8_0_A
@ MOV_CH_LAYOUT_DTS_8_0_A
Definition: mov_chan.h:134
MOV_CH_LAYOUT_AC3_3_0_1
@ MOV_CH_LAYOUT_AC3_3_0_1
Definition: mov_chan.h:107
R
#define R
Definition: huffyuv.h:44
AV_CODEC_ID_ALAC
@ AV_CODEC_ID_ALAC
Definition: codec_id.h:456
MOV_CH_LAYOUT_ITU_2_1
@ MOV_CH_LAYOUT_ITU_2_1
Definition: mov_chan.h:87
MOV_CH_LAYOUT_AAC_7_0
@ MOV_CH_LAYOUT_AAC_7_0
Definition: mov_chan.h:100
MOV_CH_LAYOUT_AC3_3_0
@ MOV_CH_LAYOUT_AC3_3_0
Definition: mov_chan.h:105
MOV_CH_LAYOUT_DTS_6_0_A
@ MOV_CH_LAYOUT_DTS_6_0_A
Definition: mov_chan.h:125
MOV_CH_LAYOUT_MATRIXSTEREO
@ MOV_CH_LAYOUT_MATRIXSTEREO
Definition: mov_chan.h:59
MOV_CH_LAYOUT_MPEG_5_0_A
@ MOV_CH_LAYOUT_MPEG_5_0_A
Definition: mov_chan.h:73
AV_CODEC_ID_PCM_S16BE
@ AV_CODEC_ID_PCM_S16BE
Definition: codec_id.h:329
MOV_CH_LAYOUT_MPEG_5_1_D
@ MOV_CH_LAYOUT_MPEG_5_1_D
Definition: mov_chan.h:80
mov_ch_layouts_alac
static enum MovChannelLayoutTag mov_ch_layouts_alac[]
Definition: mov_chan.c:306
MOV_CH_LAYOUT_MONO
@ MOV_CH_LAYOUT_MONO
Definition: mov_chan.h:56
MOV_CH_LAYOUT_ITU_2_2
@ MOV_CH_LAYOUT_ITU_2_2
Definition: mov_chan.h:88
C
s EdgeDetect Foobar g libavfilter vf_edgedetect c libavfilter vf_foobar c edit libavfilter and add an entry for foobar following the pattern of the other filters edit libavfilter allfilters and add an entry for foobar following the pattern of the other filters configure make j< whatever > ffmpeg ffmpeg i you should get a foobar png with Lena edge detected That s your new playground is ready Some little details about what s going which in turn will define variables for the build system and the C
Definition: writing_filters.txt:58
AV_CODEC_ID_PCM_S8
@ AV_CODEC_ID_PCM_S8
Definition: codec_id.h:332
MOV_CH_LAYOUT_AC3_1_0_1
@ MOV_CH_LAYOUT_AC3_1_0_1
Definition: mov_chan.h:104
MOV_CH_LAYOUT_MPEG_5_1_C
@ MOV_CH_LAYOUT_MPEG_5_1_C
Definition: mov_chan.h:79
MOV_CH_LAYOUT_AAC_6_0
@ MOV_CH_LAYOUT_AAC_6_0
Definition: mov_chan.h:98
CHLIST
#define CHLIST(_tag, _cnt,...)
Definition: mov_chan.c:232
MOV_CH_LAYOUT_AC3_3_1
@ MOV_CH_LAYOUT_AC3_3_1
Definition: mov_chan.h:106
CHLIST08
#define CHLIST08(_tag, _1, _2, _3, _4, _5, _6, _7, _8)
Definition: mov_chan.c:132
MOV_CH_LAYOUT_MPEG_7_1_B
@ MOV_CH_LAYOUT_MPEG_7_1_B
Definition: mov_chan.h:83
MOV_CH_LAYOUT_SMPTE_DTV
@ MOV_CH_LAYOUT_SMPTE_DTV
Definition: mov_chan.h:86
MOV_CH_LAYOUT_STEREO
@ MOV_CH_LAYOUT_STEREO
Definition: mov_chan.h:57
NULL
#define NULL
Definition: coverity.c:32
MOV_CH_LAYOUT_DTS_4_1
@ MOV_CH_LAYOUT_DTS_4_1
Definition: mov_chan.h:124
MOV_CH_LAYOUT_MAP
#define MOV_CH_LAYOUT_MAP
Definition: mov_chan.c:145
MOV_CH_LAYOUT_MPEG_3_0_B
@ MOV_CH_LAYOUT_MPEG_3_0_B
Definition: mov_chan.h:70
AV_CODEC_ID_AAC
@ AV_CODEC_ID_AAC
Definition: codec_id.h:442
ID
#define ID(_0)
Definition: mov_chan.c:240
AV_CODEC_ID_PCM_S24LE
@ AV_CODEC_ID_PCM_S24LE
Definition: codec_id.h:340
MOV_CH_LAYOUT_AAC_6_1
@ MOV_CH_LAYOUT_AAC_6_1
Definition: mov_chan.h:99
MOV_CH_LAYOUT_MPEG_7_1_A
@ MOV_CH_LAYOUT_MPEG_7_1_A
Definition: mov_chan.h:82
MOV_CH_LAYOUT_DTS_6_1_A
@ MOV_CH_LAYOUT_DTS_6_1_A
Definition: mov_chan.h:128
MOV_CH_LAYOUT_MPEG_3_0_A
@ MOV_CH_LAYOUT_MPEG_3_0_A
Definition: mov_chan.h:69
MOV_CH_LAYOUT_DVD_18
@ MOV_CH_LAYOUT_DVD_18
Definition: mov_chan.h:94
MOV_CH_LAYOUT_MPEG_5_0_D
@ MOV_CH_LAYOUT_MPEG_5_0_D
Definition: mov_chan.h:76
AV_CODEC_ID_NONE
@ AV_CODEC_ID_NONE
Definition: codec_id.h:50
AV_CODEC_ID_PCM_F64BE
@ AV_CODEC_ID_PCM_F64BE
Definition: codec_id.h:350
MOV_CH_LAYOUT_MPEG_6_1_A
@ MOV_CH_LAYOUT_MPEG_6_1_A
Definition: mov_chan.h:81
AV_CODEC_ID_PCM_S32BE
@ AV_CODEC_ID_PCM_S32BE
Definition: codec_id.h:337
MOV_CH_LAYOUT_AC3_2_1_1
@ MOV_CH_LAYOUT_AC3_2_1_1
Definition: mov_chan.h:108
MOV_CH_LAYOUT_MPEG_4_0_B
@ MOV_CH_LAYOUT_MPEG_4_0_B
Definition: mov_chan.h:72
MOV_CH_LAYOUT_MPEG_5_0_C
@ MOV_CH_LAYOUT_MPEG_5_0_C
Definition: mov_chan.h:75
MOV_CH_LAYOUT_DVD_4
@ MOV_CH_LAYOUT_DVD_4
Definition: mov_chan.h:89
L
#define L(x)
Definition: vpx_arith.h:36
MOV_CH_LAYOUT_MPEG_7_1_C
@ MOV_CH_LAYOUT_MPEG_7_1_C
Definition: mov_chan.h:84
mov_ch_layouts_aac
static enum MovChannelLayoutTag mov_ch_layouts_aac[]
Definition: mov_chan.c:261
MOV_CH_LAYOUT_AAC_OCTAGONAL
@ MOV_CH_LAYOUT_AAC_OCTAGONAL
Definition: mov_chan.h:101
AV_CODEC_ID_PCM_S32LE
@ AV_CODEC_ID_PCM_S32LE
Definition: codec_id.h:336
MOV_CH_LAYOUT_DTS_3_1
@ MOV_CH_LAYOUT_DTS_3_1
Definition: mov_chan.h:123
AV_CODEC_ID_PCM_U8
@ AV_CODEC_ID_PCM_U8
Definition: codec_id.h:333
MOV_CH_LAYOUT_AC3_3_1_1
@ MOV_CH_LAYOUT_AC3_3_1_1
Definition: mov_chan.h:109
AV_CODEC_ID_PCM_F64LE
@ AV_CODEC_ID_PCM_F64LE
Definition: codec_id.h:351
AV_CODEC_ID_PCM_F32LE
@ AV_CODEC_ID_PCM_F32LE
Definition: codec_id.h:349
mov_ch_layouts_wav
static enum MovChannelLayoutTag mov_ch_layouts_wav[]
Definition: mov_chan.c:318
AV_CODEC_ID_PCM_S24BE
@ AV_CODEC_ID_PCM_S24BE
Definition: codec_id.h:341
mov_ch_layouts_ac3
static enum MovChannelLayoutTag mov_ch_layouts_ac3[]
Definition: mov_chan.c:288