Commit Graph

450 Commits

Author SHA1 Message Date
Dmitry Lyzo
5b330a7603 Bump version to 4.2.3
Some checks failed
Emscripten / build (push) Failing after 0s
2024-09-21 01:52:04 +03:00
ThaUnknown
19942b5a89 fix: specify ass_set_storage_size
Some checks failed
Emscripten / build (push) Failing after 1s
According to [1], `ass_set_storage_size` must be called to render transforms correctly.

References:
[1] https://github.com/libass/libass/issues/591

Cherry-picked from: 0c258cf996
2024-09-20 03:43:28 +03:00
Dmitry Lyzo
1b6693c942 Configure Renovate
Some checks failed
Emscripten / build (push) Failing after 0s
2024-09-18 16:06:30 +03:00
Dmitry Lyzo
ec9f7e91a9 Bump version to 4.2.2 2024-07-23 15:58:10 +03:00
Dmitry Lyzo
41a2d20d1a
Merge pull request #59 from dmitrylyzo/bump-deps
Bump dependencies
2024-07-19 19:07:41 +03:00
Dmitry Lyzo
efb0125c0a Add 'The 2-Clause BSD License' 2024-07-19 14:45:52 +03:00
Dmitry Lyzo
23a8c686a6 Bump libass from 0.17.1 to 0.17.3 2024-07-19 14:45:48 +03:00
Dmitry Lyzo
249aff82d5 Bump fribidi from v1.0.13 to v1.0.14 2024-05-22 00:23:10 +03:00
Dmitry Lyzo
f59a87328e Bump version to 4.2.1 2024-03-23 23:57:08 +03:00
Dmitry Lyzo
b0fabd7150 package.json: add default font to package 2024-03-23 21:12:50 +03:00
Dmitry Lyzo
c27189b13c ci: fix build locale 2024-03-23 20:09:24 +03:00
Dmitry Lyzo
0c553d0bf4 Bump version to 4.2.0 2024-03-23 03:10:27 +03:00
Dmitry Lyzo
f13c1a408c
Merge pull request #56 from dmitrylyzo/bump-deps
Bump dependencies

fontconfig: 2.14.1 -> 2.14.2
fribidi: v1.0.12 -> v1.0.13
libass: 0.17.0 -> 0.17.1
2024-03-23 02:24:25 +03:00
Dmitry Lyzo
e68886c85a Bump fontconfig from 2.14.1 to 2.14.2 2024-03-22 19:52:33 +03:00
Dmitry Lyzo
b95f2399df Bump fribidi from v1.0.12 to v1.0.13 2024-03-22 19:45:32 +03:00
Dmitry Lyzo
260dab8946 Bump libass from 0.17.0 to 0.17.1 2024-03-22 19:40:29 +03:00
Dmitry Lyzo
bb32b3958a
Merge pull request #54 from dmitrylyzo/deprecate-brotli
[TheOneric] Deprecate manual brotli decompression
2024-03-22 15:19:58 +03:00
Oneric
bde0b95e27 Deprecate manual brotli decompression
It doesn't have much benefit but comes with
a maintenance cost as we either need to keep
patching upstream's js implementation for use in
JSO — which also bloats binary size by including
two copies of brotli and its default dict — or
use the C implemntation from JS which requires boilerplate
in both C and JS and also additional JS polyfills to keep
e.g. the fontname extraction working.

The browser's in-built support for Content-Encoding
is more felxible, faster and simpler to use.

Cherry-picked from: e459c8e6ff
2024-03-22 15:08:37 +03:00
Dmitry Lyzo
f373e1074a
Merge pull request #55 from dmitrylyzo/strict-fix
Minor fixes
2024-03-22 15:08:24 +03:00
Dmitry Lyzo
70d2c36739 replace const keyword (legacy web engine in strict mode) 2024-03-22 11:07:01 +03:00
Dmitry Lyzo
8eb53fb5e1 fix implicit creation of global property (in strict mode) 2024-03-22 11:00:32 +03:00
Dmitry Lyzo
cd338945b9
Merge pull request #52 from dmitrylyzo/flto
[WeebDataHoarder] Enable LTO, EVAL_CTOR
2024-03-20 15:44:00 +03:00
WeebDataHoarder
163115879e Set -s AUTONATIVE_LIBRARIES=0
When -flto is enabled emscripten will generate "system libraries" cache, for all available libraries, including non-used ones.
This includes libGL.a, libal.a, libhtml5.a, which are not used in the project.
Disabling AUTONATIVE_LIBRARIES decreases compile time with -flto enabled.

