Skip to content

Commit

Permalink
Expose zc level 0 (uncompressed) πŸš€ (#641)
Browse files Browse the repository at this point in the history
Allow the creation of PNGs with uncompressed deflate streams via level 0
of libdeflate. If you want a glorified BMP with delta filters, this
change will make your dreams come true πŸ™‚.
  • Loading branch information
Galaxy4594 authored Sep 4, 2024
1 parent 0f24120 commit 0d60e8b
Show file tree
Hide file tree
Showing 4 changed files with 6 additions and 6 deletions.
2 changes: 1 addition & 1 deletion MANUAL.txt
Original file line number Diff line number Diff line change
Expand Up @@ -132,7 +132,7 @@ Options:
CPU cores.

--zc <level>
Deflate compression level (1-12) for main compression trials. The levels here are defined
Deflate compression level (0-12) for main compression trials. The levels here are defined
by the libdeflate compression library.

The default value depends on the optimization level preset.
Expand Down
6 changes: 3 additions & 3 deletions src/cli.rs
Original file line number Diff line number Diff line change
Expand Up @@ -259,15 +259,15 @@ CPU cores.")
)
.arg(
Arg::new("compression")
.help("Deflate compression level (1-12)")
.help("Deflate compression level (0-12)")
.long_help("\
Deflate compression level (1-12) for main compression trials. The levels here are defined \
Deflate compression level (0-12) for main compression trials. The levels here are defined \
by the libdeflate compression library.
The default value depends on the optimization level preset.")
.long("zc")
.value_name("level")
.value_parser(1..=12)
.value_parser(0..=12)
.conflicts_with("zopfli"),
)
.arg(
Expand Down
2 changes: 1 addition & 1 deletion src/deflate/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ pub use zopfli_oxipng::deflate as zopfli_deflate;
pub enum Deflaters {
/// Use libdeflater.
Libdeflater {
/// Which compression level to use on the file (1-12)
/// Which compression level to use on the file (0-12)
compression: u8,
},
#[cfg(feature = "zopfli")]
Expand Down
2 changes: 1 addition & 1 deletion src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -413,7 +413,7 @@ fn optimize_raw(
deadline: Arc<Deadline>,
max_size: Option<usize>,
) -> Option<PngData> {
// Libdeflate has four algorithms: 1-4 = 'greedy', 5-7 = 'lazy', 8-9 = 'lazy2', 10-12 = 'near-optimal'
// Libdeflate has four algorithms: 0 = 'uncompressed', 1-4 = 'greedy', 5-7 = 'lazy', 8-9 = 'lazy2', 10-12 = 'near-optimal'
// 5 is the minimumm required for a decent evaluation result
// 7 is not noticeably slower than 5 and improves evaluation of filters in 'fast' mode (o2 and lower)
// 8 is a little slower but not noticeably when used only for reductions (o3 and higher)
Expand Down

0 comments on commit 0d60e8b

Please sign in to comment.