summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libavfilter/avfilter.h10
-rw-r--r--libavfilter/formats.c13
2 files changed, 22 insertions, 1 deletions
diff --git a/libavfilter/avfilter.h b/libavfilter/avfilter.h
index dba73f8f4b..8315a3bb18 100644
--- a/libavfilter/avfilter.h
+++ b/libavfilter/avfilter.h
@@ -25,7 +25,7 @@
#include "libavutil/avutil.h"
#define LIBAVFILTER_VERSION_MAJOR 1
-#define LIBAVFILTER_VERSION_MINOR 12
+#define LIBAVFILTER_VERSION_MINOR 13
#define LIBAVFILTER_VERSION_MICRO 0
#define LIBAVFILTER_VERSION_INT AV_VERSION_INT(LIBAVFILTER_VERSION_MAJOR, \
@@ -192,6 +192,14 @@ struct AVFilterFormats
AVFilterFormats *avfilter_make_format_list(const enum PixelFormat *pix_fmts);
/**
+ * Adds pix_fmt to the list of pixel formats contained in avff.
+ *
+ * @return a non negative value in case of success, or a negative
+ * value corresponding to an AVERROR code in case of error
+ */
+int avfilter_add_colorspace(AVFilterFormats *avff, 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 8747bb6fff..0b0311087a 100644
--- a/libavfilter/formats.c
+++ b/libavfilter/formats.c
@@ -85,6 +85,19 @@ AVFilterFormats *avfilter_make_format_list(const enum PixelFormat *pix_fmts)
return formats;
}
+int avfilter_add_colorspace(AVFilterFormats *avff, enum PixelFormat pix_fmt)
+{
+ enum PixelFormat *pix_fmts =
+ av_realloc(avff->formats, sizeof(avff->formats) * (avff->format_count+1));
+
+ if (!pix_fmts)
+ return AVERROR(ENOMEM);
+
+ avff->formats = pix_fmts;
+ avff->formats[avff->format_count++] = pix_fmt;
+ return 0;
+}
+
AVFilterFormats *avfilter_all_colorspaces(void)
{
AVFilterFormats *ret;