| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
| |
While FreeType uses FT_Pos for 32-bit values,
the real underlying type is signed long,
so labs() is more appropriate here.
|
|
|
|
|
|
|
| |
This commit enforces strict invariant on ASS_Outline
to contain point coordinates into predetermined range.
Fixes https://github.com/libass/libass/issues/431.
|
|
|
|
| |
Fixes https://github.com/libass/libass/pull/321.
|
| |
|
|
|
|
|
|
|
|
|
| |
This also potentially improves performance by copying
and transforming in a single operation rather than
copying first and then transforming the result.
Also transformation function is specialized for case
where expensive perspective division is not necessary.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This commit defers all outline transformations until rasterization stage.
Combined transformation is then quantized and used as bitmap key.
That should improve performance of slow animations.
Also caching of initial and stroked outlines and bitmaps is now separate
in preparation to proper error estimation for stroker stage.
Note that Z-clipping for perspective transformations is now done
differently compared to VSFilter. That clipping is mostly safety feature
to protect from overflows and divisions by zero and is almost never
triggered in real-world subtitles.
|
|
|
|
| |
Purpose of this commit is to simplify logic behind drawing handling.
|
|
|
|
| |
Fixes: https://github.com/libass/libass/issues/326.
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
FT_Vector and FT_BBox types are based on FT_Pos, which is alias of long.
FreeType treats it as 32-bit integer, but on some platforms long can be
64-bit. That leads to wasted memory and suboptimal performance.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|