Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

stats.lua: calculate sizes like --osd-*-size options #15216

Merged
merged 1 commit into from
Oct 29, 2024

Conversation

guidocella
Copy link
Contributor

Currently --script-opt=stats-font_size=n is much bigger than --osd-font-size=n, which can confuse users, so calculate sizes the same way.

The \fs value to replicate --osd-font-size is
${osd-font-size} * 288 / 720 with --osd-scale-by-window, and \fs${osd-font-size} * 288 / ${osd-height}
with --osd-scale-by-window=no. This is because
sub/osd_libass.c:update_playres() sets
track->PlayResY = ass->res_y ? ass->res_y : MP_ASS_FONT_PLAYRESY, where MP_ASS_FONT_PLAYRESY is 288.

This also works with persistent_overlay=yes.

{\fscx100}{\fscy100} would also replicate --osd-font-size with show-text and with osd-verlay + --osd-scale-by-window, but not with osd-overlay + --osd-scale-by-window=no.

The default font and border sizes are multiplied by 720/288 = 2.5 to keep them the same as before.

Copy link

github-actions bot commented Oct 29, 2024

Download the artifacts for this pull request:

Windows
macOS

@guidocella guidocella force-pushed the stats-osd-size branch 5 times, most recently from f2fef5d to 23419a9 Compare October 29, 2024 15:18
Currently --script-opt=stats-font_size=n is much bigger than
--osd-font-size=n, which can confuse users, so calculate sizes the same
way.

The \fs value to replicate --osd-font-size is
${osd-font-size} * 288 / 720 with --osd-scale-by-window, and
\fs${osd-font-size} * 288 / ${osd-height}
with --osd-scale-by-window=no. This is because
sub/osd_libass.c:update_playres() sets
track->PlayResY = ass->res_y ? ass->res_y : MP_ASS_FONT_PLAYRESY,
where MP_ASS_FONT_PLAYRESY is 288.

This also works with persistent_overlay=yes.

{\fscx100}{\fscy100} would also replicate --osd-font-size with show-text
and with osd-verlay + --osd-scale-by-window, but not with osd-overlay +
--osd-scale-by-window=no.

The default sizes are multiplied by 720/288 = 2.5 to keep them the same
as before.
Copy link
Contributor

@kasper93 kasper93 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good and will be easier to adjust the sizes for everyone.

@avih
Copy link
Member

avih commented Oct 29, 2024

Assuming this works as advertised, LGTM.

@kasper93 kasper93 merged commit 3986f34 into mpv-player:master Oct 29, 2024
26 checks passed
@guidocella guidocella deleted the stats-osd-size branch October 29, 2024 19:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants