summaryrefslogtreecommitdiffstats
path: root/libass
Commit message (Collapse)AuthorAgeFilesLines
* Update version info and changelog0.11.2Grigori Goronzy2014-04-251-1/+1
|
* Initialize \pbo for each eventOleg Oshmyan2014-04-101-0/+1
| | | | | Regression in commit 1f5eb5eb. Fixes issue #74.
* Don't crash on \fscx0 with non-zero \blurOleg Oshmyan2014-03-281-5/+2
| | | | Regression in commit 98707694.
* shaper: fix nasty sign bug in font functionsGrigori Goronzy2014-03-171-1/+1
| | | | Fixes issue #68.
* drawing: parse numbers as floatsGrigori Goronzy2014-03-151-9/+8
| | | | | | | Parse values as float and convert into 26.6 fixed point. This actually simplifies scaling a bit. Fixes #63.
* Remove dirty pixels from ASM be_blur outputOleg Oshmyan2014-03-131-6/+8
| | | | | | | | 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.
* Fix handling of top two pixel rows in be_blur_cOleg Oshmyan2014-03-131-3/+4
| | | | | | | | | 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.
* Remove incorrect declaration of HAVE_ALIGNED_STACK11rcombs2014-03-091-1/+0
|
* Better fix for zero area outlinesDr.Smile2014-03-071-2/+8
| | | | | | Signed-off-by: wm4 <wm4@nowhere> Commit 04b51c2d broke BorderStyle=3 with text that had spaces.
* Fix API documentation of change detectionGrigori Goronzy2014-03-061-2/+2
|
* Fix change detection in presence of vector clipswm42014-03-062-1/+5
| | | | | | | | | | | | | | | | | 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.
* Actually export ass_library_version symbolwm42014-03-041-0/+1
| | | | | | Patch by chadr...@gmail.com. Fixes libass#58, GC#117.
* Don't crash on \fscx0wm42014-03-031-0/+3
| | | | | | | | | | | | | | 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.
* Don't use an unsigned it to check for <0 :|11rcombs2014-02-281-1/+1
|
* Assume SSE2 on x86_6411rcombs2014-02-281-6/+3
|
* Redesigned configure/Makefile setup11rcombs2014-02-241-27/+5
| | | | | | Adds yasm version check and handles Free/OpenBSD/win32 correctly. Signed-off-by: Grigori Goronzy <greg@chown.ath.cx>
* Update version info and changelog0.11.1Grigori Goronzy2014-02-191-1/+1
|
* Add missing distfilesGrigori Goronzy2014-02-191-3/+3
|
* Update version infoGrigori Goronzy2014-02-181-1/+1
|
* We have aligned stack on Win6411rcombs2014-02-171-1/+1
|
* Define HAVE_ALIGNED_STACK; should wrap up #4811rcombs2014-02-171-6/+6
|
* Fix limits.h includesGrigori Goronzy2014-02-174-0/+4
| | | | These were missing in several places. Fixes #50.
* Remove unnecessary instruction11rcombs2014-02-161-3/+0
|
* Added XMM register count in be_blur; should help #4811rcombs2014-02-161-2/+2
|
* Use lower mm registers in be_blur.asm11rcombs2014-02-161-8/+8
|
* Added license headers in ASM files11rcombs2014-02-163-0/+48
|
* Don't include skipped glyphs in combined bitmapsOleg Oshmyan2014-02-121-3/+7
| | | | | | | Make sure to correctly handle situations where glyphs have info->linebreak and info->skip set at the same time. Fixes libass#44.
* Don't reset wrap_style on \rGrigori Goronzy2014-02-111-1/+1
| | | | This isn't part of a style. Fixes libass#45, GC#116.
* Font metrics: FreeType falls back to sTypoAscender/DescenderOleg Oshmyan2014-02-111-4/+8
| | | | Fixes libass#8.
* Use cluster advance in compute_string_bbox to account for \fspOleg Oshmyan2014-02-111-7/+4
| | | | Fixes libass#16 (the remaining sub-issue).
* Use a function for aligned memory allocationswm42014-02-025-25/+51
| | | | ...instead of doing this manually.
* Fix subpixel jumping of rotated glyph runsOleg Oshmyan2014-01-293-1/+8
| | | | | Rotation origin was not taken into account when caching glyph run bitmaps.
* Merge pull request #39 from grigorig/shaper-hash-optGrigori Goronzy2014-01-292-9/+14
|\ | | | | Shaper and hash function optimizations
| * Unroll FNV-1A hash functionGrigori Goronzy2014-01-291-4/+9
| | | | | | | | Unroll the hash function with Duff's device for improved performance.
| * shaper: use global features correctlyGrigori Goronzy2014-01-291-5/+5
| | | | | | | | | | | | | | 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.
* | Fixed incorrect spelling in copyright notice11rcombs2014-01-291-1/+1
|/
* shaper: rewrite and simplify harfbuzz shapingGrigori Goronzy2014-01-291-73/+72
| | | | | | 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.
* ass_utils: fix declarationswm42014-01-271-3/+3
| | | | Now they're the same as in ass_utils.h.
* ass_utils: don't include freetype headerswm42014-01-271-2/+0
| | | | They're not even used.
* Added copyright notice for xy \be blur11rcombs2014-01-271-0/+1
|
* Make apply_blur and make_shadow_bitmap static; remove an unneeded local variable11rcombs2014-01-252-96/+92
|
* Make sure to release each event's vector clip maskOleg Oshmyan2014-01-261-9/+6
| | | | | | | | 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.
* Simplify storage size handlingOleg Oshmyan2014-01-263-13/+4
| | | | No functional changes.
* Build: Remove references to unimplemented ARM ASM11rcombs2014-01-251-4/+0
|
* Parser: don't increment render_priv->state.bm_run_id (unnecessary)11rcombs2014-01-252-15/+0
|
* Added x86 ASM functions11rcombs2014-01-2511-4/+2238
|
* Combine bitmaps before applying blur and shadow11rcombs2014-01-2511-336/+885
|
* Merge pull request #26 from wm4/warningsGrigori Goronzy2014-01-242-8/+11
|\ | | | | Use more warning flags
| * build: add more warningswm42014-01-241-1/+3
| |
| * ass_strtod: use modern Cwm42014-01-241-7/+8
| |
* | Attempt to make code more readablewm42014-01-251-9/+11
| | | | | | | | No more double pointer dereferencing.
* | Append new cache items at the start of the collision list11rcombs2014-01-251-2/+2
| | | | | | | | | | | | | | The idea is that more recently-added cache items are more likely to get hits. Signed-off-by: wm4 <wm4@nowhere>
* | Simplify hash function11rcombs2014-01-251-7/+4
| | | | | | | | | | | | | | | | | | 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>
* | fontconfig: don't compact the sorted font listOleg Oshmyan2014-01-241-1/+1
| | | | | | | | Some broken fonts are dropped by Fontconfig during compacting.
* | Start \k, \ko at exact start time, not right after itOleg Oshmyan2014-01-241-1/+1
|/
* Remove some ass_msg() callswm42014-01-243-38/+6
| | | | | | | 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).
* Allocate track array exponentiallywm42014-01-241-2/+1
| | | | This reduces the frequency of reallocations.
* Fix \fade corner casesOleg Oshmyan2014-01-151-9/+14
| | | | | | | | 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.
* Fix \t corner casesOleg Oshmyan2014-01-151-20/+17
| | | | | The end time is reset to line duration if and only if it is zero. Negative accelerations are allowed (and can cause overflow later).
* Don't ignore trailing empty lineOleg Oshmyan2014-01-151-4/+5
| | | | | Trailing \N is effectively ignored, but \N\N should still yield an empty line.
* Fix missing pointer dereference in 1636a551Oleg Oshmyan2014-01-141-1/+1
|
* Do not reset \pbo and \p values after each drawingOleg Oshmyan2014-01-083-8/+10
| | | | Confirmed with VSFilter. This complements the previous commit.
* Terminate drawings on {Oleg Oshmyan2014-01-081-7/+8
| | | | | This brings us in line with VSFilter and also fixes Google Code issue #101.
* shaper: disable ligatures for non-zero \fspOleg Oshmyan2014-01-081-7/+20
|
* Distinguish cached glyphs with different hspacing when border_style == 3Oleg Oshmyan2014-01-082-0/+8
| | | | hspacing affects opaque box borders.
* Fix \fsp: use orig_scale_x, not post-fix_glyph_scaling scale_xOleg Oshmyan2014-01-081-1/+1
|
* Don't try to remove end-of-line \fspOleg Oshmyan2014-01-081-4/+0
| | | | | | | | 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].
* Fix \pboOleg Oshmyan2014-01-081-7/+5
| | | | | | | | | | | | | | 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.
* Scale distance to screen plane like blur radiusOleg Oshmyan2014-01-081-1/+2
| | | | | VSFilter forgets to scale this distance, just like it forgets to scale blur radius.
* Accept colors with arbitrary sequences of leading & and HOleg Oshmyan2014-01-071-1/+5
|
* A whole bunch of parsing and default value fixesOleg Oshmyan2014-01-073-119/+124
| | | | Obtained by reading the xy-VSFilter source code.
* Fix \fs+ and \fs-Oleg Oshmyan2014-01-071-2/+2
| | | | The argument is a relative amount. The unit is: \fs+1 = +10%.
* Stop animating \b and \iOleg Oshmyan2014-01-071-12/+8
| | | | Unlike what the cc635086 message says, VSFilter does not animate them.
* Stop misparsing and add support for \fscOleg Oshmyan2014-01-071-0/+4
|
* Support fractional \org argumentsOleg Oshmyan2014-01-071-4/+4
|
* Parse Angle overrides as floating-point numbersOleg Oshmyan2014-01-071-1/+1
| | | | This complements 5903771e.
* shaper: actually correctly handle @font advanceOleg Oshmyan2014-01-071-6/+11
| | | | | | | | | | 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.
* Don't forget to apply \be to the last row/columnOleg Oshmyan2013-12-171-0/+4
|
* Fix mismatched/out-of-bounds accesses in vertical \blurOleg Oshmyan2013-12-171-2/+2
|
* Speed up \blur table generationOleg Oshmyan2013-12-121-7/+11
| | | | Based on xy-VSFilter commit 54391d3a.
* Improve blur quality: use volume 65536 and initialize left columnOleg Oshmyan2013-12-121-36/+34
|
* Fix compilation with VC++ 2013Thomas Goyne2013-12-121-47/+32
| | | | | | | | | | | For whatever reason FT_Vector points[4] = { ... }; needs to come at the beginning of a scope. Since that block was duplicated, just extract it to a function. This does not include buildsystem support, so actually compiling with VC++ requires creating a project and supplying a config.h file. Signed-off-by: wm4 <wm4@nowhere>
* Added ass_font_index_magic to fix char indexes in weird encodings11rcombs2013-12-063-10/+26
|
* Try to make really weird looking macro mess more understandablewm42013-11-261-9/+23
| | | | The "if (0) { // cool ;)" is just mindblowing.
* Add ass_library_version()wm42013-11-252-1/+13
| |