| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
|
|
|
|
| |
Regression in commit 1f5eb5eb.
Fixes issue #74.
|
|
|
|
| |
Regression in commit 98707694.
|
|
|
|
| |
Fixes issue #68.
|
|\
| |
| | |
drawing: parse numbers as floats
|
|/
|
|
|
|
|
| |
Parse values as float and convert into 26.6 fixed point. This actually
simplifies scaling a bit.
Fixes #63.
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
|
| |
Signed-off-by: wm4 <wm4@nowhere>
Commit 04b51c2d broke BorderStyle=3 with text that had spaces.
|
| |
|
|\
| |
| | |
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.
|
|
|
|
|
|
| |
Patch by chadr...@gmail.com.
Fixes libass#58, GC#117.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|
|
|
|
|
|
| |
Adds yasm version check and handles Free/OpenBSD/win32 correctly.
Signed-off-by: Grigori Goronzy <greg@chown.ath.cx>
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
These were missing in several places. Fixes #50.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
Make sure to correctly handle situations where glyphs
have info->linebreak and info->skip set at the same time.
Fixes libass#44.
|
|
|
|
| |
This isn't part of a style. Fixes libass#45, GC#116.
|
|
|
|
| |
Fixes libass#8.
|
|
|
|
| |
Fixes libass#16 (the remaining sub-issue).
|
|
|
|
| |
...instead of doing this manually.
|
|
|
|
|
| |
Rotation origin was not taken into account
when caching glyph run bitmaps.
|
|\
| |
| | |
Shaper and hash function optimizations
|
| |
| |
| |
| | |
Unroll the hash function with Duff's device for improved performance.
|
| |
| |
| |
| |
| |
| |
| | |
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.
|
|/ |
|
|
|
|
|
|
| |
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.
|
|\
| |
| | |
Minor cosmetics
|
| |
| |
| |
| | |
Now they're the same as in ass_utils.h.
|
|/
|
|
| |
They're not even used.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
No functional changes.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|\
| |
| | |
Use more warning flags
|
| | |
|
| | |
|
| |
| |
| |
| | |
No more double pointer dereferencing.
|
| |
| |
| |
| |
| |
| |
| | |
The idea is that more recently-added cache items are more likely to
get hits.
Signed-off-by: wm4 <wm4@nowhere>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
|\ \
| |/
|/| |
Fix \k starting time and incorrectly skipped fonts
|
| |
| |
| |
| | |
Some broken fonts are dropped by Fontconfig during compacting.
|
|/ |
|
|
|
|
|
|
|
| |
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).
|
|
|
|
| |
This reduces the frequency of reallocations.
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
The end time is reset to line duration if and only if it is zero.
Negative accelerations are allowed (and can cause overflow later).
|
|
|
|
|
| |
Trailing \N is effectively ignored, but
\N\N should still yield an empty line.
|
| |
|
|\
| |
| | |
Various compatibility fixes + fix @font advance with HarfBuzz
|
| |
| |
| |
| | |
Confirmed with VSFilter. This complements the previous commit.
|
| |
| |
| |
| |
| | |
This brings us in line with VSFilter
and also fixes Google Code issue #101.
|
| | |
|
| |
| |
| |
| | |
hspacing affects opaque box borders.
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| | |
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].
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
| |
| |
| |
| |
| | |
VSFilter forgets to scale this distance,
just like it forgets to scale blur radius.
|
|