Skip to content

Commit

Permalink
lavfi/vf_scale: use default swscale flags for scaler
Browse files Browse the repository at this point in the history
Currently the default swscale flags for simple filter graph is bicubic,
however for complex filter graph it uses bilinear as decleared in scale
filter.

$ffmpeg -v verbose -i input.mp4 -vf format=yuv420p,scale=800x600 -an -f null -
[Parsed_scale_1 @ 0x7f86d2c160c0] w:1920 h:1080 fmt:yuv420p sar:0/1 -> w:800 h:600 fmt:yuv420p sar:0/1 flags:0x4

$ffmpeg -v verbose -i input.mp4 -filter_complex format=yuv420p,scale=800x600 -an -f null -
[Parsed_scale_1 @ 0x7f8779e046c0] w:1920 h:1080 fmt:yuv420p sar:0/1 -> w:800 h:600 fmt:yuv420p sar:0/1 flags:0x2

Use default swscale flags (bicubic currently) for scale filter.
- Remove flags="bilinear" from vf_scale
- Update the FATE refs

Signed-off-by: Linjie Fu <linjie.justin.fu@gmail.com>
  • Loading branch information
fulinjie committed Aug 5, 2021
1 parent 9dbf95f commit 9f14396
Show file tree
Hide file tree
Showing 2 changed files with 7 additions and 7 deletions.
4 changes: 2 additions & 2 deletions libavfilter/vf_scale.c
Expand Up @@ -313,7 +313,7 @@ static av_cold int init_dict(AVFilterContext *ctx, AVDictionary **opts)

scale->flags = 0;

if (scale->flags_str) {
if (scale->flags_str && *scale->flags_str) {
const AVClass *class = sws_get_class();
const AVOption *o = av_opt_find(&class, "sws_flags", NULL, 0,
AV_OPT_SEARCH_FAKE_OBJ);
Expand Down Expand Up @@ -900,7 +900,7 @@ static const AVOption scale_options[] = {
{ "width", "Output video width", OFFSET(w_expr), AV_OPT_TYPE_STRING, .flags = TFLAGS },
{ "h", "Output video height", OFFSET(h_expr), AV_OPT_TYPE_STRING, .flags = TFLAGS },
{ "height","Output video height", OFFSET(h_expr), AV_OPT_TYPE_STRING, .flags = TFLAGS },
{ "flags", "Flags to pass to libswscale", OFFSET(flags_str), AV_OPT_TYPE_STRING, { .str = "bilinear" }, .flags = FLAGS },
{ "flags", "Flags to pass to libswscale", OFFSET(flags_str), AV_OPT_TYPE_STRING, { .str = "" }, .flags = FLAGS },
{ "interl", "set interlacing", OFFSET(interlaced), AV_OPT_TYPE_BOOL, {.i64 = 0 }, -1, 1, FLAGS },
{ "size", "set video size", OFFSET(size_str), AV_OPT_TYPE_STRING, {.str = NULL}, 0, FLAGS },
{ "s", "set video size", OFFSET(size_str), AV_OPT_TYPE_STRING, {.str = NULL}, 0, FLAGS },
Expand Down
10 changes: 5 additions & 5 deletions tests/ref/fate/filter-scale2ref_keep_aspect
Expand Up @@ -7,8 +7,8 @@
#dimensions 0: 160x120
#sar 0: 1/1
#stream#, dts, pts, duration, size, hash
0, 0, 0, 1, 57600, 9a19c23dc3a557786840d0098606d5f1
0, 1, 1, 1, 57600, e6fbdabaf1bb0d28afc648ed4d27e9f0
0, 2, 2, 1, 57600, 52924ed0a751214c50fb2e7a626c8cc5
0, 3, 3, 1, 57600, 67d5fd6ee71793f1cf8794d1c27afdce
0, 4, 4, 1, 57600, 85f7775f7b01afd369fc8919dc759d30
0, 0, 0, 1, 57600, 65fe9892ad710cc5763b04b390327d40
0, 1, 1, 1, 57600, 5e8d4524bc8889afa8769e851e998bc0
0, 2, 2, 1, 57600, 8f5e0e58d1f4c2104b82ef7a16850f1e
0, 3, 3, 1, 57600, cfe4142845e1445d33748493faa63cda
0, 4, 4, 1, 57600, bb491f3b01788773fb6129aef0f0abd2

0 comments on commit 9f14396

Please sign in to comment.