From 0aedf90e62a828c84a6efe3497ab7438aae8bf2f Mon Sep 17 00:00:00 2001 From: Michael Niedermayer Date: Sat, 7 Dec 2013 13:09:33 +0100 Subject: avutil/opt: factor set_string_color() out Signed-off-by: Michael Niedermayer --- libavutil/opt.c | 26 ++++++++++++++++---------- 1 file changed, 16 insertions(+), 10 deletions(-) (limited to 'libavutil/opt.c') diff --git a/libavutil/opt.c b/libavutil/opt.c index bf82d2dc5e..76959fa20b 100644 --- a/libavutil/opt.c +++ b/libavutil/opt.c @@ -280,6 +280,21 @@ static int set_string_video_rate(void *obj, const AVOption *o, const char *val, return ret; } +static int set_string_color(void *obj, const AVOption *o, const char *val, uint8_t *dst) +{ + int ret; + + if (!val) { + return 0; + } else { + ret = av_parse_color(dst, val, -1, obj); + if (ret < 0) + av_log(obj, AV_LOG_ERROR, "Unable to parse option value \"%s\" as color\n", val); + return ret; + } + return 0; +} + #if FF_API_OLD_AVOPTIONS int av_set_string3(void *obj, const char *name, const char *val, int alloc, const AVOption **o_out) { @@ -358,16 +373,7 @@ int av_opt_set(void *obj, const char *name, const char *val, int search_flags) return ret; } break; - case AV_OPT_TYPE_COLOR: - if (!val) { - return 0; - } else { - ret = av_parse_color(dst, val, -1, obj); - if (ret < 0) - av_log(obj, AV_LOG_ERROR, "Unable to parse option value \"%s\" as color\n", val); - return ret; - } - break; + case AV_OPT_TYPE_COLOR: return set_string_color(obj, o, val, dst); case AV_OPT_TYPE_CHANNEL_LAYOUT: if (!val || !strcmp(val, "none")) { *(int64_t *)dst = 0; -- cgit v1.2.3