Josh Holmer
7303b94afc
Fix issue with alpha optim on interlaced images
...
Closes #113
2018-07-27 23:03:36 -04:00
Josh Holmer
d110949d2a
Version 2.0.0
2018-07-20 19:19:20 -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
cb52d8466a
Reading from stdin ( #118 )
2018-07-12 07:54:06 -04:00
Kornel
ebf541219c
DRYyer tests ( #117 )
2018-07-10 22:38:49 -04:00
Kornel
55a095d536
Enum for stdout writing flag ( #110 )
2018-07-10 18:41:06 -04:00
Kornel
e83762d3b1
Remove deprecated Error::description ( #109 )
2018-07-06 07:26:49 -04:00
Josh Holmer
4d81e23542
Fix the benchmarking script to not overwrite the test file
2018-01-19 18:29:41 -05:00
Josh Holmer
9de0eeaf51
Compare performance of oxipng vs optipng
...
This adds a script to automate this process and add it to the README.
I'll just run it manually after a version release, for now.
Closes #81
2018-01-18 13:58:05 -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
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
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
Emiel Beinema
b417e2bde7
Return an error when an APNG header is encountered
2017-09-30 23:50:52 +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
Josh Holmer
f41ef551d3
Enable option for multiple alpha transformations
2017-07-26 00:37:55 -04:00
Josh Holmer
413f1aac7c
Automatically change transparent pixels to black
2017-07-24 08:47:27 -04:00
Josh Holmer
d18850ebab
Ignore color reductions that would increase file size
...
Closes #61
2017-03-08 10:11:13 -05:00
Josh Holmer
6c8e7d253d
Verify images are correct before outputting them, and fix a bug in certain images
...
Closes #60
2017-03-06 20:16:28 -05:00
Josh Holmer
c79ba3ab8a
Version 0.14.4
2017-02-26 22:53:23 -05:00
Josh Holmer
87810829ce
Fix issues in transparency palette reduction and release version 0.14.3
2017-02-25 23:33:55 -05:00
Josh Holmer
44818a854b
Fix two bugs in reducing palette and release version 0.14.2
2017-02-22 15:45:46 -05:00
Josh Holmer
2810316f4e
Reduce certain headers when reducing color type
...
Fixes #52
2016-12-12 09:57:18 -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
Josh Holmer
d99db3ad23
Convert results to return a PngError
...
Closes #44
2016-08-16 12:38:09 -04:00
Josh Holmer
fa2b5c4ae5
Remove conversion from palette to grayscale
...
Closes #45
2016-07-26 12:32:43 -04:00
Josh Holmer
7f9ad263ec
Refactor code into modules
2016-07-14 11:10:10 -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
ecc19ad5cd
Fix bug where interlaced images with certain widths would fail to optimize
2016-05-13 22:11:45 -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
3a39b13acf
Add option for changing number of threads at runtime
...
Closes #39
2016-05-04 10:37:45 -04:00
Joshua Holmer
a84611c9ae
Replace appropriate uses of assert! with assert_eq! in test suite
2016-05-03 08:03:25 -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
2e7bfa4ebc
Add palette reduction
...
Closes #11
2016-04-13 23:16:32 -04:00
Joshua Holmer
c78e3213d6
Update crates and fix interlacing issue
2016-04-08 13:37:00 -04:00
Joshua Holmer
19bcc67668
Update changelog and remove one-time script [ci skip]
2016-04-04 16:12:37 -04:00
Joshua Holmer
1fc81ef683
Support interlaced files and allow conversion between interlaced and progressive files
...
Closes #3
2016-04-04 16:07:46 -04:00
Joshua Holmer
2974bbbee3
Fix issue with very small images [ci skip]
2016-04-04 11:06:00 -04:00
Joshua Holmer
5740867be5
Work on implementing interlacing [ci skip]
2016-03-29 22:44:21 -04:00
Joshua Holmer
fb019505eb
Add test for failing edge-case images with subtitles
...
Closes #29
2016-03-10 14:49:00 -05:00
Joshua Holmer
b889c73a3b
Make --strip option more versatile
...
Closes #22
2016-03-05 22:36:31 -05:00
Joshua Holmer
7d1e3a5bb9
Print console output to stderr instead of stdout
...
Makes it friendlier with --stdout option
See #20 for discussion
2016-03-04 16:37:40 -05:00
Joshua Holmer
c6452beb12
Select compression and filter modes heuristically for -o1
...
Closes #21
2016-03-04 15:24:58 -05:00
Joshua Holmer
aa80965196
Ensure each test has its own file
...
Since we are using real files and not mocks, each tests needs
its own file or else Travis will try to write multiple files
concurrently and fail.
2016-03-03 14:55:37 -05:00
Joshua Holmer
2edf54c9f4
Rustfmt on tests
2016-03-03 13:29:16 -05:00
Joshua Holmer
3506d57c7b
Move tests into separate modules
...
More or less fixes #13 . We have some repeat util code that I still want to eliminate though.
2016-03-03 12:39:18 -05:00