diff options
author | Jan Ekström <jeebjp@gmail.com> | 2021-02-09 22:59:08 +0200 |
---|---|---|
committer | Jan Ekström <jeebjp@gmail.com> | 2021-02-11 20:45:56 +0200 |
commit | 58e59396f5fe93f0606dc458d84c609b5d23ea1c (patch) | |
tree | a340211848fb07e8abd6b58dc7f34c4068ef357a /libavfilter | |
parent | 22edf7463c4d6d2dfe9c8673d163120a8a50911a (diff) | |
download | ffmpeg-58e59396f5fe93f0606dc458d84c609b5d23ea1c.tar.gz |
avfilter/vf_zscale: add support for setting scaling filter parameters
param_a/b are utilized for this.
Diffstat (limited to 'libavfilter')
-rw-r--r-- | libavfilter/vf_zscale.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/libavfilter/vf_zscale.c b/libavfilter/vf_zscale.c index 57199a0878..c18a161ab4 100644 --- a/libavfilter/vf_zscale.c +++ b/libavfilter/vf_zscale.c @@ -101,6 +101,8 @@ typedef struct ZScaleContext { char *size_str; double nominal_peak_luminance; int approximate_gamma; + double param_a; + double param_b; char *w_expr; ///< width expression string char *h_expr; ///< height expression string @@ -601,6 +603,8 @@ static int filter_frame(AVFilterLink *link, AVFrame *in) s->params.resample_filter_uv = s->filter; s->params.nominal_peak_luminance = s->nominal_peak_luminance; s->params.allow_approximate_gamma = s->approximate_gamma; + s->params.filter_param_a = s->params.filter_param_a_uv = s->param_a; + s->params.filter_param_b = s->params.filter_param_b_uv = s->param_b; format_init(&s->src_format, in, desc, s->colorspace_in, s->primaries_in, s->trc_in, s->range_in, s->chromal_in); @@ -897,6 +901,9 @@ static const AVOption zscale_options[] = { { "cin", "set input chroma location", OFFSET(chromal_in), AV_OPT_TYPE_INT, {.i64 = -1}, -1, ZIMG_CHROMA_BOTTOM, FLAGS, "chroma" }, { "npl", "set nominal peak luminance", OFFSET(nominal_peak_luminance), AV_OPT_TYPE_DOUBLE, {.dbl = NAN}, 0, DBL_MAX, FLAGS }, { "agamma", "allow approximate gamma", OFFSET(approximate_gamma), AV_OPT_TYPE_BOOL, {.i64 = 1}, 0, 1, FLAGS }, + { "param_a", "parameter A, which is parameter \"b\" for bicubic, " + "and the number of filter taps for lanczos", OFFSET(param_a), AV_OPT_TYPE_DOUBLE, {.dbl = NAN}, -DBL_MAX, DBL_MAX, FLAGS }, + { "param_b", "parameter B, which is parameter \"c\" for bicubic", OFFSET(param_b), AV_OPT_TYPE_DOUBLE, {.dbl = NAN}, -DBL_MAX, DBL_MAX, FLAGS }, { NULL } }; |