sub: merge vsfilter-aspect and vsfilter-blur-compat options

The naming for "blur-compat" was misleading since the setting
actually affects more than just blur affects. Additionally
forwarding storage resolution but forcing an aspect ratio
of 1.0 for the video is likely to result in odd rendering
and there’s no known usecase for it.

Both options control which video properties are exposed to libass
so to fix the aforementioned issues merge these settings into one
tri-state sub-ass-use-video-data.

The default V keybind now cycles through all states of
use-video-data instead of toggling vsfilter-aspect-compat.

Resolves: https://github.com/mpv-player/mpv/issues/10680
This commit is contained in:
Oneric
2024-08-23 22:47:53 +02:00
committed by sfan5
parent f6d931301b
commit 207b1a2c91
8 changed files with 31 additions and 35 deletions

View File

@@ -704,7 +704,7 @@ static struct sub_bitmaps *get_bitmaps(struct sd *sd, struct mp_osd_res dim,
double scale = dim.display_par;
if (!converted && (!shared_opts->ass_style_override[sd->order] ||
opts->ass_vsfilter_aspect_compat))
opts->ass_use_video_data >= 1))
{
// Let's use the original video PAR for vsfilter compatibility:
double par = ctx->video_params.p_w / (double)ctx->video_params.p_h;
@@ -717,7 +717,7 @@ static struct sub_bitmaps *get_bitmaps(struct sd *sd, struct mp_osd_res dim,
}
ass_set_pixel_aspect(renderer, scale);
if (!converted && (!shared_opts->ass_style_override[sd->order] ||
opts->ass_vsfilter_blur_compat))
opts->ass_use_video_data >= 2))
{
ass_set_storage_size(renderer, ctx->video_params.w, ctx->video_params.h);
} else {