summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2013-04-12 14:30:29 +0200
committerMichael Niedermayer <michaelni@gmx.at>2013-04-12 14:30:34 +0200
commit16fc24b240cafc37cd1ea402e9ab2b4cd5ba6269 (patch)
tree52a05d82a06726683e0c993f78d9774ec1d3a83a
parent46de9ba5981531dcbfe05943448bebc5569fb3df (diff)
parent7cdd737ba81b5c2c9521c4509edf0ac315fabc65 (diff)
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>
-rw-r--r--doc/APIchanges1
-rw-r--r--libavfilter/af_amix.c2
-rw-r--r--libavfilter/af_channelsplit.c2
-rw-r--r--libavfilter/af_join.c2
-rw-r--r--libavfilter/avfilter.h18
-rw-r--r--libavfilter/split.c4
6 files changed, 29 insertions, 0 deletions
diff --git a/doc/APIchanges b/doc/APIchanges
index 40af3655d7..8837b0db7e 100644
--- a/doc/APIchanges
+++ b/doc/APIchanges
@@ -169,6 +169,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
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,
};