From 6ea08be59ac503f7309a19a50d5e664426e8c9f3 Mon Sep 17 00:00:00 2001 From: Dudemanguy Date: Thu, 10 Aug 2023 15:51:44 -0500 Subject: player: make sub-pos a float value mpv makes this option an integer, but the underlying ass API actually accepts doubles. From some testing, there is no meaningful precision difference between float or double (it seems to go in roughly 0.05 steps), so just make it a float. sd_lavc also can handle non-integer values here. Closes #11583. --- sub/sd_lavc.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'sub/sd_lavc.c') diff --git a/sub/sd_lavc.c b/sub/sd_lavc.c index ce20ddba2c..f4b85e0784 100644 --- a/sub/sd_lavc.c +++ b/sub/sd_lavc.c @@ -462,8 +462,8 @@ static struct sub_bitmaps *get_bitmaps(struct sd *sd, struct mp_osd_res d, h = MPMAX(priv->video_params.h, current->src_h); } - if (opts->sub_pos != 100 && opts->ass_style_override) { - int offset = (100 - opts->sub_pos) / 100.0 * h; + if (opts->sub_pos != 100.0f && opts->ass_style_override) { + float offset = (100.0f - opts->sub_pos) / 100.0f * h; for (int n = 0; n < res->num_parts; n++) { struct sub_bitmap *sub = &res->parts[n]; -- cgit v1.2.3