]>
granicus.if.org Git - libass/log
Oleg Oshmyan [Wed, 30 Apr 2014 23:32:50 +0000 (00:32 +0100)]
Make \be animatable
VSFilter has supported this since version 2.39.
Use the raw floating-point value of the \be argument in the animation
formula, like xy-VSFilter has done since version 3.0.0.45 (
404301a3 ).
Oleg Oshmyan [Wed, 30 Apr 2014 23:17:23 +0000 (00:17 +0100)]
mystrtoll: don't truncate to int
Oleg Oshmyan [Wed, 30 Apr 2014 23:06:28 +0000 (00:06 +0100)]
Fix corner case: \move with identical start and end times
Dr.Smile [Fri, 28 Mar 2014 18:17:46 +0000 (22:17 +0400)]
Implement fast quad-tree rasterizer in C and x86/SSE2/AVX2
Signed-off-by: Rodger Combs <rodger.combs@gmail.com>
Oleg Oshmyan [Sun, 27 Apr 2014 21:26:16 +0000 (22:26 +0100)]
Fix premature parser exit on }{ in drawing mode
Fixes #75.
Rodger Combs [Sun, 27 Apr 2014 04:07:09 +0000 (23:07 -0500)]
Fixed headers in profile and test
Grigori Goronzy [Fri, 25 Apr 2014 17:38:52 +0000 (19:38 +0200)]
Update README
Grigori Goronzy [Fri, 25 Apr 2014 17:28:17 +0000 (19:28 +0200)]
Update version info and changelog
Oleg Oshmyan [Thu, 10 Apr 2014 15:41:57 +0000 (18:41 +0300)]
Initialize \pbo for each event
Regression in commit
1f5eb5eb .
Fixes issue #74.
Oleg Oshmyan [Thu, 27 Mar 2014 22:19:56 +0000 (00:19 +0200)]
Don't crash on \fscx0 with non-zero \blur
Regression in commit
98707694 .
Grigori Goronzy [Mon, 17 Mar 2014 00:40:49 +0000 (01:40 +0100)]
shaper: fix nasty sign bug in font functions
Fixes issue #68.
Grigori Goronzy [Sun, 16 Mar 2014 13:55:49 +0000 (14:55 +0100)]
Merge pull request #66 from grigorig/drawing-floats
drawing: parse numbers as floats
Grigori Goronzy [Sat, 15 Mar 2014 11:11:50 +0000 (12:11 +0100)]
drawing: parse numbers as floats
Parse values as float and convert into 26.6 fixed point. This actually
simplifies scaling a bit.
Fixes #63.
Oleg Oshmyan [Thu, 13 Mar 2014 01:07:47 +0000 (01:07 +0000)]
Remove dirty pixels from ASM be_blur output
A loop initializer was missing, so output started one row too early.
A loop condition check was missing, so output sometimes stopped
one column too late.
Also remove a couple of dead assignments.
Oleg Oshmyan [Wed, 12 Mar 2014 22:06:28 +0000 (22:06 +0000)]
Fix handling of top two pixel rows in be_blur_c
5dd56af2 replaced our implementation of \be with xy-VSFilter's.
This error is not present in the xy-VSFilter code; it was introduced
by accident in a merge that was later squashed as part of
5dd56af2 .
Note: the new \be reads in but does not write out
the first and last row and column of pixels.
11rcombs [Mon, 10 Mar 2014 00:33:30 +0000 (19:33 -0500)]
Remove incorrect declaration of HAVE_ALIGNED_STACK
Dr.Smile [Mon, 3 Mar 2014 22:24:34 +0000 (02:24 +0400)]
Better fix for zero area outlines
Signed-off-by: wm4 <wm4@nowhere>
Commit
04b51c2d broke BorderStyle=3 with text that had spaces.
Grigori Goronzy [Thu, 6 Mar 2014 22:16:41 +0000 (23:16 +0100)]
Fix API documentation of change detection
Grigori Goronzy [Thu, 6 Mar 2014 22:16:11 +0000 (23:16 +0100)]
Merge pull request #61 from wm4/fix2
Fix change detection in presence of vector clips
wm4 [Thu, 6 Mar 2014 21:23:01 +0000 (22:23 +0100)]
Fix change detection in presence of vector clips
Fixes this test case:
Dialogue: 0,0:00:00.00,0:00:02.00,,,0,0,0,,{\fs50\pos(250,250)\iclip(m 0 0 l 400 0 l 400 220 l0 220)}Hello
Dialogue: 0,0:00:02.00,0:10:00.00,,,0,0,0,,{\fs50\pos(250,250)\iclip(m 0 0 l 400 0 l 400 230 l0 230)}Hello
The problem here is that the rendered output bitmap list itself does
not change, only its contents (due to the different vector clip).
ass_render_frame() will not set *detect_change correctly, and an
application using this flag (like mplayer or mpv) will not update
the screen as needed.
Fix this with a very cheap hack: always report a full change if
there's a vector clip. This is basically an emergency fix until
we have a proper way to detect the change.
wm4 [Mon, 3 Mar 2014 23:36:21 +0000 (00:36 +0100)]
Actually export ass_library_version symbol
Patch by chadr...@gmail.com.
Fixes libass#58, GC#117.
wm4 [Mon, 3 Mar 2014 14:52:54 +0000 (15:52 +0100)]
Don't crash on \fscx0
Freetype can return a bounding box with all fields set to INT_MIN if an
outline with all points set to 0 is used. This can happen e.g. with
\fscx0, but also in more complicated cases. (In the original crashing
sample, this was probably caused in combination with an embedded font.)
Such a bounding box causes libass to crash, because it will enlarge the
combined bitmap bounding box to a ridiculous size.
Just skip outlines that have en empty bounding box. This is probably
the correct thing to do, and won't pass INT_MAX down to other parts
of libass.
11rcombs [Sat, 1 Mar 2014 01:54:39 +0000 (19:54 -0600)]
Don't use an unsigned it to check for <0 :|
11rcombs [Sat, 1 Mar 2014 01:54:03 +0000 (19:54 -0600)]
Assume SSE2 on x86_64
11rcombs [Mon, 24 Feb 2014 01:39:45 +0000 (19:39 -0600)]
Redesigned configure/Makefile setup
Adds yasm version check and handles Free/OpenBSD/win32 correctly.
Signed-off-by: Grigori Goronzy <greg@chown.ath.cx>
Rodger Combs [Wed, 19 Feb 2014 14:59:41 +0000 (08:59 -0600)]
Format README.md
Rodger Combs [Wed, 19 Feb 2014 14:48:14 +0000 (08:48 -0600)]
Create README.md
Grigori Goronzy [Wed, 19 Feb 2014 14:10:25 +0000 (15:10 +0100)]
Update version info and changelog
Grigori Goronzy [Wed, 19 Feb 2014 13:52:48 +0000 (14:52 +0100)]
Add missing distfiles
Grigori Goronzy [Tue, 18 Feb 2014 23:37:50 +0000 (00:37 +0100)]
Update changelog
Grigori Goronzy [Tue, 18 Feb 2014 21:02:48 +0000 (22:02 +0100)]
Update version info
Grigori Goronzy [Tue, 18 Feb 2014 20:58:30 +0000 (21:58 +0100)]
Update changelog
11rcombs [Mon, 17 Feb 2014 16:08:22 +0000 (10:08 -0600)]
We have aligned stack on Win64
11rcombs [Mon, 17 Feb 2014 07:21:41 +0000 (01:21 -0600)]
Define HAVE_ALIGNED_STACK; should wrap up #48
Grigori Goronzy [Sun, 16 Feb 2014 23:13:37 +0000 (00:13 +0100)]
Fix limits.h includes
These were missing in several places. Fixes #50.
11rcombs [Sun, 16 Feb 2014 19:32:54 +0000 (13:32 -0600)]
Remove unnecessary instruction
11rcombs [Sun, 16 Feb 2014 19:28:47 +0000 (13:28 -0600)]
Added XMM register count in be_blur; should help #48
11rcombs [Sun, 16 Feb 2014 19:29:40 +0000 (13:29 -0600)]
Use lower mm registers in be_blur.asm
11rcombs [Sun, 16 Feb 2014 19:26:34 +0000 (13:26 -0600)]
Added license headers in ASM files
Oleg Oshmyan [Wed, 12 Feb 2014 16:24:39 +0000 (16:24 +0000)]
Don't include skipped glyphs in combined bitmaps
Make sure to correctly handle situations where glyphs
have info->linebreak and info->skip set at the same time.
Fixes libass#44.
Grigori Goronzy [Tue, 11 Feb 2014 22:47:18 +0000 (23:47 +0100)]
Don't reset wrap_style on \r
This isn't part of a style. Fixes libass#45, GC#116.
Oleg Oshmyan [Tue, 11 Feb 2014 15:58:14 +0000 (15:58 +0000)]
Font metrics: FreeType falls back to sTypoAscender/Descender
Fixes libass#8.
Oleg Oshmyan [Sun, 9 Feb 2014 03:18:39 +0000 (03:18 +0000)]
Use cluster advance in compute_string_bbox to account for \fsp
Fixes libass#16 (the remaining sub-issue).
wm4 [Wed, 29 Jan 2014 17:11:13 +0000 (18:11 +0100)]
Use a function for aligned memory allocations
...instead of doing this manually.
Oleg Oshmyan [Wed, 29 Jan 2014 20:54:45 +0000 (20:54 +0000)]
Fix subpixel jumping of rotated glyph runs
Rotation origin was not taken into account
when caching glyph run bitmaps.
Grigori Goronzy [Wed, 29 Jan 2014 20:13:09 +0000 (12:13 -0800)]
Merge pull request #39 from grigorig/shaper-hash-opt
Shaper and hash function optimizations
11rcombs [Wed, 29 Jan 2014 18:05:41 +0000 (12:05 -0600)]
Fixed incorrect spelling in copyright notice
Grigori Goronzy [Wed, 29 Jan 2014 04:25:40 +0000 (05:25 +0100)]
Unroll FNV-1A hash function
Unroll the hash function with Duff's device for improved performance.
Grigori Goronzy [Wed, 29 Jan 2014 04:23:55 +0000 (05:23 +0100)]
shaper: use global features correctly
start/end of feature tags is unsigned, so use the proper constant
to signal to HarfBuzz that these features are global. This allows
HarfBuzz to cache shape plans, and that can considerably speed up
shaping, especially if many small runs need to be shaped.
Grigori Goronzy [Sun, 26 Jan 2014 02:30:45 +0000 (03:30 +0100)]
shaper: rewrite and simplify harfbuzz shaping
Rewrite the core of the harfbuzz shaping function. Gets rid of the
MAX_RUNS limit of runs per line and reuses a single hb_buffer_t,
which should be more efficient.
Grigori Goronzy [Tue, 28 Jan 2014 23:44:20 +0000 (15:44 -0800)]
Merge pull request #37 from wm4/minor
Minor cosmetics
wm4 [Mon, 27 Jan 2014 18:58:43 +0000 (19:58 +0100)]
ass_utils: fix declarations
Now they're the same as in ass_utils.h.
wm4 [Mon, 27 Jan 2014 18:57:44 +0000 (19:57 +0100)]
ass_utils: don't include freetype headers
They're not even used.
11rcombs [Mon, 27 Jan 2014 16:38:17 +0000 (10:38 -0600)]
Added copyright notice for xy \be blur
11rcombs [Mon, 27 Jan 2014 00:14:53 +0000 (18:14 -0600)]
Check for YASM in configure
11rcombs [Sun, 26 Jan 2014 05:14:06 +0000 (23:14 -0600)]
Make apply_blur and make_shadow_bitmap static; remove an unneeded local variable
Oleg Oshmyan [Sat, 25 Jan 2014 01:22:04 +0000 (01:22 +0000)]
Make sure to release each event's vector clip mask
Events with a clip mask but no text such as just
Dialogue: ...,{\clip(m 47 32 )}
had their clip masks carried over to the next event.
Fixes GitHub issue #22.
Oleg Oshmyan [Fri, 24 Jan 2014 19:30:58 +0000 (19:30 +0000)]
Simplify storage size handling
No functional changes.
11rcombs [Sun, 26 Jan 2014 02:48:10 +0000 (20:48 -0600)]
Build: Remove references to unimplemented ARM ASM
11rcombs [Sat, 25 Jan 2014 23:48:24 +0000 (17:48 -0600)]
Parser: don't increment render_priv->state.bm_run_id (unnecessary)
11rcombs [Sat, 25 Jan 2014 22:55:21 +0000 (16:55 -0600)]
Added x86 ASM functions
11rcombs [Sun, 26 Jan 2014 01:06:12 +0000 (19:06 -0600)]
Combine bitmaps before applying blur and shadow
11rcombs [Sat, 25 Jan 2014 22:46:10 +0000 (16:46 -0600)]
Test/Profile: Support out-of-tree builds
11rcombs [Sat, 25 Jan 2014 22:33:00 +0000 (16:33 -0600)]
Test: Render at 1280x720
11rcombs [Tue, 31 Dec 2013 17:49:30 +0000 (11:49 -0600)]
Added profile program and corresponding configure options
11rcombs [Sun, 19 Jan 2014 00:12:27 +0000 (18:12 -0600)]
Remove configure from autogen.sh
Grigori Goronzy [Sat, 25 Jan 2014 01:27:03 +0000 (17:27 -0800)]
Merge pull request #26 from wm4/warnings
Use more warning flags
wm4 [Fri, 24 Jan 2014 01:27:26 +0000 (02:27 +0100)]
Attempt to make code more readable
No more double pointer dereferencing.
11rcombs [Fri, 24 Jan 2014 01:23:30 +0000 (02:23 +0100)]
Append new cache items at the start of the collision list
The idea is that more recently-added cache items are more likely to
get hits.
Signed-off-by: wm4 <wm4@nowhere>
11rcombs [Fri, 24 Jan 2014 01:09:46 +0000 (02:09 +0100)]
Simplify hash function
We can rely on fast multiplication and good compilers.
v2: use default FNV-1a prime
Signed-off-by: wm4 <wm4@nowhere>
Signed-off-by: Grigori Goronzy <greg@chown.ath.cx>
Grigori Goronzy [Sat, 25 Jan 2014 00:38:11 +0000 (16:38 -0800)]
Merge pull request #28 from astiob/compat
Fix \k starting time and incorrectly skipped fonts
Oleg Oshmyan [Thu, 23 Jan 2014 20:21:58 +0000 (20:21 +0000)]
fontconfig: don't compact the sorted font list
Some broken fonts are dropped by Fontconfig during compacting.
Oleg Oshmyan [Sun, 19 Jan 2014 00:18:19 +0000 (00:18 +0000)]
Start \k, \ko at exact start time, not right after it
wm4 [Fri, 24 Jan 2014 00:37:41 +0000 (01:37 +0100)]
build: add more warnings
wm4 [Fri, 24 Jan 2014 00:37:07 +0000 (01:37 +0100)]
ass_strtod: use modern C
wm4 [Mon, 20 Jan 2014 23:32:28 +0000 (00:32 +0100)]
Remove some ass_msg() calls
These aren't very useful for debugging due to the high volume of the log
output in problem cases. In fact, all they do is making the code slower
(the message callback can easily appear in the profiler output, even if
the callback doesn't actually print the messages).
wm4 [Thu, 23 Jan 2014 17:38:51 +0000 (18:38 +0100)]
Allocate track array exponentially
This reduces the frequency of reallocations.
Oleg Oshmyan [Wed, 15 Jan 2014 02:38:54 +0000 (02:38 +0000)]
Fix \fade corner cases
Times in \fade(,,,-1,fadein,fadeout,-1)
are interpreted as in \fad(fadein,fadeout).
Make sure we check the times in the same
order as VSFilter in case they are not sorted.
Oleg Oshmyan [Wed, 15 Jan 2014 02:16:58 +0000 (02:16 +0000)]
Fix \t corner cases
The end time is reset to line duration if and only if it is zero.
Negative accelerations are allowed (and can cause overflow later).
Oleg Oshmyan [Wed, 15 Jan 2014 01:07:26 +0000 (01:07 +0000)]
Don't ignore trailing empty line
Trailing \N is effectively ignored, but
\N\N should still yield an empty line.
Oleg Oshmyan [Tue, 14 Jan 2014 13:11:01 +0000 (13:11 +0000)]
Fix missing pointer dereference in
1636a551
Grigori Goronzy [Wed, 8 Jan 2014 20:30:42 +0000 (12:30 -0800)]
Merge pull request #17 from astiob/compat
Various compatibility fixes + fix @font advance with HarfBuzz
Oleg Oshmyan [Wed, 8 Jan 2014 02:18:56 +0000 (04:18 +0200)]
Do not reset \pbo and \p values after each drawing
Confirmed with VSFilter. This complements the previous commit.
Oleg Oshmyan [Wed, 8 Jan 2014 01:39:36 +0000 (03:39 +0200)]
Terminate drawings on {
This brings us in line with VSFilter
and also fixes Google Code issue #101.
Oleg Oshmyan [Tue, 7 Jan 2014 23:28:49 +0000 (01:28 +0200)]
shaper: disable ligatures for non-zero \fsp
Oleg Oshmyan [Tue, 7 Jan 2014 22:48:36 +0000 (00:48 +0200)]
Distinguish cached glyphs with different hspacing when border_style == 3
hspacing affects opaque box borders.
Oleg Oshmyan [Tue, 7 Jan 2014 21:49:53 +0000 (23:49 +0200)]
Fix \fsp: use orig_scale_x, not post-fix_glyph_scaling scale_x
Oleg Oshmyan [Tue, 7 Jan 2014 21:41:43 +0000 (23:41 +0200)]
Don't try to remove end-of-line \fsp
VSFilter does not do this.
The code being removed was already buggy: i > 0 should
have been "got any non-skipped glyphs since last_break?",
and hspacing should have been taken from glyphs[i-1].
Oleg Oshmyan [Tue, 7 Jan 2014 13:32:05 +0000 (15:32 +0200)]
Fix \pbo
b61d260b attempted to add support for \p scaling to \pbo.
However, while it fixed the exact sample originally reported,
it broke \pbo with other \p values, including \p1, by confusing
the direction of scaling and the units in which \pbo is measured.
In addition, the descenders assigned to drawings have always
had a wrong sign, causing lines that contain drawings with \pbo
to be shifted in the wrong direction: negative \pbo raised bottom-
aligned lines, while positive \pbo lowered top-aligned lines.
All errors and fixes have been confirmed with VSFilter.
Oleg Oshmyan [Fri, 27 Dec 2013 01:12:46 +0000 (03:12 +0200)]
Scale distance to screen plane like blur radius
VSFilter forgets to scale this distance,
just like it forgets to scale blur radius.
Oleg Oshmyan [Thu, 26 Dec 2013 02:50:19 +0000 (04:50 +0200)]
Accept colors with arbitrary sequences of leading & and H
Oleg Oshmyan [Thu, 26 Dec 2013 02:26:43 +0000 (04:26 +0200)]
A whole bunch of parsing and default value fixes
Obtained by reading the xy-VSFilter source code.
Oleg Oshmyan [Thu, 26 Dec 2013 00:33:57 +0000 (02:33 +0200)]
Fix \fs+ and \fs-
The argument is a relative amount. The unit is: \fs+1 = +10%.
Oleg Oshmyan [Wed, 25 Dec 2013 23:00:05 +0000 (01:00 +0200)]
Stop animating \b and \i
Unlike what the
cc635086 message says, VSFilter does not animate them.
Oleg Oshmyan [Wed, 25 Dec 2013 22:17:06 +0000 (00:17 +0200)]
Stop misparsing and add support for \fsc
Oleg Oshmyan [Wed, 25 Dec 2013 22:09:38 +0000 (00:09 +0200)]
Support fractional \org arguments
Oleg Oshmyan [Tue, 3 Dec 2013 02:19:05 +0000 (02:19 +0000)]
Parse Angle overrides as floating-point numbers
This complements
5903771e .
Oleg Oshmyan [Fri, 3 Jan 2014 17:27:34 +0000 (19:27 +0200)]
shaper: actually correctly handle @font advance
The code was confusing glyph index and Unicode codepoint.
256df617 attempted a fix but merely moved the wrong code.
Fixes Google Code issue #94.
Vertical ligatures are possibly still broken, but
horizontal ligatures and non-ligatures are correct now.
Grigori Goronzy [Tue, 7 Jan 2014 19:12:46 +0000 (11:12 -0800)]
Merge pull request #10 from astiob/blur
Blur fixes
Oleg Oshmyan [Tue, 17 Dec 2013 19:44:06 +0000 (21:44 +0200)]
Don't forget to apply \be to the last row/column