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
Josh Holmer
e3ba535a79
Add some changes and fixes around how the output file is handled
...
See changelog for details
2018-01-10 20:54:15 -05:00
Josh Holmer
d204427f73
Refactor options presets
2018-01-10 11:22:52 -05:00
Josh Holmer
88f5bb0931
Hide modules from documentation, and only export structs used in options or return types
2018-01-10 10:37:01 -05:00
Josh Holmer
fe9fd95b21
Update some old documentation
2018-01-10 10:26:12 -05:00
Josh Holmer
32e3d245f9
Run latest rustfmt
2017-12-27 17:21:21 -05:00
Josh Holmer
bb6a2513eb
Return exit code of 1 if error occurs while processing a file using the CLI
...
Closes #93
2017-12-27 17:20:12 -05:00
Josh Holmer
f8c62de6c0
Fix unfiltering of first scan line in each pass of an interlaced input file
...
Closes #92
2017-12-23 00:36:41 -05:00
Josh Holmer
4d62f9f7f9
Fix failure to optimize on certain grayscale images
...
Closes #89
2017-11-21 12:38:33 -05:00
Josh Holmer
9c7fdfd9d1
Fix parsing of glob paths on Windows
...
Closes #90
2017-11-06 19:01:18 -05:00
Josh Holmer
fa334e0750
Update dependencies
2017-11-06 18:50:10 -05:00
Emiel Beinema
b417e2bde7
Return an error when an APNG header is encountered
2017-09-30 23:50:52 +02:00
Emiel Beinema
4711cd6620
Check header of file before loading it in memory
2017-09-27 14:22:33 +02:00
Josh Holmer
e17f911334
Fix a bug in palette reduction at less than 8 bits per pixel
...
Closes #82
2017-09-11 18:27:28 -04:00
Josh Holmer
e3a26b77a4
Fix a bug in reducing palettes with a bit depth of two
...
Closes #80
2017-09-10 23:26:39 -04:00
Josh Holmer
0db03c6faf
Fix new clippy lints
2017-09-03 23:36:38 -04:00