From 1023e87ea247c893c0483c508dd6c59e3680b2d7 Mon Sep 17 00:00:00 2001 From: Grigori Goronzy Date: Tue, 30 Jun 2009 13:10:03 +0200 Subject: Fix karaoke (\kf) timing The timing for the \kf karaoke which gradually fills the character from left to right, uses clipping and isn't aware of subpixel accuracy. This is simply fixed by casting these value to int. --- libass/ass_render.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/libass/ass_render.c b/libass/ass_render.c index df695ea..fd790f7 100644 --- a/libass/ass_render.c +++ b/libass/ass_render.c @@ -2142,8 +2142,8 @@ static void process_karaoke_effects(ass_renderer_t *render_priv) x_start = 1000000; x_end = -1000000; for (cur2 = s1; cur2 <= e1; ++cur2) { - x_start = FFMIN(x_start, cur2->bbox.xMin + cur2->pos.x); - x_end = FFMAX(x_end, cur2->bbox.xMax + cur2->pos.x); + x_start = FFMIN(x_start, d6_to_int(cur2->bbox.xMin + cur2->pos.x)); + x_end = FFMAX(x_end, d6_to_int(cur2->bbox.xMax + cur2->pos.x)); } dt = (tm_current - tm_start); @@ -2164,7 +2164,7 @@ static void process_karaoke_effects(ass_renderer_t *render_priv) for (cur2 = s1; cur2 <= e1; ++cur2) { cur2->effect_type = s1->effect_type; - cur2->effect_timing = x - cur2->pos.x; + cur2->effect_timing = x - d6_to_int(cur2->pos.x); } } } -- cgit v1.2.3