From 5ff84183de1addfeacfa095e88b0f5c62916d9e2 Mon Sep 17 00:00:00 2001 From: Stefano Sabatini Date: Mon, 4 Jan 2010 00:08:11 +0000 Subject: Make avfilter_all_colorspaces() add to the returned list of pixel formats only the non-HW-accelerated formats, for which there is no sense in filtering. Originally committed as revision 21009 to svn://svn.ffmpeg.org/ffmpeg/trunk --- libavfilter/formats.c | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) (limited to 'libavfilter') diff --git a/libavfilter/formats.c b/libavfilter/formats.c index 0b03110..a289a12 100644 --- a/libavfilter/formats.c +++ b/libavfilter/formats.c @@ -19,6 +19,7 @@ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ +#include "libavutil/pixdesc.h" #include "avfilter.h" /** @@ -101,14 +102,12 @@ int avfilter_add_colorspace(AVFilterFormats *avff, enum PixelFormat pix_fmt) AVFilterFormats *avfilter_all_colorspaces(void) { AVFilterFormats *ret; - int i; + enum PixelFormat pix_fmt; ret = av_mallocz(sizeof(AVFilterFormats)); - ret->formats = av_malloc(sizeof(*ret->formats) * PIX_FMT_NB); - ret->format_count = PIX_FMT_NB; - - for(i = 0; i < PIX_FMT_NB; i ++) - ret->formats[i] = i; + for (pix_fmt = 0; pix_fmt < PIX_FMT_NB; pix_fmt++) + if (!(av_pix_fmt_descriptors[pix_fmt].flags & PIX_FMT_HWACCEL)) + avfilter_add_colorspace(ret, pix_fmt); return ret; } -- cgit v1.1