]> git.sesse.net Git - ffmpeg/blobdiff - libavfilter/formats.c
Add an entry for the avfilter_add_colorspace() API addition.
[ffmpeg] / libavfilter / formats.c
index 081a87e140dbed7350c4f1c4e8c831d9db7fe214..0b0311087a35e61457d87221861e6e7548229b99 100644 (file)
@@ -69,22 +69,35 @@ AVFilterFormats *avfilter_merge_formats(AVFilterFormats *a, AVFilterFormats *b)
     return ret;
 }
 
-AVFilterFormats *avfilter_make_format_list(enum PixelFormat *pix_fmt)
+AVFilterFormats *avfilter_make_format_list(const enum PixelFormat *pix_fmts)
 {
     AVFilterFormats *formats;
     int count;
 
-    for (count = 0; pix_fmt[count] != PIX_FMT_NONE; count++)
+    for (count = 0; pix_fmts[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);
+    memcpy(formats->formats, pix_fmts, sizeof(*formats->formats) * count);
 
     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;