From c80f332798238731e1ddf1b541748f3d5c8030f3 Mon Sep 17 00:00:00 2001 From: "Dr.Smile" Date: Mon, 20 May 2019 00:48:26 +0300 Subject: 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_outline.h | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) (limited to 'libass/ass_outline.h') diff --git a/libass/ass_outline.h b/libass/ass_outline.h index 85faea91..0a455899 100644 --- a/libass/ass_outline.h +++ b/libass/ass_outline.h @@ -96,9 +96,7 @@ bool outline_add_point(ASS_Outline *outline, ASS_Vector pt, char segment); bool outline_add_segment(ASS_Outline *outline, char segment); bool outline_close_contour(ASS_Outline *outline); -void outline_translate(const ASS_Outline *outline, int32_t dx, int32_t dy); -void outline_adjust(const ASS_Outline *outline, double scale_x, int32_t dx, int32_t dy); -void outline_get_cbox(const ASS_Outline *outline, ASS_Rect *cbox); +void outline_update_cbox(const ASS_Outline *outline, ASS_Rect *cbox); bool outline_stroke(ASS_Outline *result, ASS_Outline *result1, const ASS_Outline *path, int xbord, int ybord, int eps); -- cgit v1.2.3