diff options
author | Stefano Sabatini <stefano.sabatini-lala@poste.it> | 2009-10-18 23:06:52 +0000 |
---|---|---|
committer | Stefano Sabatini <stefano.sabatini-lala@poste.it> | 2009-10-18 23:06:52 +0000 |
commit | f6a1fa850af7ab031708737be417f6c94c53799a (patch) | |
tree | 957945ec4627dfa101f1a7c6ccb3e2d1351b34ca | |
parent | f28b385d47ed11c4389baa318949b18c8fc01ab3 (diff) | |
download | ffmpeg-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.h | 12 | ||||
-rw-r--r-- | libavfilter/formats.c | 16 |
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; |