Surma
ec29c8b8cc
Compile JXL decoder
2020-02-06 10:37:36 -08:00
Ingvar Stepanyan
7f6404d5a8
Delete .gitignore in resize codec
2019-08-05 15:13:40 +01:00
Ingvar Stepanyan
8e857cd393
Use native Wasm+Webpack support for Rust codecs
...
This delegates loading of Wasm modules to Webpack itself, making wrapper code simpler.
Emscripten-generated modules are still using custom loading glue as they're not compatible with Webpack.
2019-08-05 15:13:40 +01:00
Ingvar Stepanyan
b8f801333d
Switch to prebuilt WABT and wasm-pack
...
Significantly speeds up `npm run build:image` commands (as they don't need to compile anything anymore) and slightly reduces size of Docker images:
- `squoosh-rotate`: 1.87GB -> 1.84GB
- `squoosh-resize`: 2.02GB -> 1.85GB
- `squoosh-hqx`: 2.06GB -> 1.9GB
2019-08-02 17:23:09 +01:00
Ingvar Stepanyan
499956e216
Switch to stable Rust
...
Nightly is no longer necessary for wee_alloc, so we don't need to rely on unstable versions of Rust anymore.
As a bonus, this reduces size of each Rust-related Docker image by >1 GB:
- `squoosh-rotate`: 2.94GB -> 1.87GB
- `squoosh-resize`: 3.09GB -> 2.02GB
- `squoosh-hqx`: 3.13GB -> 2.06GB
2019-08-02 16:14:44 +01:00
Ingvar Stepanyan
68177b7590
Rename resize package
...
Without this, it was creating files in `pkg` prefixed with `squooshresize`, which were ignored by Git.
2019-08-02 14:53:39 +01:00
Surma
0a2a4122dc
Update build.sh
2019-08-02 12:47:12 +01:00
Mathias Bynens
3f8afb72a6
Fix nit
2019-06-19 14:44:23 +02:00
Jake Archibald
2f834db224
Quick doc fix
2019-06-19 13:02:59 +01:00
Jake Archibald
b6fae0eb4c
Hqx fix ( #629 )
...
* Optimising wasm so it doesn't break Chrome
* Simpler dockerfile (thanks surma!)
2019-06-19 12:24:24 +01:00
Surma
66feffcc49
Add Hq{2,3,4}x ( #624 )
...
* Scaling works on native
* It works in wasm
* Integrate with UI
* Remove benchmark
* Integrate Hqx into Resizer module
* Link against repo for hqx
* Remove unused defaultOpts
* Re-add test file
* Adding size dropdown
* Chrome: go and sit on the naughty step
* Better docs
* Review
* Add link to crbug
* Update src/codecs/processor-worker/index.ts
Co-Authored-By: Jake Archibald <jaffathecake@gmail.com >
* Terminate worker inbetween resize jobs
2019-06-18 12:23:22 +01:00
Surma
bf4d4b78cb
Implement sRGB color conversion ( #510 )
...
* Add sRGB -> RGB conversion before resize
* Add clamping for color space conversions
* Clip for demultiplication as well
* Fixing linear <-> srgb conversion
* Update benchmark
* Decouple srgb calculations
* Generate lookup tables
* Update src/codecs/resize/options.tsx
* Defaulting on, renaming, removing redundant state
2019-03-12 14:09:35 +00:00
Surma
45221c0b03
Implement alpha premultiplication ( #507 )
...
* Implement alpha premultiplication
* Add benchmark to resize
* Only display "Premultiply alpha" if it's one of the rust resize types.
* Add comment about division by zero
2019-03-08 11:18:59 +00:00
Jake Archibald
9e5b66d5f4
Better resize methods ( #498 )
...
* Port resize to wasm
* Expose resize algorithms
* Lanczos3 working!
* lol copy paste
* Adding support for other resizers
* Don’t track generated README
* Cache wasm instance
2019-03-06 17:20:25 +00:00
Surma
ba90517ad7
Remove baseline benchmark and switch to tile size 16
2019-02-21 15:16:26 +00:00
Joachim Viide
0e8c0da3dd
Update the built rotate.wasm file
2019-02-21 15:16:26 +00:00
Joachim Viide
3132a207e1
Fix potential over-the-bounds slicing in rotate.rs
2019-02-21 15:16:26 +00:00
Joachim Viide
f507a2464f
Update the built rotate.wasm file
2019-02-21 15:16:25 +00:00
Joachim Viide
14baa6ebf8
Reorganize rotate.rs, separate rotations into their own functions
2019-02-21 15:16:25 +00:00
Joachim Viide
5d32126565
Use iteration in rotate.rs whenever possible
2019-02-21 15:16:25 +00:00
Joachim Viide
484ff7ab4c
Fix unwrap_hard when debug_assertions is set
2019-02-21 15:16:25 +00:00
Surma
36f86385a2
Update benchmark flags
2019-02-21 15:16:24 +00:00
Surma
436faa17af
More conservative tiling size
2019-02-21 15:16:24 +00:00
Surma
d205ae206f
Implement 180 and 270
2019-02-21 15:16:24 +00:00
Surma
6baa5900fc
Implement tiling
2019-02-21 15:16:24 +00:00
Surma
fadb53f075
Readd rotation cases
2019-02-21 15:16:24 +00:00
Surma
1a63387408
Use a trait to make it nicer
2019-02-21 15:16:23 +00:00
Surma
a316120b69
Switch to 8 byte offset
2019-02-21 15:16:23 +00:00
Surma
0d1e5ef119
Simplify rotation code to 90deg only
2019-02-21 15:16:23 +00:00
Surma
b49cfca39d
Scriptify benchmark running
2019-02-21 15:16:23 +00:00
Surma
ab58df4c2c
Benchmark all rotations
2019-02-21 15:16:22 +00:00
Surma
db20f10bd2
Write d8 benchmark using the baseline compiler
2019-02-21 15:16:22 +00:00
Surma
91e7c9c5ad
Make Rust rotate code smaller ( #462 )
...
* Make Rust rotate code smaller
* Back on the rust happy path
2019-02-15 09:47:26 +00:00
Surma
9a35224535
Update wasm build
2019-02-11 16:22:29 +00:00
Surma
b6a8f7eeba
Rotate implementation in Rust
2019-02-11 16:22:28 +00:00
Ewout ter Hoeven
cb16fb5437
Update libwebp to 1.0.2 ( #439 )
...
* Update package.json
* Update package.json
* Update README.md
* Update README.md
* Use cmake for libwebp
* Minimize libwebp
2019-02-05 15:45:03 +00:00
Mariko Kosaka
962d0928d3
Update README.md
...
closes #367
updating incorrect URL
2018-12-17 13:43:18 -05:00
Jake Archibald
d30a85fd48
Using use_argb conditionally
2018-12-17 10:21:30 +00:00
Jake Archibald
9260bed1b1
Fixing sharp & preprocess settings
2018-12-17 10:01:47 +00:00
renovate[bot]
f6106650b5
Pin dependencies
2018-12-13 13:20:33 +00:00
Simon VDB
44dd2ee808
Fix typo
2018-11-15 22:02:11 +01:00
Jake Archibald
f396a5b784
MozJPEG chroma subsampling and quality ( #235 )
...
* Adding chroma subsampling for mozjpeg
* Adding separate chroma quality.
* Preact sometimes removes the inline styles, this fixes it.
* Simplifying chroma subsample
* Adding comments
2018-11-06 13:46:52 +00:00
Jake Archibald
43def798e1
Two workers & worker termination ( #198 )
...
* Refactoring codecs
* Plugging in new processor
* Fixing decorator
* MozJPEG free issue
* Better worker aborting, and terminate workers that aren't used for 10 seconds
* Better comment
* Ooops, half-typed comment
* Uncommenting problematic line
* Surma fixed it!
* Abstracting WASM initialisation
* Better comment
* Don't need this.
* Adding ticket
* noInitalRun
* Reverting MozJPEG issue demo
* Making a const for worker timeout
* Inline docs
* Bail early rather than nesting
* Addressing nits
2018-10-28 09:17:43 +00:00
Surma
49b40b1c3e
Remove virtual files before running ( fixes #217 ) ( #220 )
2018-10-19 12:07:01 +01:00
Surma
f335246673
Use mozjpeg function to free result ( #207 )
2018-10-14 14:10:21 +01:00
Surma
577c77cc30
Codecs cleanup ( #189 )
...
* Update imagequant processor
* Update mozjpeg encoder
* Update optipng encoder
* Update webp decoder
* Update webp encoder
* Remove old codec build tasks
* Add warning about docker image updates
2018-10-12 10:53:33 +01:00
Surma
1b630a092f
Dockerize mozjpeg ( #169 )
...
* Dockerize mozjpeg build process
* Update README
2018-09-26 12:31:26 +01:00
Surma
54ad30a7ed
Optipng ( #156 )
...
* omg it’s compiling
* example actually works
* Expose compression level options
* Disable crypto and path module emulation in webpack
* Update README
* Remove small image
* Use -O3 on optipng
* Free memory after copy
* Handle unexpected file reader return types
* Rename level label to effort
2018-09-04 16:49:45 +01:00
Surma
e3b1b08424
Make WebP decoder use memory views ( #145 )
...
* Make WebP decoder use memory views
* Update webp_dec README
* Port quantizer to memory views as well
2018-08-21 13:29:53 +01:00
Jake Archibald
8006a1a5e7
Memory view rather than pointers ( #144 ). Part of #141 .
...
* Returning an object seems to work well
* This doesn't work
* This does!
* Better cast?
* Updating usage in Squoosh
2018-08-21 09:27:04 +01:00