vo_gpu: remove --scale-cutoff etc

Pointless bloat option, hard-coded as 1e-3 now in libplacebo and no
reason not to also hard-code in mpv.

See-Also: haasn/libplacebo@64d7c5aab0
This commit is contained in:
Niklas Haas 2023-09-20 18:12:15 +02:00 committed by Niklas Haas
parent 4dc97ea688
commit 57fad2d5f9
7 changed files with 6 additions and 21 deletions

View File

@ -90,6 +90,7 @@ Interface changes
- add `--title-bar` option - add `--title-bar` option
- add `--window-corners` option - add `--window-corners` option
- rename `--cdrom-device` to `--cdda-device` - rename `--cdrom-device` to `--cdda-device`
- remove `--scale-cutoff`, `--cscale-cutoff`, `--dscale-cutoff`, `--tscale-cutoff`
--- mpv 0.36.0 --- --- mpv 0.36.0 ---
- add `--target-contrast` - add `--target-contrast`
- Target luminance value is now also applied when ICC profile is used. - Target luminance value is now also applied when ICC profile is used.

View File

@ -5347,14 +5347,6 @@ them.
moving edges) in exchange for potentially adding more blur. The default for moving edges) in exchange for potentially adding more blur. The default for
``--tscale-clamp`` is 1.0, the others default to 0.0. ``--tscale-clamp`` is 1.0, the others default to 0.0.
``--scale-cutoff=<value>``, ``--cscale-cutoff=<value>``, ``--dscale-cutoff=<value>``
Cut off the filter kernel prematurely once the value range drops below
this threshold. Doing so allows more aggressive pruning of skippable
coefficients by disregarding parts of the LUT which are effectively zeroed
out by the window function. Only affects polar (EWA) filters. The default
is 0.001 for each, which is perceptually transparent but provides a 10%-20%
speedup, depending on the exact radius and filter kernel chosen.
``--scale-taper=<value>``, ``--scale-wtaper=<value>``, ``--dscale-taper=<value>``, ``--dscale-wtaper=<value>``, ``--cscale-taper=<value>``, ``--cscale-wtaper=<value>``, ``--tscale-taper=<value>``, ``--tscale-wtaper=<value>`` ``--scale-taper=<value>``, ``--scale-wtaper=<value>``, ``--dscale-taper=<value>``, ``--dscale-wtaper=<value>``, ``--cscale-taper=<value>``, ``--cscale-wtaper=<value>``, ``--tscale-taper=<value>``, ``--tscale-wtaper=<value>``
Kernel/window taper factor. Increasing this flattens the filter function. Kernel/window taper factor. Increasing this flattens the filter function.
Value range is 0 to 1. A value of 0 (the default) means no flattening, a Value range is 0 to 1. A value of 0 (the default) means no flattening, a

View File

