[FFmpeg-cvslog] lavfi: add a function for counting elements in AVFilterPad arrays.
Anton Khirnov
git at videolan.org
Fri Apr 12 14:54:28 CEST 2013
ffmpeg | branch: master | Anton Khirnov <anton at khirnov.net> | Thu Mar 28 08:59:13 2013 +0100| [7e8fe4be5fb4c98aa3c6a4ed3cec999f4e3cc3aa] | committer: Anton Khirnov
lavfi: add a function for counting elements in AVFilterPad arrays.
The caller needs to know what valid indices can be passed to
avfilter_pad_get_name/type.
> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=7e8fe4be5fb4c98aa3c6a4ed3cec999f4e3cc3aa
---
doc/APIchanges | 1 +
libavfilter/avfilter.c | 6 +++---
libavfilter/avfilter.h | 6 ++++++
3 files changed, 10 insertions(+), 3 deletions(-)
diff --git a/doc/APIchanges b/doc/APIchanges
index 87a472b..106f912 100644
--- a/doc/APIchanges
+++ b/doc/APIchanges
@@ -23,6 +23,7 @@ API changes, most recent first:
Add avfilter_init_str(), deprecate avfilter_init_filter().
Add avfilter_init_dict().
Add AVFilter.flags field and AVFILTER_FLAG_DYNAMIC_{INPUTS,OUTPUTS} flags.
+ Add avfilter_pad_count() for counting filter inputs/outputs.
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/avfilter.c b/libavfilter/avfilter.c
index e127bd3..a707c0d 100644
--- a/libavfilter/avfilter.c
+++ b/libavfilter/avfilter.c
@@ -304,7 +304,7 @@ void avfilter_uninit(void)
next_registered_avfilter_idx = 0;
}
-static int pad_count(const AVFilterPad *pads)
+int avfilter_pad_count(const AVFilterPad *pads)
{
int count;
@@ -377,7 +377,7 @@ AVFilterContext *ff_filter_alloc(const AVFilter *filter, const char *inst_name)
av_opt_set_defaults(ret->priv);
}
- ret->nb_inputs = pad_count(filter->inputs);
+ ret->nb_inputs = avfilter_pad_count(filter->inputs);
if (ret->nb_inputs ) {
ret->input_pads = av_malloc(sizeof(AVFilterPad) * ret->nb_inputs);
if (!ret->input_pads)
@@ -388,7 +388,7 @@ AVFilterContext *ff_filter_alloc(const AVFilter *filter, const char *inst_name)
goto err;
}
- ret->nb_outputs = pad_count(filter->outputs);
+ ret->nb_outputs = avfilter_pad_count(filter->outputs);
if (ret->nb_outputs) {
ret->output_pads = av_malloc(sizeof(AVFilterPad) * ret->nb_outputs);
if (!ret->output_pads)
diff --git a/libavfilter/avfilter.h b/libavfilter/avfilter.h
index dd29ec0..73dbd88 100644
--- a/libavfilter/avfilter.h
+++ b/libavfilter/avfilter.h
@@ -351,6 +351,12 @@ struct AVFilterPad {
#endif
/**
+ * Get the number of elements in a NULL-terminated array of AVFilterPads (e.g.
+ * AVFilter.inputs/outputs).
+ */
+int avfilter_pad_count(const AVFilterPad *pads);
+
+/**
* Get the name of an AVFilterPad.
*
* @param pads an array of AVFilterPads
More information about the ffmpeg-cvslog
mailing list