You've already forked FFmpeg
mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2025-08-15 14:13:16 +02:00
avutil/opt: factor set_string_image_size() out
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
@@ -252,6 +252,21 @@ static int set_string_number(void *obj, void *target_obj, const AVOption *o, con
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static int set_string_image_size(void *obj, const AVOption *o, const char *val, int *dst)
|
||||||
|
{
|
||||||
|
int ret;
|
||||||
|
|
||||||
|
if (!val || !strcmp(val, "none")) {
|
||||||
|
dst[0] =
|
||||||
|
dst[1] = 0;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
ret = av_parse_video_size(dst, dst + 1, val);
|
||||||
|
if (ret < 0)
|
||||||
|
av_log(obj, AV_LOG_ERROR, "Unable to parse option value \"%s\" as image size\n", val);
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
#if FF_API_OLD_AVOPTIONS
|
#if FF_API_OLD_AVOPTIONS
|
||||||
int av_set_string3(void *obj, const char *name, const char *val, int alloc, const AVOption **o_out)
|
int av_set_string3(void *obj, const char *name, const char *val, int alloc, const AVOption **o_out)
|
||||||
{
|
{
|
||||||
@@ -286,15 +301,7 @@ int av_opt_set(void *obj, const char *name, const char *val, int search_flags)
|
|||||||
case AV_OPT_TYPE_FLOAT:
|
case AV_OPT_TYPE_FLOAT:
|
||||||
case AV_OPT_TYPE_DOUBLE:
|
case AV_OPT_TYPE_DOUBLE:
|
||||||
case AV_OPT_TYPE_RATIONAL: return set_string_number(obj, target_obj, o, val, dst);
|
case AV_OPT_TYPE_RATIONAL: return set_string_number(obj, target_obj, o, val, dst);
|
||||||
case AV_OPT_TYPE_IMAGE_SIZE:
|
case AV_OPT_TYPE_IMAGE_SIZE: return set_string_image_size(obj, o, val, dst);
|
||||||
if (!val || !strcmp(val, "none")) {
|
|
||||||
*(int *)dst = *((int *)dst + 1) = 0;
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
ret = av_parse_video_size(dst, ((int *)dst) + 1, val);
|
|
||||||
if (ret < 0)
|
|
||||||
av_log(obj, AV_LOG_ERROR, "Unable to parse option value \"%s\" as image size\n", val);
|
|
||||||
return ret;
|
|
||||||
case AV_OPT_TYPE_VIDEO_RATE:
|
case AV_OPT_TYPE_VIDEO_RATE:
|
||||||
if (!val) {
|
if (!val) {
|
||||||
ret = AVERROR(EINVAL);
|
ret = AVERROR(EINVAL);
|
||||||
|
Reference in New Issue
Block a user