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 7fcc7d6..e1fcc23 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;
}
--
1.7.10.4
_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel