From 1dd35611433c224e2231ed7ae26b5b560863a3cb Mon Sep 17 00:00:00 2001 From: Anton Khirnov Date: Sun, 31 Mar 2013 16:58:49 +0200 Subject: [PATCH] vf_format: do not use the AVFilterFormats internals. Use the formats.h API instead. --- libavfilter/vf_format.c | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/libavfilter/vf_format.c b/libavfilter/vf_format.c index 7fcc7d6383..e1fcc238dc 100644 --- a/libavfilter/vf_format.c +++ b/libavfilter/vf_format.c @@ -83,15 +83,17 @@ static av_cold int init(AVFilterContext *ctx) static AVFilterFormats *make_format_list(FormatContext *s, int flag) { - AVFilterFormats *formats; + AVFilterFormats *formats = NULL; enum AVPixelFormat pix_fmt; - formats = av_mallocz(sizeof(AVFilterFormats)); - formats->formats = av_malloc(sizeof(enum AVPixelFormat) * AV_PIX_FMT_NB); - for (pix_fmt = 0; pix_fmt < AV_PIX_FMT_NB; pix_fmt++) - if (s->listed_pix_fmt_flags[pix_fmt] == flag) - formats->formats[formats->nb_formats++] = pix_fmt; + if (s->listed_pix_fmt_flags[pix_fmt] == flag) { + int ret = ff_add_format(&formats, pix_fmt); + if (ret < 0) { + ff_formats_unref(&formats); + return NULL; + } + } return formats; }