Implement avfilter_add_colorspace().
authorStefano Sabatini <stefano.sabatini-lala@poste.it>
Sun, 3 Jan 2010 22:26:59 +0000 (22:26 +0000)
committerStefano Sabatini <stefano.sabatini-lala@poste.it>
Sun, 3 Jan 2010 22:26:59 +0000 (22:26 +0000)
Originally committed as revision 21007 to svn://svn.ffmpeg.org/ffmpeg/trunk

libavfilter/avfilter.h
libavfilter/formats.c

index dba73f8..8315a3b 100644 (file)
@@ -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);
index 8747bb6..0b03110 100644 (file)
@@ -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;