Go to the documentation of this file.
19 #ifndef AVFILTER_FORMATS_H
20 #define AVFILTER_FORMATS_H
102 #define FF_COUNT2LAYOUT(c) ((AVChannelLayout) { .order = AV_CHANNEL_ORDER_UNSPEC, .nb_channels = c })
108 #define FF_LAYOUT2COUNT(l) (((l)->order == AV_CHANNEL_ORDER_UNSPEC) ? \
109 (l)->nb_channels : 0)
111 #define KNOWN(l) (!FF_LAYOUT2COUNT(l))
161 const int *samplerates);
245 #define FF_PIX_FMT_FLAG_SW_FLAT_SUB (1 << 24)
331 } AVFilterFormatsMerger;
A list of supported channel layouts.
enum MovChannelLayoutTag * layouts
const char * conversion_filter
A link between two filters.
it s the only field you need to keep assuming you have a context There is some magic you don t need to care about around this just let it vf type
Callbacks and properties to describe the steps of a format negotiation.
struct AVFilterChannelLayouts *** refs
references to this list
const AVFilterFormatsMerger * mergers
Filter the word “frame” indicates either a video frame or a group of audio as stored in an AVFrame structure Format for each input and each output the list of supported formats For video that means pixel format For audio that means channel sample they are references to shared objects When the negotiation mechanism computes the intersection of the formats supported at each end of a link
An AVChannelLayout holds information about the channel layout of audio data.
AVChannelLayout * channel_layouts
list of channel layouts
char all_layouts
accept any known channel layout
char all_counts
accept any channel layout or count
The reader does not expect b to be semantically here and if the code is changed by maybe adding a a division or other the signedness will almost certainly be mistaken To avoid this confusion a new type was SUINT is the C unsigned type but it holds a signed int to use the same example SUINT a
#define av_warn_unused_result
unsigned conversion_opts_offset
static int ref[MAX_W *MAX_W]
int nb_channel_layouts
number of channel layouts
unsigned refcount
number of references to this list