On 04/09/2012 12:23 AM, Anton Khirnov wrote:
> ---
> 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;
nice. LGTM.
-Justin
_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel