[SCM] libav/experimental: Implement avfilter_make_format_list2(), which is going to replace avfilter_make_format_list().

siretart at users.alioth.debian.org siretart at users.alioth.debian.org
Sun Jun 30 16:53:13 UTC 2013


The following commit has been merged in the experimental branch:
commit f6a1fa850af7ab031708737be417f6c94c53799a
Author: Stefano Sabatini <stefano.sabatini-lala at poste.it>
Date:   Sun Oct 18 23:06:52 2009 +0000

    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

diff --git a/libavfilter/avfilter.h b/libavfilter/avfilter.h
index 4aa1125..0694275 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 33fec16..3a44cfd 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;

-- 
Libav/FFmpeg packaging



More information about the pkg-multimedia-commits mailing list