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.
This commit is contained in:
Niklas Haas 2015-01-21 23:08:41 +01:00
parent e7171892e7
commit edc100eee0
No known key found for this signature in database
GPG Key ID: 3BA77D4BFDB10BCE
3 changed files with 17 additions and 15 deletions

View File

@ -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``

View File

@ -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;

View File

@ -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),