summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGrigori Goronzy <greg@blackbox>2009-06-30 13:10:03 +0200
committerGrigori Goronzy <greg@blackbox>2009-06-30 13:10:03 +0200
commit1023e87ea247c893c0483c508dd6c59e3680b2d7 (patch)
tree76ef226854ca6a7a531dda6ea08a1fa9020a24cf
parent41bc5c4b00b2d975558d204a072a4d72f98a681b (diff)
downloadlibass-1023e87ea247c893c0483c508dd6c59e3680b2d7.tar.bz2
libass-1023e87ea247c893c0483c508dd6c59e3680b2d7.tar.xz
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.
-rw-r--r--libass/ass_render.c6
1 files 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);
}
}
}