Ingvar Stepanyan
81c183b0d6
Restructure the AVIF directories
...
Change the way AVIF finds AOM from default ([avif source]/ext/aom) to custom paths. This allows us to avoid unpacking same archives into duplicate folders, and instead make multiple builds from the same source.
2020-11-02 13:54:41 +00:00
Ingvar Stepanyan
f523db6403
Try out new flags for building only AVIF encoder/decoder
...
See the discussion in https://github.com/AOMediaCodec/libavif/issues/254 where this was implemented.
This allows us to avoid using ERROR_ON_UNDEFINED_SYMBOLS and build a truly separate encoder/decoder libs.
2020-11-02 13:54:41 +00:00
Ingvar Stepanyan
cc6ea9e11c
Switch to -O3 for C++ codecs
2020-11-02 12:46:12 +00:00
Ingvar Stepanyan
a9d3bd71b5
Bump oxipng
...
Integrating some upstream fixes from my branch.
2020-10-07 20:42:48 +01:00
Ingvar Stepanyan
f583770696
Explicitly disable HDR only for encoder
2020-10-07 20:42:48 +01:00
Ingvar Stepanyan
bae243ccdb
Add feature detection to OxiPNG
2020-10-07 20:42:48 +01:00
Ingvar Stepanyan
02c113a68f
Point oxipng to a patched version
...
Some upstream changes required for parallel build to work.
2020-10-07 20:42:48 +01:00
Ingvar Stepanyan
600eead007
Disable parallel feature for non-parallel OxiPNG
2020-10-07 20:42:48 +01:00
Ingvar Stepanyan
05416768d5
Update oxipng build system
2020-10-07 20:42:48 +01:00
Ingvar Stepanyan
35d31f2324
Add some comments to explain Rust thread glue
2020-10-07 20:42:48 +01:00
Ingvar Stepanyan
82fadac70e
Fixup import.meta in OxiPNG
2020-10-07 20:42:48 +01:00
Ingvar Stepanyan
47f9d22dd8
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-10-07 20:42:48 +01:00
Ingvar Stepanyan
9420dba3bc
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-10-07 20:42:48 +01:00
Ingvar Stepanyan
0747d2c419
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-10-07 20:42:48 +01:00
Ingvar Stepanyan
4c658b79ef
OxiPNG + threads PoC
2020-10-07 20:42:48 +01:00
Ingvar Stepanyan
685558847f
Multithread AVIF PoC
2020-10-07 20:42:48 +01:00
Trevor Manz
63ac34a662
Promisify emscripten modules & fix webp examples ( #817 )
2020-09-30 00:05:59 +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