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
This commit is contained in:
Stefano Sabatini 2009-10-18 23:06:52 +00:00
parent f28b385d47
commit f6a1fa850a
2 changed files with 26 additions and 2 deletions

View File

@ -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, \
@ -179,6 +179,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.
*/

View File

@ -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;