Cherry-picked from: 741d41808d
2024-03-20 15:32:51 +03:00
WeebDataHoarder
e9b67a2ed1 Enable -flto, -sEVAL_CTORS=1
Do link-time optimizations and pre-evaluate code.

-s EVAL_CTORS=1 has no change in output currently.
-flto increases output size after optimizations

Cherry-picked from: ae80c98914
2024-03-20 15:32:51 +03:00
Dmitry Lyzo
3461d90246
Merge pull request #53 from dmitrylyzo/ci-deps
Update CI dependencies
2024-03-20 15:28:25 +03:00
Dmitry Lyzo
e9fbd69b12 ci: Update CI dependencies 2024-03-20 13:43:42 +03:00
Dmitry Lyzo
d6f76d8a9a
Merge pull request #50 from dmitrylyzo/WeebDataHoarder/lazy-fonts
[WeebDataHoarder] Implement lazy font loading + customizable fallback font
2023-06-08 11:52:47 +03:00
WeebDataHoarder
06edd4fcde Implement lazy font loading (off by default)
Extracts default.woff2 from binary, embeds fonts.conf,
removes .data files on output.
Use --memory-init-file=0 to remove .mem files on output.
Specify fallbackFont to override default.woff2.
If lazyFileLoading is set to true, use FS.createLazyFile(). This is
off by default, as it depends on correct HTTP headers sent back.

Cherry-picked from: 7988397f91
2023-06-07 16:46:50 +03:00
Dmitry Lyzo
3df655a9df
Merge pull request #49 from dmitrylyzo/WeebDataHoarder/embedded-fonts
[WeebDataHoarder] Enable embedded fonts
2023-06-06 22:41:10 +03:00
WeebDataHoarder
7b1e24a21f Use embedded fonts
ASS subtitles can embed fonts with a custom encoding in
their [Fonts] section. For historic reasons ass_set_extract_fonts
defaults to disabled, so we need to explicitly opt-in.
There’s currently also an issue, with embedded fonts outliving
their track, which can lead to indefinitely growing memory consumption
if not all memory fonts are cleared on track reinit.

However, ass_clear_fonts can only be safely called if the renderer
also has been released first. At this point it is simpler to just
reinit the whole library-renderer-track triplet and library inits
are not that costly anyway.

JSO never uses (non-embedded) memory fonts itself and does not expose
any way to add them so this does not constitute a user-visible change.
Even oct_add_font cannot be used by consumers of upstream JSO binaries.

Note: the JS pointers of the libass handles are updated in this patch,
      but it appears they are actually never used.

Cherry-picked from: 6f2bbdb61f
2023-06-05 11:58:49 +03:00
Dmitry Lyzo
d51494ccf3
Merge pull request #48 from dmitrylyzo/sort-licenses
Sort licenses
2023-03-24 15:07:12 +03:00
Dmitry Lyzo
49d371c2fa build: sort licenses 2023-01-16 15:20:51 +03:00
Dmitry Lyzo
72346b3a39
Merge pull request #47 from dmitrylyzo/TheOneric/bump-deps
[TheOneric] Bump dependencies
2023-01-16 12:58:50 +03:00
Oneric
a61f5bf312 lib: bump dependencies
libexpat:   R_2_4_9  ->  R_2_5_0
fontconfig: 2.14.0  ->  2.14.1
harfbuzz:   5.2.0  ->  5.3.1
libass:     git-1a533e5d  ->  0.17.0

For libass nothing relevant changed except the logged version number.

Cherry-picked from: 3041c58fb1
2023-01-12 13:33:40 +03:00
Oneric
7d3039c12b Bump libass
New features and fixes:
 - LayoutRes{X,Y}
 - handle anamorphic blur correctly
 - support v4++’s \kt
 - support SSA’s AlphaLevel
 - parse integer headers like VSFilter
 - parse ScriptType header

