Commit 16fc24b2 authored by Michael Niedermayer's avatar Michael Niedermayer

Merge commit '7cdd737b'

* commit '7cdd737b':
  lavfi: mark filters with dynamic number of inputs or outputs with special flags
Merged-by: 's avatarMichael Niedermayer <michaelni@gmx.at>
parents 46de9ba5 7cdd737b
...@@ -169,6 +169,7 @@ API changes, most recent first: ...@@ -169,6 +169,7 @@ API changes, most recent first:
filter. filter.
Add avfilter_init_str(), deprecate avfilter_init_filter(). Add avfilter_init_str(), deprecate avfilter_init_filter().
Add avfilter_init_dict(). Add avfilter_init_dict().
Add AVFilter.flags field and AVFILTER_FLAG_DYNAMIC_{INPUTS,OUTPUTS} flags.
2013-xx-xx - lavfi 3.7.0 - avfilter.h 2013-xx-xx - lavfi 3.7.0 - avfilter.h
Add AVFilter.priv_class for exporting filter options through the AVOptions API Add AVFilter.priv_class for exporting filter options through the AVOptions API
......
...@@ -557,4 +557,6 @@ AVFilter avfilter_af_amix = { ...@@ -557,4 +557,6 @@ AVFilter avfilter_af_amix = {
.inputs = NULL, .inputs = NULL,
.outputs = avfilter_af_amix_outputs, .outputs = avfilter_af_amix_outputs,
.flags = AVFILTER_FLAG_DYNAMIC_INPUTS,
}; };
...@@ -146,4 +146,6 @@ AVFilter avfilter_af_channelsplit = { ...@@ -146,4 +146,6 @@ AVFilter avfilter_af_channelsplit = {
.inputs = avfilter_af_channelsplit_inputs, .inputs = avfilter_af_channelsplit_inputs,
.outputs = NULL, .outputs = NULL,
.flags = AVFILTER_FLAG_DYNAMIC_OUTPUTS,
}; };
...@@ -525,4 +525,6 @@ AVFilter avfilter_af_join = { ...@@ -525,4 +525,6 @@ AVFilter avfilter_af_join = {
.inputs = NULL, .inputs = NULL,
.outputs = avfilter_af_join_outputs, .outputs = avfilter_af_join_outputs,
.flags = AVFILTER_FLAG_DYNAMIC_INPUTS,
}; };
...@@ -410,6 +410,19 @@ const char *avfilter_pad_get_name(const AVFilterPad *pads, int pad_idx); ...@@ -410,6 +410,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); 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 * Filter definition. This defines the pads a filter contains, and all the
* callback functions used to interact with the filter. * callback functions used to interact with the filter.
...@@ -432,6 +445,11 @@ typedef struct AVFilter { ...@@ -432,6 +445,11 @@ typedef struct AVFilter {
*/ */
const AVClass *priv_class; const AVClass *priv_class;
/**
* A combination of AVFILTER_FLAG_*
*/
int flags;
/***************************************************************** /*****************************************************************
* All fields below this line are not part of the public API. They * 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 * may not be used outside of libavfilter and can be changed and
......
...@@ -133,6 +133,8 @@ AVFilter avfilter_vf_split = { ...@@ -133,6 +133,8 @@ AVFilter avfilter_vf_split = {
.inputs = avfilter_vf_split_inputs, .inputs = avfilter_vf_split_inputs,
.outputs = NULL, .outputs = NULL,
.flags = AVFILTER_FLAG_DYNAMIC_OUTPUTS,
}; };
static const AVFilterPad avfilter_af_asplit_inputs[] = { static const AVFilterPad avfilter_af_asplit_inputs[] = {
...@@ -157,4 +159,6 @@ AVFilter avfilter_af_asplit = { ...@@ -157,4 +159,6 @@ AVFilter avfilter_af_asplit = {
.inputs = avfilter_af_asplit_inputs, .inputs = avfilter_af_asplit_inputs,
.outputs = NULL, .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