diff options
author | Oleg Oshmyan <chortos@inbox.lv> | 2020-07-07 02:37:03 +0300 |
---|---|---|
committer | Oneric <oneric@oneric.stub> | 2022-09-24 20:24:47 +0200 |
commit | f08f8ea522d20dd9985544c636e45e4984a0d743 (patch) | |
tree | e56b7ec32fc1d46e95824062b1f50d3f8b8e0d22 /libass/ass_render_api.c | |
parent | b6db99a3930b609ca1ba5a0b9930b5c6dc5701dc (diff) | |
download | libass-f08f8ea522d20dd9985544c636e45e4984a0d743.tar.bz2 libass-f08f8ea522d20dd9985544c636e45e4984a0d743.tar.xz |
Fix scaling in x direction
VSFilter scales several features based on width/PlayResX
but libass until now didn't. This affects:
- explicit vector drawing coordinates
- font spacing
- borders
- shadows
This list was obtained by checking against Cyberbeing/xy-VSFilter
code and searching forevery occurence of m_scalex.
This m_scalex factor is also used for the Banner effect,
to make the delay PlayRes-relative, but in libass the value
is PlayRes-relative by default without needing to be scaled.
Additionally, libass neglected to compensate anamorphic stretching
for some features which is also being fixed now.
Both omissions combined actually happened to cancel each other out
for some PlayRes-relative feature in specific but not unusual cases.
If subs for an anamorphic video use isotropically scaled storage
resolution as PlayRes, libass already rendered e.g. vector drawings
correctly. However, other features like e.g. \xshad used to only render
correctly if isotropically scaled display res was used. Thus, more
complex typesetting actually was never rendered correctly on anamorphic
video before this change.
Fixes https://github.com/libass/libass/issues/171.
Diffstat (limited to 'libass/ass_render_api.c')
0 files changed, 0 insertions, 0 deletions