Commit 7cdd737b authored by Anton Khirnov's avatar Anton Khirnov

lavfi: mark filters with dynamic number of inputs or outputs with special flags

This will be useful in avtools in the following commits.
Any other caller might also want to know this information.
parent 1ba95a9c
......@@ -22,6 +22,7 @@ API changes, most recent first:
filter.
Add avfilter_init_str(), deprecate avfilter_init_filter().
Add avfilter_init_dict().
Add AVFilter.flags field and AVFILTER_FLAG_DYNAMIC_{INPUTS,OUTPUTS} flags.
2013-xx-xx - lavfi 3.7.0 - avfilter.h
Add AVFilter.priv_class for exporting filter options through the AVOptions API
......
......@@ -562,4 +562,6 @@ AVFilter avfilter_af_amix = {
.inputs = NULL,
.outputs = avfilter_af_amix_outputs,
.flags = AVFILTER_FLAG_DYNAMIC_INPUTS,
};
......@@ -149,4 +149,6 @@ AVFilter avfilter_af_channelsplit = {
.inputs = avfilter_af_channelsplit_inputs,
.outputs = NULL,
.flags = AVFILTER_FLAG_DYNAMIC_OUTPUTS,
};
......@@ -522,4 +522,6 @@ AVFilter avfilter_af_join = {
.inputs = NULL,
.outputs = avfilter_af_join_outputs,
.flags = AVFILTER_FLAG_DYNAMIC_INPUTS,
};
......@@ -372,6 +372,19 @@ const char *avfilter_pad_get_name(const AVFilterPad *pads, int pad_idx);
*/
enum AVMediaType avfilter_pad_get_type(const AVFilterPad *pads, int pad_idx);
/**
* The number of the filter inputs is not determined just by AVFilter.inputs.
* The filter might add additional inputs during initialization depending on the
* options supplied to it.
*/
#define AVFILTER_FLAG_DYNAMIC_INPUTS (1 << 0)
/**
* The number of the filter outputs is not determined just by AVFilter.outputs.
* The filter might add additional outputs during initialization depending on
* the options supplied to it.
*/
#define AVFILTER_FLAG_DYNAMIC_OUTPUTS (1 << 1)
/**
* Filter definition. This defines the pads a filter contains, and all the
* callback functions used to interact with the filter.
......@@ -394,6 +407,11 @@ typedef struct AVFilter {
*/
const AVClass *priv_class;
/**
* A combination of AVFILTER_FLAG_*
*/
int flags;
/*****************************************************************
* All fields below this line are not part of the public API. They
* may not be used outside of libavfilter and can be changed and
......
......@@ -129,6 +129,8 @@ AVFilter avfilter_vf_split = {
.inputs = avfilter_vf_split_inputs,
.outputs = NULL,
.flags = AVFILTER_FLAG_DYNAMIC_OUTPUTS,
};
static const AVFilterPad avfilter_af_asplit_inputs[] = {
......@@ -153,4 +155,6 @@ AVFilter avfilter_af_asplit = {
.inputs = avfilter_af_asplit_inputs,
.outputs = NULL,
.flags = AVFILTER_FLAG_DYNAMIC_OUTPUTS,
};
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment