Josh Holmer
f4b643d54b
Fix clippy lints, now that clippy is working again. Hooray!
2016-12-16 21:24:47 -05:00
Josh Holmer
7261fa3398
Release 0.13.0
2016-12-12 13:54:18 -05:00
Josh Holmer
2810316f4e
Reduce certain headers when reducing color type
...
Fixes #52
2016-12-12 09:57:18 -05:00
Josh Holmer
33f1fad711
Minor refactoring
2016-12-03 15:18:11 -05:00
Joshua Holmer
bf341dd20f
Fix clippy warnings
2016-12-01 22:33:38 -05:00
Josh Holmer
6d49d7b8f9
Implement zopfli compression, available as a CLI flag (-Z)
...
Improves compression by about 10% over DEFLATE, but takes a very long
time at the moment, so it is off by default.
2016-12-01 12:51:30 -05:00
Alice Atlas
7460ffac73
Fix for passing in filenames that contain commas
...
The versions of clap supported by oxipng default to allowing commas to be used as a delimiter for passing a series of values in a single physical command line argument, when parsing for a parameter that accepts multiple values. This prevents oxipng from accepting filenames containing commas (it splits them into segments separated by commas and treats each one as a separate path to a file to process, generally not finding any); this patch fixes this by disabling the delimiter behavior for the 'files' argument.
2016-09-19 18:13:24 -04:00
Josh Holmer
4977dd0948
Replace current Mutex-based threading with Rayon
2016-09-17 18:16:26 -04:00
Josh Holmer
f654cbeac4
Various minor changes
2016-09-09 21:55:47 -04:00
Josh Holmer
4da65aef3f
Add clone derive for PngError
2016-09-09 08:05:24 -04:00
Josh Holmer
e0dfbf3533
Enable clippy with dev feature, and fix several clippy lints
2016-08-20 20:47:26 -04:00
Josh Holmer
dbc3d97513
Eliminate many clones
2016-08-19 23:42:04 -04:00
Josh Holmer
d99db3ad23
Convert results to return a PngError
...
Closes #44
2016-08-16 12:38:09 -04:00
Josh Holmer
3166285150
Allow using optimization presets from crate
...
Closes #43
2016-08-14 11:31:46 -04:00
Josh Holmer
58a36902f6
Fix tests
2016-08-03 08:27:45 -04:00
Josh Holmer
37c32b80ef
Remove quickcheck, as it breaks tests against 1.6.0
2016-08-03 08:15:01 -04:00
Josh Holmer
64edc9110e
Start using quickcheck and add inline hints
2016-07-30 23:14:36 -04:00
Josh Holmer
99da13bd8e
Version 0.10.0 [ci skip]
2016-07-26 12:59:28 -04:00
Josh Holmer
fa2b5c4ae5
Remove conversion from palette to grayscale
...
Closes #45
2016-07-26 12:32:43 -04:00
Josh Holmer
29557a18e8
Version 0.9.0
2016-07-14 20:00:59 -04:00
Josh Holmer
7734a9ffff
Use multiple threads to filter
2016-07-14 19:47:47 -04:00
Josh Holmer
7f9ad263ec
Refactor code into modules
2016-07-14 11:10:10 -04:00
Josh Holmer
332c27c7d0
Significant refactoring using itertools
2016-07-14 08:10:25 -04:00
Joshua Holmer
2659776bd5
Fix issue for interlacing images smaller than 4px
...
Fixes #42
2016-05-25 23:10:44 -04:00
Joshua Holmer
223995b551
Version 0.8.1 [ci skip]
2016-05-13 22:12:27 -04:00
Joshua Holmer
ecc19ad5cd
Fix bug where interlaced images with certain widths would fail to optimize
2016-05-13 22:11:45 -04:00
Joshua Holmer
1d39714b0f
Fix several new clippy lints
2016-05-13 10:46:16 -04:00
Joshua Holmer
0ddd875c84
Document default values for Options struct [ci skip]
2016-05-06 10:10:34 -04:00
Joshua Holmer
8358f4f72d
Version 0.8.0 [ci skip]
2016-05-06 10:00:02 -04:00
Joshua Holmer
566675f0b6
Improve documentation of private API [ci skip]
2016-05-05 15:44:03 -04:00
Joshua Holmer
042e3e2563
Fix new warnings from clippy
2016-05-05 13:40:24 -04:00
Toby Lawrence
bc7de9b734
Add documentation to new public methods for optimizing in-memory.
2016-05-05 12:21:31 -04:00
Toby Lawrence
2573b20966
Add support for optimizing PNGs loaded in-memory.
...
In keeping with being able to use oxipng as a library, this adds a way
for developers to optimize a PNG already in memory, instead of requiring
it to exist on disk first.
2016-05-05 07:54:52 -04:00
Joshua Holmer
193e6496bd
Version 0.7.0
2016-05-04 10:41:29 -04:00
Joshua Holmer
3a39b13acf
Add option for changing number of threads at runtime
...
Closes #39
2016-05-04 10:37:45 -04:00
Joshua Holmer
e4cd9b85e7
Move default Options into impl Default in library
2016-05-04 10:09:26 -04:00
Joshua Holmer
aaf443fca7
Similarly optimize unfilter mode 2
...
Unfilter mode 1 can't benefit from this optimization
because it modifies and reads from the same line of data
2016-05-02 15:58:45 -04:00
Joshua Holmer
3652a69255
Optimize filter mode 1
2016-05-02 15:48:21 -04:00
Joshua Holmer
32c35596ea
25% speed improvement in filter mode 2 by using iter instead of for
2016-05-02 14:49:30 -04:00
Joshua Holmer
c0fddfe4e6
Minor compression improvement in interlaced images
2016-05-02 13:54:04 -04:00
Joshua Holmer
b8116dd3dd
Version 0.6.0 [ci skip]
2016-05-02 09:40:37 -04:00
Joshua Holmer
a4a5953786
Implement --fix to fix CRC errors in PNG block headers
...
Closes #5
2016-05-02 09:25:48 -04:00
Joshua Holmer
08eb44ec1a
Partially implement --preserve
...
Needs better implementation once stable Rust improves,
or perhaps see if there's a crate for this
Reference #4 but keep open
2016-04-29 23:37:27 -04:00
Joshua Holmer
73d477924e
Merge branch 'master' of github.com:shssoichiro/oxipng
2016-04-22 13:37:41 -04:00
Joshua Holmer
2c3e35d8bb
Moderately improve cyclomatic complexity
2016-04-22 13:31:59 -04:00
Joshua Holmer
fac83c023d
Fix issue where output directory would not be created if it did not exist
2016-04-22 13:31:33 -04:00
Joshua Holmer
f3b8665278
Use miniz for compression strategies 0 and 1
...
Worst case (RGB/A images) it performs similarly to zlib
Best case (Indexed images) it performs 1-2 orders of magnitude better
Zlib is kept for strategies 2 and 3, where it performs an order of
magnitude better than miniz
2016-04-20 23:14:41 -04:00
Joshua Holmer
11308959fa
Version 0.5.0 [ci skip]
2016-04-20 15:51:14 -04:00
Joshua Holmer
3f3fbb6f60
Don't report pretend mode if verbosity is set to none
2016-04-19 22:38:34 -04:00
Joshua Holmer
2e7bfa4ebc
Add palette reduction
...
Closes #11
2016-04-13 23:16:32 -04:00