filter_kernels: explain origin of LanczosSharp(est) filters

This commit is contained in:
Kacper Michajłow 2024-10-13 19:48:57 +02:00
parent 742142ca92
commit cd9761651f
2 changed files with 11 additions and 3 deletions

View File

@ -5482,7 +5482,9 @@ them.
``ewa_lanczossharp`` ``ewa_lanczossharp``
A slightly sharpened version of ``ewa_lanczos``. This is the default A slightly sharpened version of ``ewa_lanczos``. This is the default
when using the ``high-quality`` profile. when using the ``high-quality`` profile. Blur value determined by method
originally developed by Nicolas Robidoux for Image Magick, see:
https://www.imagemagick.org/discourse-server/viewtopic.php?p=89068#p89068
``ewa_lanczos4sharpest`` ``ewa_lanczos4sharpest``
Very sharp scaler, but also slightly slower than ``ewa_lanczossharp``. Very sharp scaler, but also slightly slower than ``ewa_lanczossharp``.
@ -5490,6 +5492,9 @@ them.
anti-ringing shader. On ``--vo=gpu-next``, setting this filter enables anti-ringing shader. On ``--vo=gpu-next``, setting this filter enables
built-in anti-ringing, so no extra action needs to be taken. built-in anti-ringing, so no extra action needs to be taken.
For more details, see:
https://www.imagemagick.org/discourse-server/viewtopic.php?p=128587#p128587
``mitchell`` ``mitchell``
Mitchell-Netravali. Piecewise cubic filter with a support of radius 2.0. Mitchell-Netravali. Piecewise cubic filter with a support of radius 2.0.
Provides a balanced compromise of all scaling artifacts. This filter has Provides a balanced compromise of all scaling artifacts. This filter has

View File

@ -368,12 +368,15 @@ const struct filter_kernel mp_filter_kernels[] = {
// See <https://legacy.imagemagick.org/Usage/filter/nicolas/#upsampling> // See <https://legacy.imagemagick.org/Usage/filter/nicolas/#upsampling>
{{SCALER_EWA_GINSENG, JINC_R3, jinc, .resizable = true}, .polar = true, .window = WINDOW_SINC}, {{SCALER_EWA_GINSENG, JINC_R3, jinc, .resizable = true}, .polar = true, .window = WINDOW_SINC},
// Slightly sharpened to minimize the 1D step response error (to better // Slightly sharpened to minimize the 1D step response error (to better
// preserve horizontal/vertical lines) // preserve horizontal/vertical lines). Blur value determined by method
// originally developed by Nicolas Robidoux for Image Magick, see:
// <https://www.imagemagick.org/discourse-server/viewtopic.php?p=89068#p89068>
{{SCALER_EWA_LANCZOSSHARP, JINC_R3, jinc, .blur = 0.9812505837223707, .resizable = true}, {{SCALER_EWA_LANCZOSSHARP, JINC_R3, jinc, .blur = 0.9812505837223707, .resizable = true},
.polar = true, .window = WINDOW_JINC}, .polar = true, .window = WINDOW_JINC},
// Similar to the above, but sharpened substantially to the point of // Similar to the above, but sharpened substantially to the point of
// minimizing the total impulse response error on an integer grid. Tends // minimizing the total impulse response error on an integer grid. Tends
// to preserve hash patterns well. Very sharp but rings a lot. // to preserve hash patterns well. Very sharp but rings a lot. See:
// <https://www.imagemagick.org/discourse-server/viewtopic.php?p=128587#p128587>
{{SCALER_EWA_LANCZOS4SHARPEST, JINC_R4, jinc, .blur = 0.8845120932605005, .resizable = true}, {{SCALER_EWA_LANCZOS4SHARPEST, JINC_R4, jinc, .blur = 0.8845120932605005, .resizable = true},
.polar = true, .window = WINDOW_JINC}, .polar = true, .window = WINDOW_JINC},
// Similar to the above, but softened instead, to make even/odd integer // Similar to the above, but softened instead, to make even/odd integer