Commit Graph

52 Commits

Author SHA1 Message Date
Aryan Pingle
e217740e53 Update libavif (#1381)
* Update libavif (v1.0.0-main)

* Update libavif for improved compression and speed
* v1.0.0 deprecates usage of min and max-quantizers; we use `quality` and `qualityAlpha` instead
* Renamed `maxSpeed` to `MAX_EFFORT` for better readability

* Update libavif (v1.0.1-main)

* Refactor variable names for clarity

* Update libaom (v3.7.0)

* Add checks for API return values

* Rename variables for readability

Changes `cqlevel` to `quality`, and `cqAlphaLevel` to `qualityAlpha`

* Minor patches in logic

* Minor patches in lossless calculation

* Add chroma subsampling options to AVIF

* Add skeleton for sharp downsampling param

* Try to use libsharpyuv

* Encoder working, decoder isnt

* Make sure sharpyuv is disabled for decoder

* Add AVIF_LOCAL flags for sharp yuv

* Get AVIF sharp YUV working

* Clean up AVIF makefiles

* AVIF: Make sharpyuv conditional on subsample

* AVIF: Flags to speed up sharpyuv build

* AVIF: Minor refactoring in enc.cpp

* AVIF: Minor refactoring & renaming

* AVIF: Use smart pointers to prevent memory leaks

* AVIF: Minor refactoring

* AVIF: Revert defaultoptions logic change

---------

Co-authored-by: Surma <surma@surma.dev>
Co-authored-by: Jake Archibald <jaffathecake@gmail.com>
2024-01-24 08:04:33 +00:00
André R
cd336909fc Update libavif (v0.12-main) and AOM (3.6) for improved compression and speed (#1334)
* Update libavif and AOM (3.6) for improved compression and speed

* Minor fixes to package-lock done by NPM, also trigger new build

* Update AVIF version

---------

Co-authored-by: Jake Archibald <jaffathecake@gmail.com>
2023-03-10 10:24:15 +00:00
Surma
d12b040bd3 Add threaded AVIF encoder for node 2021-06-24 17:07:57 +01:00
Surma
011d0c2099 Update AVIF 2021-06-08 16:51:08 +01:00
Ingvar Stepanyan
7d111b6a43 Update wasm-bindgen 2021-06-02 17:03:14 +01:00
Ingvar Stepanyan
426f31e548 Upgrade Emscripten to 2.0.21
Few notes:
 - Lots of deprecated SIMD intrinsic warnings & errors in JPEG-XL -> Highway; had to suppress erorrs to make project build.
 - Moved couple of common link flags to cpp.Dockerfile (note: can't move `EXPORT_ES6` otherwise `configure` will fail).
 - MODULARIZE=1 is no longer necessary and implied by EXPORT_ES6.
 - EXPORT_NAME=... is no longer necessary in EXPORT_ES6.
 - Changed visdif to also use EXPORT_ES6 and ENVIRONMENT=node instead of generic JS.
2021-06-02 17:03:14 +01:00
Jake Archibald
ff9dea465f Updating AVIF, and 'auto' SSIM option (#1008) 2021-05-10 18:56:33 +01:00
Jake Archibald
33c0c3b034 Additional AVIF options (#987)
* Separate colour & alpha options for AVIF

* Adding broken noise synthesis

* Build files

* Updating build

* Changing speed default

* Remove old comment

* Better speed default
2021-04-29 11:19:24 +01:00
Ingvar Stepanyan
9d890a8fd6 Fix AVIF multithreading (#981) 2021-03-23 12:28:56 +00:00
Jake Archibald
42cfbe11a1 Better AVIF options (#965)
* Better AVIF options

* Removing internal URL

* Remove AQ, add SSIM

* Better cast
2021-03-10 14:12:54 +00:00
Ingvar Stepanyan
30528c2330 Disable filesystem in C++ codecs (#938) 2021-01-18 12:59:40 +00:00
Ingvar Stepanyan
b4329c5bed Rebuild codecs (#935) 2021-01-18 12:29:38 +00:00
Surma
33d60658cd Makefile review 2020-12-08 17:55:49 +00:00
Surma
ef31e5cbd1 Add node version to AVIF 2020-12-05 20:23:34 +00:00
Ingvar Stepanyan
a951096aaa Support threads and threads+SIMD in WebP2 2020-12-01 14:36:30 +00:00
Ingvar Stepanyan
24d241564e Simplify how BUILD_DIR is passed 2020-12-01 14:36:30 +00:00
Ingvar Stepanyan
3ae1cf86f5 Autoformat staged C++ and Rust 2020-11-21 03:56:30 +00:00
Jake Archibald
6da590c7d0 Merge branch 'rollup-build' into dev
# Conflicts:
#	_headers.ejs
#	codecs/oxipng/pkg/squoosh_oxipng_bg.js
#	src/codecs/avif/encoder.ts
#	src/codecs/oxipng/encoder.ts
#	src/codecs/processor.ts
#	src/codecs/util.ts
#	src/components/intro/imgs/logo.svg
#	src/missing-types.d.ts
#	webpack.config.js
2020-11-19 11:12:29 +00:00
Jake Archibald
56e10b3aa2 Rollup build 2020-11-19 11:00:23 +00:00
Ingvar Stepanyan
5df7dd7590 Update helper.Makefile 2020-11-02 13:54:41 +00:00
Ingvar Stepanyan
013946b137 Pass CODEC_DIR and LIBAOM_DIR via export
Slightly simpler than passing them in HELPER_MAKEFLAGS.
2020-11-02 13:54:41 +00:00
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
f583770696 Explicitly disable HDR only for encoder 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
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
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
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