|
|
@ -38,7 +38,9 @@ typedef struct FieldOrderContext { |
|
|
|
int line_size[4]; ///< bytes of pixel data per line for each plane
|
|
|
|
int line_size[4]; ///< bytes of pixel data per line for each plane
|
|
|
|
} FieldOrderContext; |
|
|
|
} FieldOrderContext; |
|
|
|
|
|
|
|
|
|
|
|
static int query_formats(AVFilterContext *ctx) |
|
|
|
static int query_formats(const AVFilterContext *ctx, |
|
|
|
|
|
|
|
AVFilterFormatsConfig **cfg_in, |
|
|
|
|
|
|
|
AVFilterFormatsConfig **cfg_out) |
|
|
|
{ |
|
|
|
{ |
|
|
|
const AVPixFmtDescriptor *desc = NULL; |
|
|
|
const AVPixFmtDescriptor *desc = NULL; |
|
|
|
AVFilterFormats *formats; |
|
|
|
AVFilterFormats *formats; |
|
|
@ -56,7 +58,7 @@ static int query_formats(AVFilterContext *ctx) |
|
|
|
(ret = ff_add_format(&formats, pix_fmt)) < 0) |
|
|
|
(ret = ff_add_format(&formats, pix_fmt)) < 0) |
|
|
|
return ret; |
|
|
|
return ret; |
|
|
|
} |
|
|
|
} |
|
|
|
return ff_set_common_formats(ctx, formats); |
|
|
|
return ff_set_common_formats2(ctx, cfg_in, cfg_out, formats); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
static int config_input(AVFilterLink *inlink) |
|
|
|
static int config_input(AVFilterLink *inlink) |
|
|
@ -183,6 +185,6 @@ const AVFilter ff_vf_fieldorder = { |
|
|
|
.priv_class = &fieldorder_class, |
|
|
|
.priv_class = &fieldorder_class, |
|
|
|
FILTER_INPUTS(avfilter_vf_fieldorder_inputs), |
|
|
|
FILTER_INPUTS(avfilter_vf_fieldorder_inputs), |
|
|
|
FILTER_OUTPUTS(ff_video_default_filterpad), |
|
|
|
FILTER_OUTPUTS(ff_video_default_filterpad), |
|
|
|
FILTER_QUERY_FUNC(query_formats), |
|
|
|
FILTER_QUERY_FUNC2(query_formats), |
|
|
|
.flags = AVFILTER_FLAG_SUPPORT_TIMELINE_GENERIC, |
|
|
|
.flags = AVFILTER_FLAG_SUPPORT_TIMELINE_GENERIC, |
|
|
|
}; |
|
|
|
}; |
|
|
|