[FFmpeg-devel] [PATCH 1/2] drawutils: publish the list of supported formats.
Nicolas George
nicolas.george at normalesup.org
Thu Feb 23 14:44:26 CET 2012
The list was until now in vf_pad's query format.
Signed-off-by: Nicolas George <nicolas.george at normalesup.org>
---
libavfilter/drawutils.c | 20 ++++++++++++++++++++
libavfilter/drawutils.h | 6 ++++++
libavfilter/vf_pad.c | 17 +----------------
3 files changed, 27 insertions(+), 16 deletions(-)
diff --git a/libavfilter/drawutils.c b/libavfilter/drawutils.c
index bf308a1..f698f73 100644
--- a/libavfilter/drawutils.c
+++ b/libavfilter/drawutils.c
@@ -120,3 +120,23 @@ void ff_copy_rectangle(uint8_t *dst[4], int dst_linesize[4],
}
}
}
+
+AVFilterFormats *ff_drawutils_supported_pixel_formats(void)
+{
+ static const enum PixelFormat pix_fmts[] = {
+ PIX_FMT_ARGB, PIX_FMT_RGBA,
+ PIX_FMT_ABGR, PIX_FMT_BGRA,
+ PIX_FMT_RGB24, PIX_FMT_BGR24,
+
+ PIX_FMT_YUV444P, PIX_FMT_YUV422P,
+ PIX_FMT_YUV420P, PIX_FMT_YUV411P,
+ PIX_FMT_YUV410P, PIX_FMT_YUV440P,
+ PIX_FMT_YUVJ444P, PIX_FMT_YUVJ422P,
+ PIX_FMT_YUVJ420P, PIX_FMT_YUVJ440P,
+ PIX_FMT_YUVA420P,
+
+ PIX_FMT_NONE
+ };
+
+ return avfilter_make_format_list(pix_fmts);
+}
diff --git a/libavfilter/drawutils.h b/libavfilter/drawutils.h
index 330b1cb..53c9c9b 100644
--- a/libavfilter/drawutils.h
+++ b/libavfilter/drawutils.h
@@ -25,6 +25,7 @@
*/
#include <stdint.h>
+#include "avfilter.h"
#include "libavutil/pixfmt.h"
int ff_fill_rgba_map(uint8_t *rgba_map, enum PixelFormat pix_fmt);
@@ -42,4 +43,9 @@ void ff_copy_rectangle(uint8_t *dst[4], int dst_linesize[4],
uint8_t *src[4], int src_linesize[4], int pixelstep[4],
int hsub, int vsub, int x, int y, int y2, int w, int h);
+/**
+ * Return the list of pixel formats supported by the drawutils functions.
+ */
+AVFilterFormats *ff_drawutils_supported_pixel_formats(void);
+
#endif /* AVFILTER_DRAWUTILS_H */
diff --git a/libavfilter/vf_pad.c b/libavfilter/vf_pad.c
index e226a00..6bd4b75 100644
--- a/libavfilter/vf_pad.c
+++ b/libavfilter/vf_pad.c
@@ -67,22 +67,7 @@ enum var_name {
static int query_formats(AVFilterContext *ctx)
{
- static const enum PixelFormat pix_fmts[] = {
- PIX_FMT_ARGB, PIX_FMT_RGBA,
- PIX_FMT_ABGR, PIX_FMT_BGRA,
- PIX_FMT_RGB24, PIX_FMT_BGR24,
-
- PIX_FMT_YUV444P, PIX_FMT_YUV422P,
- PIX_FMT_YUV420P, PIX_FMT_YUV411P,
- PIX_FMT_YUV410P, PIX_FMT_YUV440P,
- PIX_FMT_YUVJ444P, PIX_FMT_YUVJ422P,
- PIX_FMT_YUVJ420P, PIX_FMT_YUVJ440P,
- PIX_FMT_YUVA420P,
-
- PIX_FMT_NONE
- };
-
- avfilter_set_common_pixel_formats(ctx, avfilter_make_format_list(pix_fmts));
+ avfilter_set_common_pixel_formats(ctx, ff_drawutils_supported_pixel_formats());
return 0;
}
--
1.7.9
More information about the ffmpeg-devel
mailing list