summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNiklas Haas <git@nand.wakku.to>2015-01-21 23:08:41 +0100
committerNiklas Haas <git@nand.wakku.to>2015-01-21 23:08:41 +0100
commitedc100eee0c9b9d5c4a17bf5c05197e2143c5c81 (patch)
tree606c34217f6de3e7bc6e7c7964eaafd9ffa52da5
parente7171892e7c0bc998f76a6701b1a38f2e4eb2adb (diff)
downloadmpv-edc100eee0c9b9d5c4a17bf5c05197e2143c5c81.tar.bz2
mpv-edc100eee0c9b9d5c4a17bf5c05197e2143c5c81.tar.xz
vo_opengl: make the default radius 3.0 and simplify scaler documentation
This also fixes the maximum range to 16.0, which was previously set to 32.0 and incorrectly documented as 8.0. 16 taps should be more than anybody will ever need, but it's the highest radius that's supported by all affected filters.
-rw-r--r--DOCS/man/vo.rst26
-rw-r--r--video/out/filter_kernels.c2
-rw-r--r--video/out/gl_video.c4
3 files changed, 17 insertions, 15 deletions
diff --git a/DOCS/man/vo.rst b/DOCS/man/vo.rst
index 2ff8d682e1..ae7e377771 100644
--- a/DOCS/man/vo.rst
+++ b/DOCS/man/vo.rst
@@ -291,27 +291,29 @@ Available video output drivers are:
``lscale=<filter>``
``bilinear``
- Bilinear hardware texture filtering (fastest, low quality).
- This is the default.
+ Bilinear hardware texture filtering (fastest, very low quality).
+ This is the default for compatibility reasons.
``spline36``
Mid quality and speed. This is the default when using ``opengl-hq``.
- ``lanczos3``
- Lanczos scaling with radius=3. Provides mid quality and speed.
- Worse than ``spline36``.
+ ``lanczos``
+ Lanczos scaling. Provides mid quality and speed. Generally worse
+ than ``spline36``, but it results in a slightly sharper image
+ which is good for some content types. The number of taps can be
+ controlled with ``lradius``, but is best left unchanged.
- ``ewa_lanczos3``
- Elliptic weighted average Lanczos scaling filter. Also known as
- Jinc. Relatively slow, but very good quality.
+ ``ewa_lanczos``
+ Elliptic weighted average Lanczos scaling. Also known as Jinc.
+ Relatively slow, but very good quality. The number of taps can
+ be controlled with ``lradius``.
- ``ewa_lanczos4``
- Better quality than ``ewa_lanczos3``, but slower.
+ Adding extra taps makes the filter sharper but adds more ringing.
``mitchell``
Mitchell-Netravali. The ``b`` and ``c`` parameters can be set with
``lparam1`` and ``lparam2``. Both are set to 1/3 by default.
- Can be useful as special-purpose filter for downscaling.
+ This filter is very good at downscaling (see ``lscale-down``).
There are some more filters, but most are not as useful. For a complete
list, pass ``help`` as value, e.g.::
@@ -327,7 +329,7 @@ Available video output drivers are:
``lradius=<r>``
Set radius for filters listed below, must be a float number between 1.0
- and 8.0. Defaults to be 2.0 if not specified.
+ and 16.0. Defaults to be 3.0 if not specified.
``sinc``, ``lanczos``, ``ewa_lanczos``, ``blackman``, ``gaussian``
diff --git a/video/out/filter_kernels.c b/video/out/filter_kernels.c
index d983e9318f..f2c97b4bde 100644
--- a/video/out/filter_kernels.c
+++ b/video/out/filter_kernels.c
@@ -57,7 +57,7 @@ bool mp_init_filter(struct filter_kernel *filter, const int *sizes,
double inv_scale)
{
if (filter->radius < 0)
- filter->radius = 2.0;
+ filter->radius = 3.0;
// polar filters can be of any radius, and nothing special is needed
if (filter->polar) {
filter->size = filter->radius;
diff --git a/video/out/gl_video.c b/video/out/gl_video.c
index 9aacf57ae9..e3eb4d1abf 100644
--- a/video/out/gl_video.c
+++ b/video/out/gl_video.c
@@ -366,8 +366,8 @@ const struct m_sub_options gl_video_conf = {
OPT_FLOAT("lparam2", scaler_params[0][1], 0),
OPT_FLOAT("cparam1", scaler_params[1][0], 0),
OPT_FLOAT("cparam2", scaler_params[1][1], 0),
- OPT_FLOATRANGE("lradius", scaler_radius[0], 0, 1.0, 32.0),
- OPT_FLOATRANGE("cradius", scaler_radius[1], 0, 1.0, 32.0),
+ OPT_FLOATRANGE("lradius", scaler_radius[0], 0, 1.0, 16.0),
+ OPT_FLOATRANGE("cradius", scaler_radius[1], 0, 1.0, 16.0),
OPT_FLAG("scaler-resizes-only", scaler_resizes_only, 0),
OPT_FLAG("fancy-downscaling", fancy_downscaling, 0),
OPT_FLAG("sigmoid-upscaling", sigmoid_upscaling, 0),