aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStefano Sabatini <stefano.sabatini-lala@poste.it>2009-10-18 23:06:52 +0000
committerStefano Sabatini <stefano.sabatini-lala@poste.it>2009-10-18 23:06:52 +0000
commitf6a1fa850af7ab031708737be417f6c94c53799a (patch)
tree957945ec4627dfa101f1a7c6ccb3e2d1351b34ca
parentf28b385d47ed11c4389baa318949b18c8fc01ab3 (diff)
downloadffmpeg-f6a1fa850af7ab031708737be417f6c94c53799a.tar.gz
Implement avfilter_make_format_list2(), which is going to replace
avfilter_make_format_list(). See the thread: "[PATCH] Implement avfilter_make_format_list2(enum PixelFormat pix_fmt, ...)". Originally committed as revision 20299 to svn://svn.ffmpeg.org/ffmpeg/trunk
-rw-r--r--libavfilter/avfilter.h12
-rw-r--r--libavfilter/formats.c16
2 files changed, 26 insertions, 2 deletions
diff --git a/libavfilter/avfilter.h b/libavfilter/avfilter.h
index 4aa11259cc..0694275f91 100644
--- a/libavfilter/avfilter.h
+++ b/libavfilter/avfilter.h
@@ -23,8 +23,8 @@
#define AVFILTER_AVFILTER_H
#define LIBAVFILTER_VERSION_MAJOR 1
-#define LIBAVFILTER_VERSION_MINOR 0
-#define LIBAVFILTER_VERSION_MICRO 1
+#define LIBAVFILTER_VERSION_MINOR 1
+#define LIBAVFILTER_VERSION_MICRO 0
#define LIBAVFILTER_VERSION_INT AV_VERSION_INT(LIBAVFILTER_VERSION_MAJOR, \
LIBAVFILTER_VERSION_MINOR, \
@@ -180,6 +180,14 @@ struct AVFilterFormats
AVFilterFormats *avfilter_make_format_list(int len, ...);
/**
+ * Creates a list of supported formats. This is intended for use in
+ * AVFilter->query_formats().
+ * @param pix_fmt list of pixel formats, terminated by PIX_FMT_NONE
+ * @return the format list, with no existing references
+ */
+AVFilterFormats *avfilter_make_format_list2(enum PixelFormat *pix_fmt);
+
+/**
* Returns a list of all colorspaces supported by FFmpeg.
*/
AVFilterFormats *avfilter_all_colorspaces(void);
diff --git a/libavfilter/formats.c b/libavfilter/formats.c
index 33fec163a5..3a44cfd530 100644
--- a/libavfilter/formats.c
+++ b/libavfilter/formats.c
@@ -87,6 +87,22 @@ AVFilterFormats *avfilter_make_format_list(int len, ...)
return ret;
}
+AVFilterFormats *avfilter_make_format_list2(enum PixelFormat *pix_fmt)
+{
+ AVFilterFormats *formats;
+ int count;
+
+ for (count = 0; pix_fmt[count] != PIX_FMT_NONE; count++)
+ ;
+
+ formats = av_mallocz(sizeof(AVFilterFormats));
+ formats->formats = av_malloc(sizeof(*formats->formats) * count);
+ formats->format_count = count;
+ memcpy(formats->formats, pix_fmt, sizeof(*formats->formats) * count);
+
+ return formats;
+}
+
AVFilterFormats *avfilter_all_colorspaces(void)
{
AVFilterFormats *ret;