Cherry-picked from: 530afd001f
2023-01-12 13:33:40 +03:00
Oneric
3b888700c4 lib: bump dependencies
libass is bumped to current master,
everything else to its latest release.

Cherry-picked from: 8db03e57bb
2023-01-12 13:33:40 +03:00
Oneric
f4bb2685c5 Bump libass
A new version (0.16.0) was released.

Cherry-picked from: 18a53fdb77
2023-01-12 13:33:40 +03:00
Dmitry Lyzo
c079153799
Merge pull request #45 from dmitrylyzo/TheOneric/code_cleanup
[TheOneric] Code cleanup
2023-01-10 00:41:43 +03:00
Oneric
2926481ee7 cosmetic: declare loop counter inside for
Cherry-picked from: 6fcb094c86
2023-01-10 00:22:45 +03:00
Oneric
98a70e4dd2 cosmetic/src: use canonical include for ass.h
pkg-config sets up the necessary lookup paths.

Cherry-picked from: 23c3f91ed7
2023-01-10 00:22:45 +03:00
Dmitry Lyzo
0150e52926
Merge pull request #44 from dmitrylyzo/TheOneric/license_speedup
[TheOneric] Speedup license extraction
2023-01-10 00:20:44 +03:00
Oneric
780b0734be build: use -o pipefail in license_extract.sh
The portable mkfifo approach works fine locally and worked fine in
initial GHA testing, but now it started to run into various stalling
issues on GHA. Presumably depending on whether the pipe is first written
to or read from and attempts to find a simple workaround for it failed.
Sometimes (but not always!) this is accompanied by an error like this:
  cannot open ./__LICENSE_EXTRACT_QUEUE.tmp: Interrupted system call

So convert the script to bash and just use set -o pipefail.

Cherry-picked from: 94cfe111f8
2022-12-26 14:09:17 +03:00
Oneric
0d3ffb7f5e build: speed up license extraction
Apparently licensecheck has a high startup cost, so merging invocations
promises a neat speedup. However, currently some "\x{....} cannot be
represented as ascii" error messages appear in our logs. If that happens
licensecheck exits with 255, which omits all following files of the
same invocation and also prompts `find -exec .. {} +` or `xargs` to not
spawn any more invocations. If we were to simply merge invocations by
one of those means it would result in an incomplete COPYRIGHT file.

Those encoding errors appear to be due to an ASCII locale being set in
the container, so override LC_ALL to an UTF-8 one. To further make this
bit more resilient ensure licensecheck errors are no longer ignored by
capturing and processing its exit code.

Cherry-picked from: cf04e0361a
2022-12-26 13:49:30 +03:00
Oneric
d7a44f18b4 build: ignore Unlicense
Cherry-picked from: 0d8d68b72f
2022-12-26 13:49:30 +03:00
Dmitry Lyzo
eef75b7907 make: remove redundant COPYRIGHT target
It exists in the toplevel Makefile.
2022-12-26 13:49:30 +03:00
Dmitry Lyzo
57e6d98580 make: mark 'all' target as .PHONY 2022-12-26 13:49:30 +03:00
Oneric
e271469d79 make: split off license extraction
As an intermediate measure improving build times with multiple jobs
until the toplevel Makefile can properly handle parallelism.

Cherry-picked from: e3e00035b1
2022-12-26 13:49:30 +03:00
Dmitry Lyzo
e8b5837931
Merge pull request #43 from dmitrylyzo/TheOneric/build_cleanup
[TheOneric] Build cleanup
2022-12-26 13:48:15 +03:00
Dmitry Lyzo
6fb73112f0 make: remove redundant 'touch configured'
PREPARE_SRC_VPATH is supposed to prepare the source, so leave
the creation of the 'configured' file to the actual Makefile target.
2022-12-26 12:03:40 +03:00
Oneric
44abd8ef19 make: limit --disable-debug to fribidi
It is the only project actually recognising this option.

Cherry-picked from: 190b281586
2022-12-26 12:03:40 +03:00