Kornel
96eda85806
Identify and drop useless sRGB profiles ( #143 )
2018-11-13 14:37:02 -05: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
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
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
7303b94afc
Fix issue with alpha optim on interlaced images
...
Closes #113
2018-07-27 23:03:36 -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
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
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
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
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
d7369707ba
Fix a change that breaks itertools with newer versions of Rust nightly
2018-03-04 23:47:06 -05:00
Josh Stone
6f123c6382
Update to rayon 1.0
2018-02-20 14:14:45 -08:00
Josh Holmer
3d643b16b2
Adjust spacing in help command
2018-01-31 14:10:03 -05:00
Josh Holmer
d614bba3ac
Adjust command line presets to take advantage of the 50% speedup gained by removing memory options
2018-01-31 14:07:03 -05:00
Josh Holmer
66c1662537
Remove unused libc dependency
2018-01-30 23:54:30 -05:00
Josh Holmer
fe9cd01b82
Replace miniz_sys with miniz_oxide, a Rust implementation of miniz
...
This also improves decompression performance by 15%, and obsoletes the
`--zm` parameter.
Closes #57
2018-01-30 23:52:37 -05:00
Josh Holmer
0c2e3777b1
Refactor an if statement
2018-01-30 22:27:34 -05:00
Josh Holmer
348c7dbc56
Extract a function into a submodule
2018-01-30 22:21:31 -05:00
Josh Holmer
3497040b78
Remove useless annotation
2018-01-30 22:18:22 -05:00
Josh Holmer
cf5b90b444
Preallocate vector on reading in file
...
Provides 1.5% overall speedup on -o4
2018-01-30 22:15:03 -05:00
Josh Holmer
eb739c9ff9
Implement unix-specific permissions copying
...
Closes #4
2018-01-30 10:13:29 -05:00
Josh Holmer
ece85e6d15
Refactoring of internal code into smaller chunks.
...
There is still more to be done.
2018-01-30 09:35:03 -05:00
Josh Holmer
aa8b58628e
Fix spacing of line breaks in the rendered documentation
...
Closes #94
2018-01-18 17:30:51 -05:00