]> granicus.if.org Git - libass/commit
Consolidate and quantize all transformations
authorDr.Smile <vabnick@gmail.com>
Sun, 19 May 2019 21:48:26 +0000 (00:48 +0300)
committerDr.Smile <vabnick@gmail.com>
Sun, 19 May 2019 21:48:26 +0000 (00:48 +0300)
commitc80f332798238731e1ddf1b541748f3d5c8030f3
tree15e6abced78c7bb18c496a9f8eb9d4d3f6613b95
parent13f5a18f2b6b7c384d2801beecd6d5c29c164ef1
Consolidate and quantize all transformations

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.
libass/ass_bitmap.c
libass/ass_bitmap.h
libass/ass_cache.c
libass/ass_cache.h
libass/ass_cache_template.h
libass/ass_outline.c
libass/ass_outline.h
libass/ass_render.c
libass/ass_render.h