summaryrefslogtreecommitdiff
path: root/libavfilter/vf_format.c
diff options
context:
space:
mode:
authorStefano Sabatini <stefano.sabatini-lala@poste.it>2011-08-22 14:56:23 +0200
committerStefano Sabatini <stefano.sabatini-lala@poste.it>2011-08-23 15:45:44 +0200
commite26782a9b4c170c272920da014b2265b5bf01d87 (patch)
tree6b456db8e60e23dfb705e702c95be8f1e8f274e2 /libavfilter/vf_format.c
parent2c6348ea67a6a2313dc9f9fab8d24c40b3303bca (diff)
lavfi: add ff_parse_pixel_format() internal function, and use it
Reduce code duplication.
Diffstat (limited to 'libavfilter/vf_format.c')
-rw-r--r--libavfilter/vf_format.c10
1 files changed, 4 insertions, 6 deletions
diff --git a/libavfilter/vf_format.c b/libavfilter/vf_format.c
index 9ecb0269ce..ecf6ebe047 100644
--- a/libavfilter/vf_format.c
+++ b/libavfilter/vf_format.c
@@ -25,6 +25,7 @@
#include "libavutil/pixdesc.h"
#include "avfilter.h"
+#include "internal.h"
typedef struct {
/**
@@ -41,7 +42,7 @@ static av_cold int init(AVFilterContext *ctx, const char *args, void *opaque)
FormatContext *format = ctx->priv;
const char *cur, *sep;
char pix_fmt_name[PIX_FMT_NAME_MAXSIZE];
- int pix_fmt_name_len;
+ int pix_fmt_name_len, ret;
enum PixelFormat pix_fmt;
/* parse the list of formats */
@@ -57,12 +58,9 @@ static av_cold int init(AVFilterContext *ctx, const char *args, void *opaque)
memcpy(pix_fmt_name, cur, pix_fmt_name_len);
pix_fmt_name[pix_fmt_name_len] = 0;
- pix_fmt = av_get_pix_fmt(pix_fmt_name);
- if (pix_fmt == PIX_FMT_NONE) {
- av_log(ctx, AV_LOG_ERROR, "Unknown pixel format: %s\n", pix_fmt_name);
- return -1;
- }
+ if ((ret = ff_parse_pixel_format(&pix_fmt, pix_fmt_name, ctx)) < 0)
+ return ret;
format->listed_pix_fmt_flags[pix_fmt] = 1;
}