aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAnton Khirnov <anton@khirnov.net>2012-04-09 06:05:50 +0200
committerAnton Khirnov <anton@khirnov.net>2012-04-09 21:29:05 +0200
commit90f65dc6cf65d1c849a9fa372ac2dda427a258e2 (patch)
tree62199d7e9bd06caa5a327bc9d5f95fe215b5a42b
parent7c59b5c2a5a19638c6c4411fb96fcd50066905c6 (diff)
downloadffmpeg-90f65dc6cf65d1c849a9fa372ac2dda427a258e2.tar.gz
vf_scale: support named constants for sws flags.
-rw-r--r--libavfilter/vf_scale.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/libavfilter/vf_scale.c b/libavfilter/vf_scale.c
index a4da088936..85095b78d7 100644
--- a/libavfilter/vf_scale.c
+++ b/libavfilter/vf_scale.c
@@ -27,6 +27,7 @@
#include "libavutil/avstring.h"
#include "libavutil/eval.h"
#include "libavutil/mathematics.h"
+#include "libavutil/opt.h"
#include "libavutil/pixdesc.h"
#include "libswscale/swscale.h"
@@ -91,7 +92,15 @@ static av_cold int init(AVFilterContext *ctx, const char *args, void *opaque)
if (args) {
sscanf(args, "%255[^:]:%255[^:]", scale->w_expr, scale->h_expr);
p = strstr(args,"flags=");
- if (p) scale->flags = strtoul(p+6, NULL, 0);
+ if (p) {
+ const AVClass *class = sws_get_class();
+ const AVOption *o = av_opt_find(&class, "sws_flags", NULL, 0,
+ AV_OPT_SEARCH_FAKE_OBJ);
+ int ret = av_opt_eval_flags(&class, o, p + 6, &scale->flags);
+
+ if (ret < 0)
+ return ret;
+ }
}
return 0;