diff options
author | Michael Niedermayer <michaelni@gmx.at> | 2013-04-12 14:30:29 +0200 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2013-04-12 14:30:34 +0200 |
commit | 16fc24b240cafc37cd1ea402e9ab2b4cd5ba6269 (patch) | |
tree | 52a05d82a06726683e0c993f78d9774ec1d3a83a /libavfilter | |
parent | 46de9ba5981531dcbfe05943448bebc5569fb3df (diff) | |
parent | 7cdd737ba81b5c2c9521c4509edf0ac315fabc65 (diff) | |
download | ffmpeg-16fc24b240cafc37cd1ea402e9ab2b4cd5ba6269.tar.gz |
Merge commit '7cdd737ba81b5c2c9521c4509edf0ac315fabc65'
* commit '7cdd737ba81b5c2c9521c4509edf0ac315fabc65':
lavfi: mark filters with dynamic number of inputs or outputs with special flags
Merged-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libavfilter')
-rw-r--r-- | libavfilter/af_amix.c | 2 | ||||
-rw-r--r-- | libavfilter/af_channelsplit.c | 2 | ||||
-rw-r--r-- | libavfilter/af_join.c | 2 | ||||
-rw-r--r-- | libavfilter/avfilter.h | 18 | ||||
-rw-r--r-- | libavfilter/split.c | 4 |
5 files changed, 28 insertions, 0 deletions
diff --git a/libavfilter/af_amix.c b/libavfilter/af_amix.c index 1981365fec..75736e6544 100644 --- a/libavfilter/af_amix.c +++ b/libavfilter/af_amix.c @@ -557,4 +557,6 @@ AVFilter avfilter_af_amix = { .inputs = NULL, .outputs = avfilter_af_amix_outputs, + + .flags = AVFILTER_FLAG_DYNAMIC_INPUTS, }; diff --git a/libavfilter/af_channelsplit.c b/libavfilter/af_channelsplit.c index 89743c6909..e3a30d83c4 100644 --- a/libavfilter/af_channelsplit.c +++ b/libavfilter/af_channelsplit.c @@ -146,4 +146,6 @@ AVFilter avfilter_af_channelsplit = { .inputs = avfilter_af_channelsplit_inputs, .outputs = NULL, + + .flags = AVFILTER_FLAG_DYNAMIC_OUTPUTS, }; diff --git a/libavfilter/af_join.c b/libavfilter/af_join.c index f3fdccafc1..88aef10b5b 100644 --- a/libavfilter/af_join.c +++ b/libavfilter/af_join.c @@ -525,4 +525,6 @@ AVFilter avfilter_af_join = { .inputs = NULL, .outputs = avfilter_af_join_outputs, + + .flags = AVFILTER_FLAG_DYNAMIC_INPUTS, }; diff --git a/libavfilter/avfilter.h b/libavfilter/avfilter.h index 05effe47de..8dad5dc041 100644 --- a/libavfilter/avfilter.h +++ b/libavfilter/avfilter.h @@ -411,6 +411,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. */ @@ -432,6 +445,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 diff --git a/libavfilter/split.c b/libavfilter/split.c index 39d2da41b5..7268ec107e 100644 --- a/libavfilter/split.c +++ b/libavfilter/split.c @@ -133,6 +133,8 @@ AVFilter avfilter_vf_split = { .inputs = avfilter_vf_split_inputs, .outputs = NULL, + + .flags = AVFILTER_FLAG_DYNAMIC_OUTPUTS, }; static const AVFilterPad avfilter_af_asplit_inputs[] = { @@ -157,4 +159,6 @@ AVFilter avfilter_af_asplit = { .inputs = avfilter_af_asplit_inputs, .outputs = NULL, + + .flags = AVFILTER_FLAG_DYNAMIC_OUTPUTS, }; |