aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAnton Khirnov <anton@khirnov.net>2024-02-08 16:16:49 +0100
committerAnton Khirnov <anton@khirnov.net>2024-03-01 16:57:24 +0100
commit200f82e3f807b67c49e1f04b5eefc5ab421d8712 (patch)
treebff2b6bc65de04d13bc1a91b91b5bd9858a19540
parent1ffa657a0347b7f84dd737b8c91890ad26ac54f5 (diff)
downloadffmpeg-200f82e3f807b67c49e1f04b5eefc5ab421d8712.tar.gz
lavu/opt: get rid of useless read_number() calls
The option type is known and fixed for all these, so reading the value directly is simpler and more clear.
-rw-r--r--libavutil/opt.c13
1 files changed, 5 insertions, 8 deletions
diff --git a/libavutil/opt.c b/libavutil/opt.c
index f9d44b8d52..d68184c2cc 100644
--- a/libavutil/opt.c
+++ b/libavutil/opt.c
@@ -313,7 +313,7 @@ static int set_string_number(void *obj, void *target_obj, const AVOption *o, con
}
}
if (o->type == AV_OPT_TYPE_FLAGS) {
- read_number(o, dst, NULL, NULL, &intnum);
+ intnum = *(unsigned int*)dst;
if (cmd == '+')
d = intnum | (int64_t)d;
else if (cmd == '-')
@@ -2035,8 +2035,7 @@ void av_opt_freep_ranges(AVOptionRanges **rangesp)
int av_opt_is_set_to_default(void *obj, const AVOption *o)
{
int64_t i64;
- double d, d2;
- float f;
+ double d;
AVRational q;
int ret, w, h;
char *str;
@@ -2081,13 +2080,11 @@ FF_ENABLE_DEPRECATION_WARNINGS
return 0;
return !strcmp(str, o->default_val.str);
case AV_OPT_TYPE_DOUBLE:
- read_number(o, dst, &d, NULL, NULL);
+ d = *(double *)dst;
return o->default_val.dbl == d;
case AV_OPT_TYPE_FLOAT:
- read_number(o, dst, &d, NULL, NULL);
- f = o->default_val.dbl;
- d2 = f;
- return d2 == d;
+ d = *(float *)dst;
+ return (float)o->default_val.dbl == d;
case AV_OPT_TYPE_RATIONAL:
q = av_d2q(o->default_val.dbl, INT_MAX);
return !av_cmp_q(*(AVRational*)dst, q);