Commit Graph

177 Commits

Author SHA1 Message Date
Ingvar Stepanyan
fadb4c89f4 Point oxipng to patched version
Some upstream changes required for parallel build to work.
2020-09-24 12:58:52 +01:00
Ingvar Stepanyan
77d1e1dfe2 Disable parallel feature for non-parallel OxiPNG 2020-09-24 03:12:23 +01:00
Ingvar Stepanyan
fdc9aac976 Update paths 2020-09-24 02:18:40 +01:00
Ingvar Stepanyan
5ae65e3cf2 Update oxipng build system 2020-09-24 01:33:16 +01:00
Ingvar Stepanyan
ca81096d50 Fixup 2020-09-24 00:04:59 +01:00
Ingvar Stepanyan
7d822fa680 More comments 2020-09-24 00:04:00 +01:00
Ingvar Stepanyan
0e3aa54dc8 Add some comments 2020-09-24 00:03:02 +01:00
Ingvar Stepanyan
60dacff05e fixup 2020-09-24 00:03:00 +01:00
Ingvar Stepanyan
41e3868a13 Switch to crossbeam-channel
Still not perfect due to usage of a static global, but this is much cleaner and more efficient thanks to proper blocking of Workers that wait for new messages instead of a manual spin-loop.
2020-09-24 00:02:57 +01:00
Ingvar Stepanyan
1f50eeeb93 Include pkg-parallel artifacts 2020-09-23 23:59:35 +01:00
Ingvar Stepanyan
9c60d3286e Parallel OxiPNG improvements
- Refactor to work around Chromium's issue with postMessage queuing. https://bugs.chromium.org/p/chromium/issues/detail?id=1075645
 - Convert codec code to TypeScript.
 - Make separate parallel and non-parallel builds.
 - Switch to nightly Rust for OxiPNG to allow parallel builds (but also reuse it for regular builds to avoid installing two toolchains).
2020-09-23 23:59:32 +01:00
Ingvar Stepanyan
65038c45bd Remove obsolete Worker bindings 2020-09-23 23:55:38 +01:00
Ingvar Stepanyan
6db70e5e27 Rework fallback for postMessage issue
Now initialise all workers with module+memory separately, and then instead of using postMessage to send thread pointers, push them into a crossbeam-deque on the Rust side.

Rayon already depends on crossbeam-dequeue, so we're not even adding another dependency, and this model allows us to push "tasks" (thread pointers) on the main thread and pop them on worker threads in arbitrary order without sacrificing correctness.
2020-09-23 23:54:34 +01:00
Ingvar Stepanyan
8d991a256e OxiPNG + threads PoC 2020-09-23 23:30:51 +01:00
Ingvar Stepanyan
1fd1b3041d Refactor AVIF Makefile, add multithreading build 2020-09-23 21:52:06 +01:00
Ingvar Stepanyan
4ca7971442 Multithread AVIF PoC 2020-09-23 12:58:23 +01:00
Jake Archibald
e14790f0b9 Ensure node_modules is created 2020-09-16 10:24:20 +01:00
Velu S Gautam
dfee848a39 Update example.html (#827)
rawImage is a Uint8ClampedArray and doesn't have width and height property.
2020-09-16 07:42:32 +01:00
Jake Archibald
a437afdf2b Update AVIF build to produce shipped wasm (#823)
* argh

* It works!

* Silly me

* Changes following feedback
2020-09-15 11:08:20 +01:00
Jake Archibald
9d81a9cd57 Merge branch 'dev' into avif-options 2020-08-26 12:39:40 +01:00
Jake Archibald
95570c8b3c Revert "Merge pull request #800 from GoogleChromeLabs/mozjpeg_dec"
This reverts commit 5715fb7b1b, reversing
changes made to 2c923e5239.
2020-08-26 12:28:06 +01:00
Jake Archibald
fd5c557065 Cheeky smaller wasms 2020-08-26 11:09:15 +01:00
Jake Archibald
549e1fc50a Use bt709 if not lossless so colour is correct 2020-08-25 14:12:26 +01:00
Jake Archibald
e316b0d667 Use identity coefficients for true lossless 2020-08-25 13:39:01 +01:00
Jake Archibald
8f2dcb5f48 Options mostly working 2020-08-25 13:11:10 +01:00
Surma
cd33a2f759 Fine. Count the lines. 2020-08-24 14:21:35 +01:00
Surma
ee561bb00e Allow more than one scanline at a time 2020-08-24 14:03:44 +01:00
Surma
75275a5596 Update codecs/mozjpeg/dec/mozjpeg_dec.cpp
Co-authored-by: Ingvar Stepanyan <rreverser@google.com>
2020-08-24 14:00:38 +01:00
Surma
8cd811cafd Review 2020-08-24 12:43:12 +01:00
Surma
4e090ea2f8 Remove unnecessary includes 2020-08-21 16:43:36 +01:00
Surma
c23d1091e7 Implement decoder 2020-08-21 16:31:04 +01:00
Surma
d4f8b7f38b Add LICENSES to codecs 2020-08-21 13:44:36 +01:00
Surma
fe52c9b307 Fix Makefile 2020-08-11 18:49:07 +01:00
Surma
3745a3fff1 Revert "Enable address sanitizer"
This reverts commit d89e846896.
2020-08-11 18:41:42 +01:00
Surma
d89e846896 Enable address sanitizer 2020-08-11 18:41:09 +01:00
Ingvar Stepanyan
db6dea846a AVIF Makefile improvements 2020-08-05 15:56:36 +01:00
Ingvar Stepanyan
8036579a3c RawImage -> ImageData; report errors with null 2020-08-05 15:10:33 +01:00
Ingvar Stepanyan
0807fa4b9a Remove obsolete free_result refs 2020-08-05 14:40:15 +01:00
Surma
0218d0aac5 Avoid leaks during encoding 2020-08-05 14:40:04 +01:00
Surma
cfba6e7bd5 Disable examples 2020-08-05 14:39:58 +01:00
Surma
c6015e2e8d Don't copy dem pixels 2020-08-05 14:39:54 +01:00
Surma
94a2a7b32f Free pixels 2020-08-05 14:39:50 +01:00
Surma
03f33847a3 Code review 2020-08-05 14:39:46 +01:00
Surma
563b558204 Remove free() method 2020-08-05 14:39:41 +01:00
Surma
3c92f2d531 Download sources as tar.gz 2020-08-05 14:39:35 +01:00
Surma
f5ab9a9a59 Remove CFLAGS and improve git folder targets 2020-08-05 14:39:30 +01:00
Surma
7893660679 Fix alpha channel in encoder 2020-08-05 14:39:26 +01:00
Surma
15dac42a7f Remove stray files 2020-08-05 14:39:21 +01:00
Surma
53298a23ad Remove package.json and move git to Makefile 2020-08-05 14:39:14 +01:00
Surma
7ffa45ba86 Update libavif and libaom 2020-08-05 14:39:07 +01:00