0
0
mirror of https://github.com/mpv-player/mpv.git synced 2024-09-20 12:02:23 +02:00

vo_gpu_next: add --corner-rounding option

For better or worse.
This commit is contained in:
Niklas Haas 2023-06-19 13:06:01 +02:00 committed by Niklas Haas
parent f1600ea9cf
commit 0af81b16d8
3 changed files with 13 additions and 0 deletions

View File

@ -77,6 +77,7 @@ Interface changes
`--gpu-shader-cache` is no longer required
- remove the `--tone-mapping-crosstalk` option
- add `--gamut-mapping-mode=perceptual|relative|saturation|absolute|linear`
- add `--corner-rounding` option
--- mpv 0.35.0 ---
- add the `--vo=gpu-next` video output driver, as well as the options
`--allow-delayed-peak-detect`, `--builtin-scalers`,

View File

@ -5967,6 +5967,12 @@ them.
remaining quantization artifacts. Higher numbers add more noise. (Default
48)
``--corner-rounding=<0..1>``
If set to a value above 0.0, the output will be rendered with rounded
corners, as if an alpha transparency mask had been applied. The value
indicates the relative fraction of the side length to round - a value of
1.0 rounds the corners as much as possible. (``--vo=gpu-next`` only)
``--sharpen=<value>``
If set to a value other than 0, enable an unsharp masking filter. Positive
values will sharpen the image (but add more ringing and aliasing). Negative

View File

@ -151,6 +151,8 @@ struct priv {
bool delayed_peak;
bool inter_preserve;
bool target_hint;
float corner_rounding;
};
static void update_render_options(struct vo *vo);
@ -1815,6 +1817,9 @@ static void update_render_options(struct vo *vo)
p->params.disable_linear_scaling = !opts->linear_downscaling && !opts->linear_upscaling;
p->params.disable_fbos = opts->dumb_mode == 1;
p->params.blend_against_tiles = opts->alpha_mode == ALPHA_BLEND_TILES;
#if PL_API_VER >= 277
p->params.corner_rounding = p->corner_rounding;
#endif
// Map scaler options as best we can
p->params.upscaler = map_scaler(p, SCALER_SCALE);
@ -1998,6 +2003,7 @@ const struct vo_driver video_out_gpu_next = {
.options = (const struct m_option[]) {
{"allow-delayed-peak-detect", OPT_BOOL(delayed_peak)},
{"corner-rounding", OPT_FLOAT(corner_rounding), M_RANGE(0, 1)},
{"interpolation-preserve", OPT_BOOL(inter_preserve)},
{"lut", OPT_STRING(lut.opt), .flags = M_OPT_FILE},
{"lut-type", OPT_CHOICE_C(lut.type, lut_types)},