filter_kernels: add ewa_lanczos4sharpest

Mainly for vo_gpu_next.
This commit is contained in:
Niklas Haas 2023-09-15 12:27:48 +02:00 committed by Niklas Haas
parent 93ff7554ac
commit a24aa6b8f7
3 changed files with 13 additions and 0 deletions

View File

@ -58,6 +58,7 @@ Interface changes
- remove `--tone-mapping-mode`
- change `--subs-fallback-forced` so that it works alongside `--slang`
- add `--icc-3dlut-size=auto` and make it the default
- add `--scale=ewa_lanczos4sharpest`
--- mpv 0.36.0 ---
- add `--target-contrast`
- Target luminance value is now also applied when ICC profile is used.

View File

@ -5278,6 +5278,12 @@ them.
A slightly sharpened version of ewa_lanczos. If your hardware can run
it, this is probably what you should use by default.
``ewa_lanczos4sharpest``
Very sharp scaler, but also slightly slower than ``ewa_lanczossharp``.
Prone to ringing, so it's recommended to combine this with an
anti-ringing shader. On ``--vo=gpu-next``, setting this filter enables
built-in anti-ringing, so no extra action needs to be taken.
``mitchell``
Mitchell-Netravali. The ``B`` and ``C`` parameters can be set with
``--scale-param1`` and ``--scale-param2``. This filter is very good at

View File

@ -363,6 +363,7 @@ const struct filter_window mp_filter_windows[] = {
};
#define JINC_R3 3.2383154841662362
#define JINC_R4 4.2410628637960699
const struct filter_kernel mp_filter_kernels[] = {
// Spline filters
@ -382,6 +383,11 @@ const struct filter_kernel mp_filter_kernels[] = {
// preserve horizontal/vertical lines)
{{"ewa_lanczossharp", JINC_R3, jinc, .blur = 0.9812505837223707, .resizable = true},
.polar = true, .window = "jinc"},
// Similar to the above, but sharpened substantially to the point of
// minimizing the total impulse response error on an integer grid. Tends
// to preserve hash patterns well. Very sharp but rings a lot.
{{"ewa_lanczos4sharpest", JINC_R4, jinc, .blur = 0.8845120932605005, .resizable = true},
.polar = true, .window = "jinc"},
// Similar to the above, but softened instead, to make even/odd integer
// contributions exactly symmetrical. Designed to smooth out hash patterns.
{{"ewa_lanczossoft", JINC_R3, jinc, .blur = 1.0164667662867047, .resizable = true},