70 while ((cur = strchr(cur,
'|'))) {
82 for (i = 0; i < nb_formats; i++) {
83 sep = strchr(cur,
'|');
97 int nb_formats_lavu = 0, nb_formats_allowed = 0;
103 formats_allowed =
av_malloc_array(nb_formats_lavu + 1,
sizeof(*formats_allowed));
104 if (!formats_allowed)
112 for (i = 0; i < nb_formats; i++) {
119 formats_allowed[nb_formats_allowed++] =
pix_fmt;
141 #define OFFSET(x) offsetof(FormatContext, x)
147 #if CONFIG_FORMAT_FILTER
149 #define format_options options
152 static const AVFilterPad avfilter_vf_format_inputs[] = {
161 static const AVFilterPad avfilter_vf_format_outputs[] = {
171 .description =
NULL_IF_CONFIG_SMALL(
"Convert the input video to one of the specified pixel formats."),
179 .priv_class = &format_class,
181 .
inputs = avfilter_vf_format_inputs,
182 .
outputs = avfilter_vf_format_outputs,
186 #if CONFIG_NOFORMAT_FILTER
188 #define noformat_options options
191 static const AVFilterPad avfilter_vf_noformat_inputs[] = {
200 static const AVFilterPad avfilter_vf_noformat_outputs[] = {
210 .description =
NULL_IF_CONFIG_SMALL(
"Force libavfilter not to use any of the specified pixel formats for the input to the next filter."),
218 .priv_class = &noformat_class,
220 .
inputs = avfilter_vf_noformat_inputs,
221 .
outputs = avfilter_vf_noformat_outputs,
static enum AVPixelFormat pix_fmt
static const AVFilterPad outputs[]
Main libavfilter public API header.
memory handling functions
AVFrame * ff_null_get_video_buffer(AVFilterLink *link, int w, int h)
static enum AVSampleFormat formats[]
const char * name
Pad name.
A filter pad used for either input or output.
#define AV_LOG_ERROR
Something went wrong and cannot losslessly be recovered.
#define NULL_IF_CONFIG_SMALL(x)
Return NULL if CONFIG_SMALL is true, otherwise the argument without modification. ...
void * priv
private data for use by the filter
common internal API header
enum AVPixelFormat av_pix_fmt_desc_get_id(const AVPixFmtDescriptor *desc)
enum AVPixelFormat * formats
pix_fmts parsed into AVPixelFormats and terminated with AV_PIX_FMT_NONE
Descriptor that unambiguously describes how the bits of a pixel are stored in the up to 4 data planes...
#define AV_OPT_FLAG_VIDEO_PARAM
Describe the class of an AVClass context structure.
static const AVFilterPad inputs[]
const char * name
Filter name.
static enum AVPixelFormat pix_fmts[]
#define AVFILTER_DEFINE_CLASS(fname)
#define av_malloc_array(a, b)
AVPixelFormat
Pixel format.
const AVFilter * filter
the AVFilter of which this is an instance
const AVPixFmtDescriptor * av_pix_fmt_desc_next(const AVPixFmtDescriptor *prev)
Iterate over all pixel format descriptors known to libavutil.