diff options
author | Grigori Goronzy <greg@kinoho.net> | 2014-03-06 23:16:11 +0100 |
---|---|---|
committer | Grigori Goronzy <greg@kinoho.net> | 2014-03-06 23:16:11 +0100 |
commit | 2a93f7b5c9844f0d95f92be0557272de8df43ecc (patch) | |
tree | 8548833e910f3ff7b2dcfa4fccf5a3ab8aecf80f | |
parent | 029d6320123721951f32c2ff6936311b22931f3b (diff) | |
parent | cee08d6b19cecb96dbbec6648d9cb36bee98156a (diff) | |
download | libass-2a93f7b5c9844f0d95f92be0557272de8df43ecc.tar.bz2 libass-2a93f7b5c9844f0d95f92be0557272de8df43ecc.tar.xz |
Merge pull request #61 from wm4/fix2
Fix change detection in presence of vector clips
-rw-r--r-- | libass/ass_render.c | 5 | ||||
-rw-r--r-- | libass/ass_render.h | 1 |
2 files changed, 5 insertions, 1 deletions
diff --git a/libass/ass_render.c b/libass/ass_render.c index f553b90..dc6d058 100644 --- a/libass/ass_render.c +++ b/libass/ass_render.c @@ -534,6 +534,8 @@ static void blend_vector_clip(ASS_Renderer *render_priv, int aleft, atop, bleft, btop; unsigned char *abuffer, *bbuffer, *nbuffer; + render_priv->state.has_vector_clip = 1; + abuffer = cur->bitmap; bbuffer = clip_bm->buffer; ax = cur->dst_x; @@ -794,6 +796,7 @@ init_render_context(ASS_Renderer *render_priv, ASS_Event *event) render_priv->state.event = event; render_priv->state.style = render_priv->track->styles + event->Style; render_priv->state.parsed_tags = 0; + render_priv->state.has_vector_clip = 0; reset_render_context(render_priv, render_priv->state.style); render_priv->state.wrap_style = render_priv->track->WrapStyle; @@ -2830,7 +2833,7 @@ static int ass_detect_change(ASS_Renderer *priv) ASS_Image *img, *img2; int diff; - if (priv->cache_cleared) + if (priv->cache_cleared || priv->state.has_vector_clip) return 2; img = priv->prev_images_root; diff --git a/libass/ass_render.h b/libass/ass_render.h index 7b3b6d7..f17ad5f 100644 --- a/libass/ass_render.h +++ b/libass/ass_render.h @@ -231,6 +231,7 @@ typedef struct { ASS_Event *event; ASS_Style *style; int parsed_tags; + int has_vector_clip; ASS_Font *font; double font_size; |