-
Notifications
You must be signed in to change notification settings - Fork 3.4k
Upscaling
Niklas Haas edited this page Mar 21, 2015
·
4 revisions
There are many available upscaling (interpolation) techniques in mpv, of which this article aims to provide some comparison screenshots.
The source image for all of these is imagemagic's built-in “rose” test pattern, which can be obtained like this:
convert rose: rose.png
Each of the screenshots was obtained like this:
mpv --no-config --pause rose.png --geometry=560x368 -vo opengl-hq:dither-depth=8:scale=SCALER
The resulting output was captured using imagemagick:
import -depth 8 SCALER.png
scale=bilinear

scale=lanczos

scale=mitchell

scale=spline16

scale=spline36

scale=spline64

scale=ewa_lanczos

scale=ewa_lanczos:scale-radius=3.2383154841662362

scale=ewa_lanczossharp

scale=robidoux

scale=robidouxsharp

scale=ewa_ginseng

scale=ewa_hanning

scale=bicubic

scale=gaussian

scale=catmull_rom

scale=nearest

scale=oversample

scale=sharpen3

scale=sharpen5

scale=sinc:scale-radius=16

Some of the upscalers support antiringing, which is a naive technique that attempts to reduce ringing in some cases, but can also introduce artifacts. The antiringing algorithm in mpv is not very sophisticated.
scale=spline36:scale-antiring=1

scale=lanczos:scale-antiring=1

scale=ewa_lanczossharp:scale-antiring=1
