From c172a650c41a28d77d14de4af398cfd90caaa805 Mon Sep 17 00:00:00 2001 From: Niklas Haas Date: Wed, 20 Sep 2023 02:09:05 +0200 Subject: [PATCH] vo_gpu: default to dscale=hermite This new filter is slightly sharper, and significantly faster, than mitchell. It also tends to preserve detail better. All in all, there is no reason not to use it by default, especially from a performance PoV. (In vo_gpu_next, hermite is implemented efficiently using hardware accelerated bilinear interpolation) See-Also: https://code.videolan.org/videolan/libplacebo/-/commit/75b3947b2c07803456483ec6976c037bad91b5dd --- DOCS/interface-changes.rst | 1 + DOCS/man/options.rst | 6 +++--- video/out/gpu/video.c | 2 +- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/DOCS/interface-changes.rst b/DOCS/interface-changes.rst index bf50912534..bc00243d96 100644 --- a/DOCS/interface-changes.rst +++ b/DOCS/interface-changes.rst @@ -68,6 +68,7 @@ Interface changes - change `--tscale` default to `oversample` - change `--dither-depth` to `auto` - deprecate `--profile=gpu-hq`, add `--profile=` + - change `--dscale` default to `hermite` --- mpv 0.36.0 --- - add `--target-contrast` - Target luminance value is now also applied when ICC profile is used. diff --git a/DOCS/man/options.rst b/DOCS/man/options.rst index 49c42f37d7..d3effe79d2 100644 --- a/DOCS/man/options.rst +++ b/DOCS/man/options.rst @@ -5282,13 +5282,13 @@ them. ``mitchell`` Mitchell-Netravali. The ``B`` and ``C`` parameters can be set with - ``--scale-param1`` and ``--scale-param2``. This is the default for - ``--dscale``. + ``--scale-param1`` and ``--scale-param2``. ``hermite`` Hermite spline. Similar to ``bicubic`` but with ``B`` set to ``0.0``. This filter has the special property of having a support of radius 1.0, - making it very fast in comparison, but prone to blocking. + making it very fast in comparison, but prone to blocking. This is the + default for ``--dscale``. ``catmull_rom`` Catmull-Rom. A Cubic filter in the same vein as ``mitchell``, where diff --git a/video/out/gpu/video.c b/video/out/gpu/video.c index 8618e8c6ef..3c8c6bae39 100644 --- a/video/out/gpu/video.c +++ b/video/out/gpu/video.c @@ -304,7 +304,7 @@ static const struct gl_video_opts gl_video_opts_def = { .scaler = { {{"lanczos", .params={NAN, NAN}}, {.params = {NAN, NAN}}, .cutoff = 0.001}, // scale - {{"mitchell", .params={NAN, NAN}}, {.params = {NAN, NAN}}, + {{"hermite", .params={NAN, NAN}}, {.params = {NAN, NAN}}, .cutoff = 0.001}, // dscale {{NULL, .params={NAN, NAN}}, {.params = {NAN, NAN}}, .cutoff = 0.001}, // cscale