summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNiklas Haas <git@haasn.dev>2023-09-20 18:12:15 +0200
committerNiklas Haas <github-daiK1o@haasn.dev>2023-09-25 12:45:17 +0200
commit57fad2d5f96e4629dab9cb9a4fefb2fba1111662 (patch)
tree19e8a8357a162de76b36ed24784c6fdd180a3788
parent4dc97ea688dddcbf1ee45461009acc37a43ce138 (diff)
downloadmpv-57fad2d5f96e4629dab9cb9a4fefb2fba1111662.tar.bz2
mpv-57fad2d5f96e4629dab9cb9a4fefb2fba1111662.tar.xz
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@64d7c5aab06766a9492d3cfffd35333792052cd9
-rw-r--r--DOCS/interface-changes.rst1
-rw-r--r--DOCS/man/options.rst8
-rw-r--r--video/out/filter_kernels.c2
-rw-r--r--video/out/filter_kernels.h1
-rw-r--r--video/out/gpu/video.c13
-rw-r--r--video/out/gpu/video.h1
-rw-r--r--video/out/vo_gpu_next.c1
7 files changed, 6 insertions, 21 deletions
diff --git a/DOCS/interface-changes.rst b/DOCS/interface-changes.rst
index 6f5d61340b..e556402353 100644
--- a/DOCS/interface-changes.rst
+++ b/DOCS/interface-changes.rst
@@ -90,6 +90,7 @@ Interface changes
- add `--title-bar` option
- add `--window-corners` option
- rename `--cdrom-device` to `--cdda-device`
+ - remove `--scale-cutoff`, `--cscale-cutoff`, `--dscale-cutoff`, `--tscale-cutoff`
--- mpv 0.36.0 ---
- add `--target-contrast`
- Target luminance value is now also applied when ICC profile is used.
diff --git a/DOCS/man/options.rst b/DOCS/man/options.rst
index 9c9371d4a6..e397d7b988 100644
--- a/DOCS/man/options.rst
+++ b/DOCS/man/options.rst
@@ -5347,14 +5347,6 @@ them.
moving edges) in exchange for potentially adding more blur. The default for
``--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>``
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
diff --git a/video/out/filter_kernels.c b/video/out/filter_kernels.c
index ed17650854..95d99ff316 100644
--- a/video/out/filter_kernels.c
+++ b/video/out/filter_kernels.c
@@ -164,7 +164,7 @@ void mp_compute_lut(struct filter_kernel *filter, int count, int stride,
double r = x * filter->radius / (count - 1);
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;
}
} else {
diff --git a/video/out/filter_kernels.h b/video/out/filter_kernels.h
index 1da5f18a35..b8b2f672fb 100644
--- a/video/out/filter_kernels.h
+++ b/video/out/filter_kernels.h
@@ -29,7 +29,6 @@ struct filter_kernel {
struct filter_window f; // the kernel itself
struct filter_window w; // window storage
double clamp; // clamping factor, affects negative weights
- double value_cutoff; // discard all contributions below this value (polar)
// Constant values
const char *window; // default window
bool polar; // whether or not the filter uses polar coordinates
diff --git a/video/out/gpu/video.c b/video/out/gpu/video.c
index d29c58a988..4e226486d5 100644
--- a/video/out/gpu/video.c
+++ b/video/out/gpu/video.c
@@ -302,12 +302,9 @@ static const struct gl_video_opts gl_video_opts_def = {
.sigmoid_center = 0.75,
.sigmoid_slope = 6.5,
.scaler = {
- {{"lanczos", .params={NAN, NAN}}, {.params = {NAN, NAN}},
- .cutoff = 0.001}, // scale
- {{"hermite", .params={NAN, NAN}}, {.params = {NAN, NAN}},
- .cutoff = 0.001}, // dscale
- {{NULL, .params={NAN, NAN}}, {.params = {NAN, NAN}},
- .cutoff = 0.001}, // cscale
+ {{"lanczos", .params={NAN, NAN}}, {.params = {NAN, NAN}}}, // scale
+ {{"hermite", .params={NAN, NAN}}, {.params = {NAN, NAN}}}, // dscale
+ {{NULL, .params={NAN, NAN}}, {.params = {NAN, NAN}}}, // cscale
{{"oversample", .params={NAN, NAN}}, {.params = {NAN, NAN}}}, // tscale
},
.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"-param2", OPT_FLOATDEF(scaler[i].kernel.params[1])}, \
{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"-wparam", OPT_FLOATDEF(scaler[i].window.params[0])}, \
{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->clamp = conf->clamp;
- scaler->kernel->value_cutoff = conf->cutoff;
-
scaler->insufficient = !mp_init_filter(scaler->kernel, sizes, scale_factor);
int size = scaler->kernel->size;
diff --git a/video/out/gpu/video.h b/video/out/gpu/video.h
index 93d5ea24f6..f9061fd7aa 100644
--- a/video/out/gpu/video.h
+++ b/video/out/gpu/video.h
@@ -40,7 +40,6 @@ struct scaler_config {
struct scaler_fun window;
float radius;
float antiring;
- float cutoff;
float clamp;
};
diff --git a/video/out/vo_gpu_next.c b/video/out/vo_gpu_next.c
index 8803e5b045..b357d8a268 100644
--- a/video/out/vo_gpu_next.c
+++ b/video/out/vo_gpu_next.c
@@ -2065,7 +2065,6 @@ static void update_render_options(struct vo *vo)
const struct gl_video_opts *opts = p->opts_cache->opts;
pars->params.lut_entries = 1 << opts->scaler_lut_size;
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[1] = opts->background.g / 255.0;
pars->params.background_color[2] = opts->background.b / 255.0;