From 4fd1f1876a69af1b3dc9cc039fad088943f498bb Mon Sep 17 00:00:00 2001 From: Stefano Sabatini Date: Sun, 3 Jan 2010 22:26:59 +0000 Subject: Implement avfilter_add_colorspace(). Originally committed as revision 21007 to svn://svn.ffmpeg.org/ffmpeg/trunk --- libavfilter/avfilter.h | 10 +++++++++- libavfilter/formats.c | 13 +++++++++++++ 2 files changed, 22 insertions(+), 1 deletion(-) diff --git a/libavfilter/avfilter.h b/libavfilter/avfilter.h index dba73f8f4b..8315a3bb18 100644 --- a/libavfilter/avfilter.h +++ b/libavfilter/avfilter.h @@ -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, \ @@ -191,6 +191,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. */ diff --git a/libavfilter/formats.c b/libavfilter/formats.c index 8747bb6fff..0b0311087a 100644 --- a/libavfilter/formats.c +++ b/libavfilter/formats.c @@ -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; -- cgit v1.2.3