# HG changeset patch # User eugeni # Date 1163436572 0 # Node ID ced1aa7b9e3d63879d0be2a57f3b283830f80079 # Parent b6d87b58754f7f7d0fa24a11f121aafb53797735 Support \t with acceleration. diff -r b6d87b58754f -r ced1aa7b9e3d libass/ass_render.c --- a/libass/ass_render.c Mon Nov 13 16:35:15 2006 +0000 +++ b/libass/ass_render.c Mon Nov 13 16:49:32 2006 +0000 @@ -906,12 +906,14 @@ t1 = v1; t2 = v2; delta_t = v2 - v1; + if (v3 < 0.) + v3 = 0.; t = frame_context.time - render_context.event->Start; // FIXME: move to render_context if (t < t1) k = 0.; else if (t > t2) k = 1.; - else k = ((double)(t - t1)) / delta_t; + else k = pow(((double)(t - t1)) / delta_t, v3); while (*p == '\\') p = parse_tag(p, k); // maybe k*pwr ? no, specs forbid nested \t's skip_all(')'); // FIXME: better skip(')'), but much more tags support required