Commit graph

364 commits

Author SHA1 Message Date
Josh Holmer
d82406a959 Version 2.1.6 2018-11-17 18:02:16 -05:00
Kornel
4765eaa7f3 Alpha heuristic improvements (#144)
* Compress alpha with strategy sensitive to repetitions

* Update reductions flag when alpha changed

* Avoid needlessly cloning out-of-date idat_data and temp raw_data
2018-11-14 08:30:15 -05:00
Kornel
96eda85806 Identify and drop useless sRGB profiles (#143) 2018-11-13 14:37:02 -05:00
Joshua Holmer
88035ccbae Version 2.1.5 2018-10-11 08:41:11 -04:00
Joshua Holmer
87e738dda2 Fix incorrect detection of images that can reduce bit depth
Closes #140
2018-10-11 08:29:48 -04:00
Josh Holmer
903f962f29 Version 2.1.4 2018-09-28 21:05:58 -04:00
Josh Holmer
a4e0a34357 Bump version to 2.1.3 2018-09-16 23:21:51 -04:00
Kornel
3c466df80e Chunk name as 4 bytes (#135) 2018-09-16 16:09:55 -04:00
Josh Holmer
edd4966cea
Fix compilation error on i686 due to cfzlib incompat (#138)
Closes #137
2018-09-16 14:43:08 -04:00
Kornel
72393d06c9 Parallel loading (#136)
* Parallel loading

* Avoid vec allocation per pixel
2018-09-15 17:30:53 -04:00
Josh Holmer
df07d10a5c Version 2.1.2 2018-08-11 23:35:57 -04:00
Josh Holmer
bb1737928e Fix RGB to Indexed reduction if transparency pixel exists
Closes #129
2018-08-11 23:33:55 -04:00
Josh Holmer
7895e42687 Version 2.1.1 2018-08-11 20:34:04 -04:00
Josh Holmer
71d0f6fa31 Fix more issues with alpha optim on interlaced images
Closes #133
2018-08-11 20:27:45 -04:00
Josh Holmer
4ea310fa68 Version 2.1.0 2018-08-04 23:28:14 -04:00
Josh Holmer
3b42f42491 Revert "Revert "Make cfzlib the default on platforms that support it""
This reverts commit ff0e3df948.
2018-08-04 23:08:30 -04:00
Kornel
1322416ba4 Cleanup on error (#132)
Closes #126
2018-08-04 23:02:56 -04:00
Matthias Krüger
947ccaad04 fix more clippy warnings found by "cargo clippy --all-targets --all-features" (#130) 2018-08-02 23:19:42 -04:00
Josh Holmer
f862a0df24 Apply clippy fixes 2018-07-28 16:51:54 -04:00
Matthias Krüger
868fd502b9 reduce_alpha_to_up(): simplify code, don't convert Vec -> iter -> Vec in order to reverse elts, just vec.reverse(). (#127) 2018-07-28 11:19:56 -04:00
Josh Holmer
a8ef802c78 Add line to changelog [skip ci] 2018-07-27 23:15:07 -04:00
Josh Holmer
2241fd2c3b Version 2.0.2 2018-07-27 23:07:05 -04:00
Josh Holmer
7303b94afc Fix issue with alpha optim on interlaced images
Closes #113
2018-07-27 23:03:36 -04:00
Josh Holmer
b948264c32 Version 2.0.1 2018-07-21 00:40:48 -04:00
Josh Holmer
ff0e3df948 Revert "Make cfzlib the default on platforms that support it"
This reverts commit 2702145f3f.

cfzlib seems to have a MASSIVE memory leak in it. Trying to use it
when processing many files at once will cause your system to run out
of memory.

Closes #125
2018-07-21 00:37:57 -04:00
Josh Holmer
d110949d2a Version 2.0.0 2018-07-20 19:19:20 -04:00
Josh Holmer
879ca01042 Remove nonexistent feature 2018-07-20 19:04:12 -04:00
Josh Holmer
2702145f3f Make cfzlib the default on platforms that support it
Raises the minimum Rust version to 1.27.0
2018-07-20 19:03:17 -04:00
Josh Holmer
2f619f214b Bump patch versions of all dependencies 2018-07-20 18:58:40 -04:00
Josh Holmer
b235e5601f Remove deprecated clippy plugin, use rustup clippy now 2018-07-20 18:50:27 -04:00
Kornel
76a2e51c15 Reduce allocations (#122)
* Iterate with fewer temp allocations

* Avoid allocation when not reducing

* Avoid slow modulo
2018-07-20 18:40:51 -04:00
Kornel
c530bba261 --keep option (#121) 2018-07-17 23:55:21 -04:00
Kornel
c99b3778b2 Expose only one internal module specifically for tests (#123)
Closes #98
2018-07-17 23:38:11 -04:00
Kornel
efde5747c4 Parse without temporary allocation (#119) 2018-07-15 09:11:26 -04:00
Josh Holmer
ebd94934a5 Make PngError non-exhaustive for forward compatibility 2018-07-14 15:45:25 -04:00
Kornel
e1cf3bf54b Display options together, in source order (#120) 2018-07-14 15:28:47 -04:00
Kornel
cb52d8466a Reading from stdin (#118) 2018-07-12 07:54:06 -04:00
Kornel
24735b6ab3 Option to limit wall clock time spent on optimization trials (#115) 2018-07-12 07:40:11 -04:00
Kornel
ebf541219c DRYyer tests (#117) 2018-07-10 22:38:49 -04:00
Kornel
d2b1d56e8b Improved limiting of max gzip size (#116) 2018-07-10 22:36:43 -04:00
Kornel
67fd229f20 CLI args value names (#114) 2018-07-10 18:42:55 -04:00
Kornel
55a095d536 Enum for stdout writing flag (#110) 2018-07-10 18:41:06 -04:00
myfreeweb
ae65e4be8d Make Rayon an optional dependency (#112)
On WebAssembly, Rayon does not work (thread pool fails to initialize since threads are stubbed out).
2018-07-06 10:50:36 -04:00
Kornel
2d303f5dc2 Avoid double glob processing on unix (#111) 2018-07-06 08:11:42 -04:00
Kornel
e83762d3b1 Remove deprecated Error::description (#109) 2018-07-06 07:26:49 -04:00
Kornel
442eaf766c Bail early (#104) 2018-06-08 00:09:22 -04:00
Kornel
3e5b61e0c8 Compare images without allocating memory (#107) 2018-06-06 21:59:43 -04:00
magicgoose
5570a24781 allow listing more than 2 filters (#105)
Closes #101
2018-06-06 21:10:20 -04:00
Kornel
e472c82876 Option to use Cloudflare's zlib for compression (#103)
Behind the nightly feature flag for now--stable ASM is coming in Rust 1.27
2018-06-04 15:39:51 -04:00
Josh Holmer
a857cfcc1e
Merge pull request #102 from kornelski/bintest
Small tweaks
2018-06-01 08:34:24 -04:00