[FFmpeg-cvslog] vf_scale: support named constants for sws flags.

Anton Khirnov git at videolan.org
Tue Apr 10 23:07:20 CEST 2012


ffmpeg | branch: master | Anton Khirnov <anton at khirnov.net> | Mon Apr  9 06:05:50 2012 +0200| [90f65dc6cf65d1c849a9fa372ac2dda427a258e2] | committer: Anton Khirnov

vf_scale: support named constants for sws flags.

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=90f65dc6cf65d1c849a9fa372ac2dda427a258e2
---

 libavfilter/vf_scale.c |   11 ++++++++++-
 1 files changed, 10 insertions(+), 1 deletions(-)

diff --git a/libavfilter/vf_scale.c b/libavfilter/vf_scale.c
index a4da088..85095b7 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;



More information about the ffmpeg-cvslog mailing list