@ -164,7 +164,7 @@ void mp_compute_lut(struct filter_kernel *filter, int count, int stride,
double r = x * filter->radius / (count - 1); double r = x * filter->radius / (count - 1);
out_array[x] = sample_filter(filter, r); out_array[x] = sample_filter(filter, r);
if (fabs(out_array[x]) > filter->value_cutoff) if (fabs(out_array[x]) > 1e-3f)
filter->radius_cutoff = r; filter->radius_cutoff = r;
} }
} else { } else {

View File

@ -29,7 +29,6 @@ struct filter_kernel {
struct filter_window f; // the kernel itself struct filter_window f; // the kernel itself
struct filter_window w; // window storage struct filter_window w; // window storage
double clamp; // clamping factor, affects negative weights double clamp; // clamping factor, affects negative weights
double value_cutoff; // discard all contributions below this value (polar)
// Constant values // Constant values
const char *window; // default window const char *window; // default window
bool polar; // whether or not the filter uses polar coordinates bool polar; // whether or not the filter uses polar coordinates

View File

@ -302,12 +302,9 @@ static const struct gl_video_opts gl_video_opts_def = {
.sigmoid_center = 0.75, .sigmoid_center = 0.75,
.sigmoid_slope = 6.5, .sigmoid_slope = 6.5,
.scaler = { .scaler = {
{{"lanczos", .params={NAN, NAN}}, {.params = {NAN, NAN}}, {{"lanczos", .params={NAN, NAN}}, {.params = {NAN, NAN}}}, // scale
.cutoff = 0.001}, // scale {{"hermite", .params={NAN, NAN}}, {.params = {NAN, NAN}}}, // dscale
{{"hermite", .params={NAN, NAN}}, {.params = {NAN, NAN}}, {{NULL, .params={NAN, NAN}}, {.params = {NAN, NAN}}}, // cscale
.cutoff = 0.001}, // dscale
{{NULL, .params={NAN, NAN}}, {.params = {NAN, NAN}},
.cutoff = 0.001}, // cscale
{{"oversample", .params={NAN, NAN}}, {.params = {NAN, NAN}}}, // tscale {{"oversample", .params={NAN, NAN}}, {.params = {NAN, NAN}}}, // tscale
}, },
.scaler_resizes_only = true, .scaler_resizes_only = true,
@ -354,7 +351,7 @@ static int validate_error_diffusion_opt(struct mp_log *log, const m_option_t *op
{n"-param1", OPT_FLOATDEF(scaler[i].kernel.params[0])}, \ {n"-param1", OPT_FLOATDEF(scaler[i].kernel.params[0])}, \
{n"-param2", OPT_FLOATDEF(scaler[i].kernel.params[1])}, \ {n"-param2", OPT_FLOATDEF(scaler[i].kernel.params[1])}, \
{n"-blur", OPT_FLOAT(scaler[i].kernel.blur)}, \ {n"-blur", OPT_FLOAT(scaler[i].kernel.blur)}, \
{n"-cutoff", OPT_FLOAT(scaler[i].cutoff), M_RANGE(0.0, 1.0)}, \ {n"-cutoff", OPT_REMOVED("Hard-coded as 0.001")}, \
{n"-taper", OPT_FLOAT(scaler[i].kernel.taper), M_RANGE(0.0, 1.0)}, \ {n"-taper", OPT_FLOAT(scaler[i].kernel.taper), M_RANGE(0.0, 1.0)}, \
{n"-wparam", OPT_FLOATDEF(scaler[i].window.params[0])}, \ {n"-wparam", OPT_FLOATDEF(scaler[i].window.params[0])}, \
{n"-wblur", OPT_REMOVED("Just adjust filter radius directly")}, \ {n"-wblur", OPT_REMOVED("Just adjust filter radius directly")}, \
@ -1776,8 +1773,6 @@ static void reinit_scaler(struct gl_video *p, struct scaler *scaler,
scaler->kernel->f.radius = conf->radius; scaler->kernel->f.radius = conf->radius;
scaler->kernel->clamp = conf->clamp; scaler->kernel->clamp = conf->clamp;
scaler->kernel->value_cutoff = conf->cutoff;
scaler->insufficient = !mp_init_filter(scaler->kernel, sizes, scale_factor); scaler->insufficient = !mp_init_filter(scaler->kernel, sizes, scale_factor);
int size = scaler->kernel->size; int size = scaler->kernel->size;

View File

@ -40,7 +40,6 @@ struct scaler_config {
struct scaler_fun window; struct scaler_fun window;
float radius; float radius;
float antiring; float antiring;
float cutoff;
float clamp; float clamp;
}; };

View File

@ -2065,7 +2065,6 @@ static void update_render_options(struct vo *vo)
const struct gl_video_opts *opts = p->opts_cache->opts; const struct gl_video_opts *opts = p->opts_cache->opts;
pars->params.lut_entries = 1 << opts->scaler_lut_size; pars->params.lut_entries = 1 << opts->scaler_lut_size;
pars->params.antiringing_strength = opts->scaler[0].antiring; pars->params.antiringing_strength = opts->scaler[0].antiring;
pars->params.polar_cutoff = opts->scaler[0].cutoff;
pars->params.background_color[0] = opts->background.r / 255.0; pars->params.background_color[0] = opts->background.r / 255.0;
pars->params.background_color[1] = opts->background.g / 255.0; pars->params.background_color[1] = opts->background.g / 255.0;
pars->params.background_color[2] = opts->background.b / 255.0; pars->params.background_color[2] = opts->background.b / 255.0;