summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorwm4 <wm4@nowhere>2015-01-26 02:03:44 +0100
committerwm4 <wm4@nowhere>2015-01-26 02:03:44 +0100
commitdc1793048f234dc2c35ba19f17a5567ec74136d8 (patch)
treede7e7e6c9e6bd24c76a6ad8a2a108335c8ed52bc
parent639e2bd12f2592d016e30b542c217641c416c95d (diff)
downloadmpv-dc1793048f234dc2c35ba19f17a5567ec74136d8.tar.bz2
mpv-dc1793048f234dc2c35ba19f17a5567ec74136d8.tar.xz
vo_opengl: make "mitchell" the hq default filter for downscaling
Seems like several people agree that it's a good filter for downscaling. Setting this option by default may also prevent people from accidentally using an unsuitable filter for downscaling by setting "scale" and without being aware of the impliciations (maybe). On the other hand, this change is not strictly backwards compatible for the same reasons. Also, allow disabling this option with scale-down="" (before this, not setting it was the only way to do this - not possible anymore if it's set by default). This is what the change in handle_scaler_opt() does.
-rw-r--r--DOCS/man/vo.rst2
-rw-r--r--video/out/gl_video.c3
2 files changed, 3 insertions, 2 deletions
diff --git a/DOCS/man/vo.rst b/DOCS/man/vo.rst
index 4a02b7cfa8..d5be46ac9b 100644
--- a/DOCS/man/vo.rst
+++ b/DOCS/man/vo.rst
@@ -597,7 +597,7 @@ Available video output drivers are:
This is equivalent to::
- --vo=opengl:scale=spline36:dither-depth=auto:fbo-format=rgba16:fancy-downscaling:sigmoid-upscaling
+ --vo=opengl:scale=spline36:scale-down=mitchell:dither-depth=auto:fbo-format=rgba16:fancy-downscaling:sigmoid-upscaling
Note that some cheaper LCDs do dithering that gravely interferes with
``opengl``'s dithering. Disabling dithering with ``dither-depth=no`` helps.
diff --git a/video/out/gl_video.c b/video/out/gl_video.c
index d1d4d9713b..9e25af376b 100644
--- a/video/out/gl_video.c
+++ b/video/out/gl_video.c
@@ -350,6 +350,7 @@ const struct gl_video_opts gl_video_opts_hq_def = {
.sigmoid_slope = 6.5,
.sigmoid_upscaling = 1,
.scalers = { "spline36", "bilinear" },
+ .dscaler = "mitchell",
.scaler_params = {{NAN, NAN}, {NAN, NAN}},
.scaler_radius = {3, 3},
.alpha_mode = 2,
@@ -2720,7 +2721,7 @@ struct gl_video *gl_video_init(GL *gl, struct mp_log *log, struct osd_state *osd
// Get static string for scaler shader.
static const char *handle_scaler_opt(const char *name)
{
- if (name) {
+ if (name && name[0]) {
const struct filter_kernel *kernel = mp_find_filter_kernel(name);
if (kernel)
return kernel->name;