diff --git a/benches/filters.rs b/benches/filters.rs index 861aaee4..f010e2e7 100644 --- a/benches/filters.rs +++ b/benches/filters.rs @@ -13,10 +13,7 @@ fn filters_16_bits_filter_0(b: &mut Bencher) { let input = test::black_box(PathBuf::from("tests/files/rgb_16_should_be_rgb_16.png")); let png = PngData::new(&input, &Options::default()).unwrap(); - b.iter(|| { - png.raw - .filter_image(FilterStrategy::Basic(RowFilter::None), false) - }); + b.iter(|| png.raw.filter_image(FilterStrategy::NONE, false)); } #[bench] @@ -24,10 +21,7 @@ fn filters_8_bits_filter_0(b: &mut Bencher) { let input = test::black_box(PathBuf::from("tests/files/rgb_8_should_be_rgb_8.png")); let png = PngData::new(&input, &Options::default()).unwrap(); - b.iter(|| { - png.raw - .filter_image(FilterStrategy::Basic(RowFilter::None), false) - }); + b.iter(|| png.raw.filter_image(FilterStrategy::NONE, false)); } #[bench] @@ -37,10 +31,7 @@ fn filters_4_bits_filter_0(b: &mut Bencher) { )); let png = PngData::new(&input, &Options::default()).unwrap(); - b.iter(|| { - png.raw - .filter_image(FilterStrategy::Basic(RowFilter::None), false) - }); + b.iter(|| png.raw.filter_image(FilterStrategy::NONE, false)); } #[bench] @@ -50,10 +41,7 @@ fn filters_2_bits_filter_0(b: &mut Bencher) { )); let png = PngData::new(&input, &Options::default()).unwrap(); - b.iter(|| { - png.raw - .filter_image(FilterStrategy::Basic(RowFilter::None), false) - }); + b.iter(|| png.raw.filter_image(FilterStrategy::NONE, false)); } #[bench] @@ -63,10 +51,7 @@ fn filters_1_bits_filter_0(b: &mut Bencher) { )); let png = PngData::new(&input, &Options::default()).unwrap(); - b.iter(|| { - png.raw - .filter_image(FilterStrategy::Basic(RowFilter::None), false) - }); + b.iter(|| png.raw.filter_image(FilterStrategy::NONE, false)); } #[bench] @@ -74,10 +59,7 @@ fn filters_16_bits_filter_1(b: &mut Bencher) { let input = test::black_box(PathBuf::from("tests/files/rgb_16_should_be_rgb_16.png")); let png = PngData::new(&input, &Options::default()).unwrap(); - b.iter(|| { - png.raw - .filter_image(FilterStrategy::Basic(RowFilter::Sub), false) - }); + b.iter(|| png.raw.filter_image(FilterStrategy::SUB, false)); } #[bench] @@ -85,10 +67,7 @@ fn filters_8_bits_filter_1(b: &mut Bencher) { let input = test::black_box(PathBuf::from("tests/files/rgb_8_should_be_rgb_8.png")); let png = PngData::new(&input, &Options::default()).unwrap(); - b.iter(|| { - png.raw - .filter_image(FilterStrategy::Basic(RowFilter::Sub), false) - }); + b.iter(|| png.raw.filter_image(FilterStrategy::SUB, false)); } #[bench] @@ -98,10 +77,7 @@ fn filters_4_bits_filter_1(b: &mut Bencher) { )); let png = PngData::new(&input, &Options::default()).unwrap(); - b.iter(|| { - png.raw - .filter_image(FilterStrategy::Basic(RowFilter::Sub), false) - }); + b.iter(|| png.raw.filter_image(FilterStrategy::SUB, false)); } #[bench] @@ -111,10 +87,7 @@ fn filters_2_bits_filter_1(b: &mut Bencher) { )); let png = PngData::new(&input, &Options::default()).unwrap(); - b.iter(|| { - png.raw - .filter_image(FilterStrategy::Basic(RowFilter::Sub), false) - }); + b.iter(|| png.raw.filter_image(FilterStrategy::SUB, false)); } #[bench] @@ -124,10 +97,7 @@ fn filters_1_bits_filter_1(b: &mut Bencher) { )); let png = PngData::new(&input, &Options::default()).unwrap(); - b.iter(|| { - png.raw - .filter_image(FilterStrategy::Basic(RowFilter::Sub), false) - }); + b.iter(|| png.raw.filter_image(FilterStrategy::SUB, false)); } #[bench] @@ -135,10 +105,7 @@ fn filters_16_bits_filter_2(b: &mut Bencher) { let input = test::black_box(PathBuf::from("tests/files/rgb_16_should_be_rgb_16.png")); let png = PngData::new(&input, &Options::default()).unwrap(); - b.iter(|| { - png.raw - .filter_image(FilterStrategy::Basic(RowFilter::Up), false) - }); + b.iter(|| png.raw.filter_image(FilterStrategy::UP, false)); } #[bench] @@ -146,10 +113,7 @@ fn filters_8_bits_filter_2(b: &mut Bencher) { let input = test::black_box(PathBuf::from("tests/files/rgb_8_should_be_rgb_8.png")); let png = PngData::new(&input, &Options::default()).unwrap(); - b.iter(|| { - png.raw - .filter_image(FilterStrategy::Basic(RowFilter::Up), false) - }); + b.iter(|| png.raw.filter_image(FilterStrategy::UP, false)); } #[bench] @@ -159,10 +123,7 @@ fn filters_4_bits_filter_2(b: &mut Bencher) { )); let png = PngData::new(&input, &Options::default()).unwrap(); - b.iter(|| { - png.raw - .filter_image(FilterStrategy::Basic(RowFilter::Up), false) - }); + b.iter(|| png.raw.filter_image(FilterStrategy::UP, false)); } #[bench] @@ -172,10 +133,7 @@ fn filters_2_bits_filter_2(b: &mut Bencher) { )); let png = PngData::new(&input, &Options::default()).unwrap(); - b.iter(|| { - png.raw - .filter_image(FilterStrategy::Basic(RowFilter::Up), false) - }); + b.iter(|| png.raw.filter_image(FilterStrategy::UP, false)); } #[bench] @@ -185,10 +143,7 @@ fn filters_1_bits_filter_2(b: &mut Bencher) { )); let png = PngData::new(&input, &Options::default()).unwrap(); - b.iter(|| { - png.raw - .filter_image(FilterStrategy::Basic(RowFilter::Up), false) - }); + b.iter(|| png.raw.filter_image(FilterStrategy::UP, false)); } #[bench] @@ -196,10 +151,7 @@ fn filters_16_bits_filter_3(b: &mut Bencher) { let input = test::black_box(PathBuf::from("tests/files/rgb_16_should_be_rgb_16.png")); let png = PngData::new(&input, &Options::default()).unwrap(); - b.iter(|| { - png.raw - .filter_image(FilterStrategy::Basic(RowFilter::Average), false) - }); + b.iter(|| png.raw.filter_image(FilterStrategy::AVERAGE, false)); } #[bench] @@ -207,10 +159,7 @@ fn filters_8_bits_filter_3(b: &mut Bencher) { let input = test::black_box(PathBuf::from("tests/files/rgb_8_should_be_rgb_8.png")); let png = PngData::new(&input, &Options::default()).unwrap(); - b.iter(|| { - png.raw - .filter_image(FilterStrategy::Basic(RowFilter::Average), false) - }); + b.iter(|| png.raw.filter_image(FilterStrategy::AVERAGE, false)); } #[bench] @@ -220,10 +169,7 @@ fn filters_4_bits_filter_3(b: &mut Bencher) { )); let png = PngData::new(&input, &Options::default()).unwrap(); - b.iter(|| { - png.raw - .filter_image(FilterStrategy::Basic(RowFilter::Average), false) - }); + b.iter(|| png.raw.filter_image(FilterStrategy::AVERAGE, false)); } #[bench] @@ -233,10 +179,7 @@ fn filters_2_bits_filter_3(b: &mut Bencher) { )); let png = PngData::new(&input, &Options::default()).unwrap(); - b.iter(|| { - png.raw - .filter_image(FilterStrategy::Basic(RowFilter::Average), false) - }); + b.iter(|| png.raw.filter_image(FilterStrategy::AVERAGE, false)); } #[bench] @@ -246,10 +189,7 @@ fn filters_1_bits_filter_3(b: &mut Bencher) { )); let png = PngData::new(&input, &Options::default()).unwrap(); - b.iter(|| { - png.raw - .filter_image(FilterStrategy::Basic(RowFilter::Average), false) - }); + b.iter(|| png.raw.filter_image(FilterStrategy::AVERAGE, false)); } #[bench] @@ -257,10 +197,7 @@ fn filters_16_bits_filter_4(b: &mut Bencher) { let input = test::black_box(PathBuf::from("tests/files/rgb_16_should_be_rgb_16.png")); let png = PngData::new(&input, &Options::default()).unwrap(); - b.iter(|| { - png.raw - .filter_image(FilterStrategy::Basic(RowFilter::Paeth), false) - }); + b.iter(|| png.raw.filter_image(FilterStrategy::PAETH, false)); } #[bench] @@ -268,10 +205,7 @@ fn filters_8_bits_filter_4(b: &mut Bencher) { let input = test::black_box(PathBuf::from("tests/files/rgb_8_should_be_rgb_8.png")); let png = PngData::new(&input, &Options::default()).unwrap(); - b.iter(|| { - png.raw - .filter_image(FilterStrategy::Basic(RowFilter::Paeth), false) - }); + b.iter(|| png.raw.filter_image(FilterStrategy::PAETH, false)); } #[bench] @@ -281,10 +215,7 @@ fn filters_4_bits_filter_4(b: &mut Bencher) { )); let png = PngData::new(&input, &Options::default()).unwrap(); - b.iter(|| { - png.raw - .filter_image(FilterStrategy::Basic(RowFilter::Paeth), false) - }); + b.iter(|| png.raw.filter_image(FilterStrategy::PAETH, false)); } #[bench] @@ -294,10 +225,7 @@ fn filters_2_bits_filter_4(b: &mut Bencher) { )); let png = PngData::new(&input, &Options::default()).unwrap(); - b.iter(|| { - png.raw - .filter_image(FilterStrategy::Basic(RowFilter::Paeth), false) - }); + b.iter(|| png.raw.filter_image(FilterStrategy::PAETH, false)); } #[bench] @@ -307,10 +235,7 @@ fn filters_1_bits_filter_4(b: &mut Bencher) { )); let png = PngData::new(&input, &Options::default()).unwrap(); - b.iter(|| { - png.raw - .filter_image(FilterStrategy::Basic(RowFilter::Paeth), false) - }); + b.iter(|| png.raw.filter_image(FilterStrategy::PAETH, false)); } #[bench] diff --git a/src/filters.rs b/src/filters.rs index ace81197..10d0af6f 100644 --- a/src/filters.rs +++ b/src/filters.rs @@ -19,6 +19,14 @@ pub enum FilterStrategy { Predefined(Vec), } +impl FilterStrategy { + pub const NONE: Self = Self::Basic(RowFilter::None); + pub const SUB: Self = Self::Basic(RowFilter::Sub); + pub const UP: Self = Self::Basic(RowFilter::Up); + pub const AVERAGE: Self = Self::Basic(RowFilter::Average); + pub const PAETH: Self = Self::Basic(RowFilter::Paeth); +} + impl Display for FilterStrategy { fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { match self { diff --git a/src/lib.rs b/src/lib.rs index 60666a2b..c74c2d16 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -432,7 +432,7 @@ fn optimize_raw( opts.filter.clone() } else { // None and Bigrams work well together, especially for alpha reductions - indexset! {FilterStrategy::Basic(RowFilter::None), FilterStrategy::Bigrams} + indexset! {FilterStrategy::NONE, FilterStrategy::Bigrams} }; // This will collect all versions of images and pick one that compresses best let eval = Evaluator::new( @@ -551,7 +551,7 @@ fn perform_trials( filters.insert(FilterStrategy::Bigrams); } else { // Otherwise delta filters generally don't work well, so just stick with None - filters.insert(FilterStrategy::Basic(RowFilter::None)); + filters.insert(FilterStrategy::NONE); } } diff --git a/src/options.rs b/src/options.rs index 8a297a01..48f30141 100644 --- a/src/options.rs +++ b/src/options.rs @@ -8,10 +8,7 @@ use indexmap::{IndexSet, indexset}; use log::warn; use crate::{ - deflate::Deflaters, - filters::{FilterStrategy, RowFilter}, - headers::StripChunks, - interlace::Interlacing, + deflate::Deflaters, filters::FilterStrategy, headers::StripChunks, interlace::Interlacing, }; /// Write destination for [`optimize`][crate::optimize]. @@ -212,7 +209,7 @@ impl Options { fn apply_preset_3(mut self) -> Self { self.fast_evaluation = false; self.filter = indexset! { - FilterStrategy::Basic(RowFilter::None), + FilterStrategy::NONE, FilterStrategy::Bigrams, FilterStrategy::BigEnt, FilterStrategy::Brute @@ -229,7 +226,7 @@ impl Options { fn apply_preset_5(mut self) -> Self { self.fast_evaluation = false; - self.filter.insert(FilterStrategy::Basic(RowFilter::Up)); + self.filter.insert(FilterStrategy::UP); self.filter.insert(FilterStrategy::MinSum); self.filter.insert(FilterStrategy::BigEnt); self.filter.insert(FilterStrategy::Brute); @@ -240,9 +237,8 @@ impl Options { } fn apply_preset_6(mut self) -> Self { - self.filter - .insert(FilterStrategy::Basic(RowFilter::Average)); - self.filter.insert(FilterStrategy::Basic(RowFilter::Paeth)); + self.filter.insert(FilterStrategy::AVERAGE); + self.filter.insert(FilterStrategy::PAETH); self.apply_preset_5() } } @@ -254,8 +250,8 @@ impl Default for Options { fix_errors: false, force: false, filter: indexset! { - FilterStrategy::Basic(RowFilter::None), - FilterStrategy::Basic(RowFilter::Sub), + FilterStrategy::NONE, + FilterStrategy::SUB, FilterStrategy::Entropy, FilterStrategy::Bigrams }, diff --git a/tests/filters.rs b/tests/filters.rs index 88d0ffe8..3d696360 100644 --- a/tests/filters.rs +++ b/tests/filters.rs @@ -14,7 +14,7 @@ const RGBA: u8 = 6; fn get_opts(input: &Path) -> (OutFile, oxipng::Options) { let options = oxipng::Options { force: true, - filter: indexset! {FilterStrategy::Basic(RowFilter::None)}, + filter: indexset! {FilterStrategy::NONE}, ..Default::default() }; (OutFile::from_path(input.with_extension("out.png")), options) @@ -65,7 +65,7 @@ fn test_it_converts( fn filter_0_for_rgba_16() { test_it_converts( "tests/files/filter_0_for_rgba_16.png", - FilterStrategy::Basic(RowFilter::None), + FilterStrategy::NONE, RGBA, BitDepth::Sixteen, RGBA, @@ -77,7 +77,7 @@ fn filter_0_for_rgba_16() { fn filter_1_for_rgba_16() { test_it_converts( "tests/files/filter_1_for_rgba_16.png", - FilterStrategy::Basic(RowFilter::Sub), + FilterStrategy::SUB, RGBA, BitDepth::Sixteen, RGBA, @@ -89,7 +89,7 @@ fn filter_1_for_rgba_16() { fn filter_2_for_rgba_16() { test_it_converts( "tests/files/filter_2_for_rgba_16.png", - FilterStrategy::Basic(RowFilter::Up), + FilterStrategy::UP, RGBA, BitDepth::Sixteen, RGBA, @@ -101,7 +101,7 @@ fn filter_2_for_rgba_16() { fn filter_3_for_rgba_16() { test_it_converts( "tests/files/filter_3_for_rgba_16.png", - FilterStrategy::Basic(RowFilter::Average), + FilterStrategy::AVERAGE, RGBA, BitDepth::Sixteen, RGBA, @@ -113,7 +113,7 @@ fn filter_3_for_rgba_16() { fn filter_4_for_rgba_16() { test_it_converts( "tests/files/filter_4_for_rgba_16.png", - FilterStrategy::Basic(RowFilter::Paeth), + FilterStrategy::PAETH, RGBA, BitDepth::Sixteen, RGBA, @@ -137,7 +137,7 @@ fn filter_5_for_rgba_16() { fn filter_0_for_rgba_8() { test_it_converts( "tests/files/filter_0_for_rgba_8.png", - FilterStrategy::Basic(RowFilter::None), + FilterStrategy::NONE, RGBA, BitDepth::Eight, RGBA, @@ -149,7 +149,7 @@ fn filter_0_for_rgba_8() { fn filter_1_for_rgba_8() { test_it_converts( "tests/files/filter_1_for_rgba_8.png", - FilterStrategy::Basic(RowFilter::Sub), + FilterStrategy::SUB, RGBA, BitDepth::Eight, RGBA, @@ -161,7 +161,7 @@ fn filter_1_for_rgba_8() { fn filter_2_for_rgba_8() { test_it_converts( "tests/files/filter_2_for_rgba_8.png", - FilterStrategy::Basic(RowFilter::Up), + FilterStrategy::UP, RGBA, BitDepth::Eight, RGBA, @@ -173,7 +173,7 @@ fn filter_2_for_rgba_8() { fn filter_3_for_rgba_8() { test_it_converts( "tests/files/filter_3_for_rgba_8.png", - FilterStrategy::Basic(RowFilter::Average), + FilterStrategy::AVERAGE, RGBA, BitDepth::Eight, RGBA, @@ -185,7 +185,7 @@ fn filter_3_for_rgba_8() { fn filter_4_for_rgba_8() { test_it_converts( "tests/files/filter_4_for_rgba_8.png", - FilterStrategy::Basic(RowFilter::Paeth), + FilterStrategy::PAETH, RGBA, BitDepth::Eight, RGBA, @@ -209,7 +209,7 @@ fn filter_5_for_rgba_8() { fn filter_0_for_rgb_16() { test_it_converts( "tests/files/filter_0_for_rgb_16.png", - FilterStrategy::Basic(RowFilter::None), + FilterStrategy::NONE, RGB, BitDepth::Sixteen, RGB, @@ -221,7 +221,7 @@ fn filter_0_for_rgb_16() { fn filter_1_for_rgb_16() { test_it_converts( "tests/files/filter_1_for_rgb_16.png", - FilterStrategy::Basic(RowFilter::Sub), + FilterStrategy::SUB, RGB, BitDepth::Sixteen, RGB, @@ -233,7 +233,7 @@ fn filter_1_for_rgb_16() { fn filter_2_for_rgb_16() { test_it_converts( "tests/files/filter_2_for_rgb_16.png", - FilterStrategy::Basic(RowFilter::Up), + FilterStrategy::UP, RGB, BitDepth::Sixteen, RGB, @@ -245,7 +245,7 @@ fn filter_2_for_rgb_16() { fn filter_3_for_rgb_16() { test_it_converts( "tests/files/filter_3_for_rgb_16.png", - FilterStrategy::Basic(RowFilter::Average), + FilterStrategy::AVERAGE, RGB, BitDepth::Sixteen, RGB, @@ -257,7 +257,7 @@ fn filter_3_for_rgb_16() { fn filter_4_for_rgb_16() { test_it_converts( "tests/files/filter_4_for_rgb_16.png", - FilterStrategy::Basic(RowFilter::Paeth), + FilterStrategy::PAETH, RGB, BitDepth::Sixteen, RGB, @@ -281,7 +281,7 @@ fn filter_5_for_rgb_16() { fn filter_0_for_rgb_8() { test_it_converts( "tests/files/filter_0_for_rgb_8.png", - FilterStrategy::Basic(RowFilter::None), + FilterStrategy::NONE, RGB, BitDepth::Eight, RGB, @@ -293,7 +293,7 @@ fn filter_0_for_rgb_8() { fn filter_1_for_rgb_8() { test_it_converts( "tests/files/filter_1_for_rgb_8.png", - FilterStrategy::Basic(RowFilter::Sub), + FilterStrategy::SUB, RGB, BitDepth::Eight, RGB, @@ -305,7 +305,7 @@ fn filter_1_for_rgb_8() { fn filter_2_for_rgb_8() { test_it_converts( "tests/files/filter_2_for_rgb_8.png", - FilterStrategy::Basic(RowFilter::Up), + FilterStrategy::UP, RGB, BitDepth::Eight, RGB, @@ -317,7 +317,7 @@ fn filter_2_for_rgb_8() { fn filter_3_for_rgb_8() { test_it_converts( "tests/files/filter_3_for_rgb_8.png", - FilterStrategy::Basic(RowFilter::Average), + FilterStrategy::AVERAGE, RGB, BitDepth::Eight, RGB, @@ -329,7 +329,7 @@ fn filter_3_for_rgb_8() { fn filter_4_for_rgb_8() { test_it_converts( "tests/files/filter_4_for_rgb_8.png", - FilterStrategy::Basic(RowFilter::Paeth), + FilterStrategy::PAETH, RGB, BitDepth::Eight, RGB, @@ -353,7 +353,7 @@ fn filter_5_for_rgb_8() { fn filter_0_for_grayscale_alpha_16() { test_it_converts( "tests/files/filter_0_for_grayscale_alpha_16.png", - FilterStrategy::Basic(RowFilter::None), + FilterStrategy::NONE, GRAYSCALE_ALPHA, BitDepth::Sixteen, GRAYSCALE_ALPHA, @@ -365,7 +365,7 @@ fn filter_0_for_grayscale_alpha_16() { fn filter_1_for_grayscale_alpha_16() { test_it_converts( "tests/files/filter_1_for_grayscale_alpha_16.png", - FilterStrategy::Basic(RowFilter::Sub), + FilterStrategy::SUB, GRAYSCALE_ALPHA, BitDepth::Sixteen, GRAYSCALE_ALPHA, @@ -377,7 +377,7 @@ fn filter_1_for_grayscale_alpha_16() { fn filter_2_for_grayscale_alpha_16() { test_it_converts( "tests/files/filter_2_for_grayscale_alpha_16.png", - FilterStrategy::Basic(RowFilter::Up), + FilterStrategy::UP, GRAYSCALE_ALPHA, BitDepth::Sixteen, GRAYSCALE_ALPHA, @@ -389,7 +389,7 @@ fn filter_2_for_grayscale_alpha_16() { fn filter_3_for_grayscale_alpha_16() { test_it_converts( "tests/files/filter_3_for_grayscale_alpha_16.png", - FilterStrategy::Basic(RowFilter::Average), + FilterStrategy::AVERAGE, GRAYSCALE_ALPHA, BitDepth::Sixteen, GRAYSCALE_ALPHA, @@ -401,7 +401,7 @@ fn filter_3_for_grayscale_alpha_16() { fn filter_4_for_grayscale_alpha_16() { test_it_converts( "tests/files/filter_4_for_grayscale_alpha_16.png", - FilterStrategy::Basic(RowFilter::Paeth), + FilterStrategy::PAETH, GRAYSCALE_ALPHA, BitDepth::Sixteen, GRAYSCALE_ALPHA, @@ -425,7 +425,7 @@ fn filter_5_for_grayscale_alpha_16() { fn filter_0_for_grayscale_alpha_8() { test_it_converts( "tests/files/filter_0_for_grayscale_alpha_8.png", - FilterStrategy::Basic(RowFilter::None), + FilterStrategy::NONE, GRAYSCALE_ALPHA, BitDepth::Eight, GRAYSCALE_ALPHA, @@ -437,7 +437,7 @@ fn filter_0_for_grayscale_alpha_8() { fn filter_1_for_grayscale_alpha_8() { test_it_converts( "tests/files/filter_1_for_grayscale_alpha_8.png", - FilterStrategy::Basic(RowFilter::Sub), + FilterStrategy::SUB, GRAYSCALE_ALPHA, BitDepth::Eight, GRAYSCALE_ALPHA, @@ -449,7 +449,7 @@ fn filter_1_for_grayscale_alpha_8() { fn filter_2_for_grayscale_alpha_8() { test_it_converts( "tests/files/filter_2_for_grayscale_alpha_8.png", - FilterStrategy::Basic(RowFilter::Up), + FilterStrategy::UP, GRAYSCALE_ALPHA, BitDepth::Eight, GRAYSCALE_ALPHA, @@ -461,7 +461,7 @@ fn filter_2_for_grayscale_alpha_8() { fn filter_3_for_grayscale_alpha_8() { test_it_converts( "tests/files/filter_3_for_grayscale_alpha_8.png", - FilterStrategy::Basic(RowFilter::Average), + FilterStrategy::AVERAGE, GRAYSCALE_ALPHA, BitDepth::Eight, GRAYSCALE_ALPHA, @@ -473,7 +473,7 @@ fn filter_3_for_grayscale_alpha_8() { fn filter_4_for_grayscale_alpha_8() { test_it_converts( "tests/files/filter_4_for_grayscale_alpha_8.png", - FilterStrategy::Basic(RowFilter::Paeth), + FilterStrategy::PAETH, GRAYSCALE_ALPHA, BitDepth::Eight, GRAYSCALE_ALPHA, @@ -497,7 +497,7 @@ fn filter_5_for_grayscale_alpha_8() { fn filter_0_for_grayscale_16() { test_it_converts( "tests/files/filter_0_for_grayscale_16.png", - FilterStrategy::Basic(RowFilter::None), + FilterStrategy::NONE, GRAYSCALE, BitDepth::Sixteen, GRAYSCALE, @@ -509,7 +509,7 @@ fn filter_0_for_grayscale_16() { fn filter_1_for_grayscale_16() { test_it_converts( "tests/files/filter_1_for_grayscale_16.png", - FilterStrategy::Basic(RowFilter::Sub), + FilterStrategy::SUB, GRAYSCALE, BitDepth::Sixteen, GRAYSCALE, @@ -521,7 +521,7 @@ fn filter_1_for_grayscale_16() { fn filter_2_for_grayscale_16() { test_it_converts( "tests/files/filter_2_for_grayscale_16.png", - FilterStrategy::Basic(RowFilter::Up), + FilterStrategy::UP, GRAYSCALE, BitDepth::Sixteen, GRAYSCALE, @@ -533,7 +533,7 @@ fn filter_2_for_grayscale_16() { fn filter_3_for_grayscale_16() { test_it_converts( "tests/files/filter_3_for_grayscale_16.png", - FilterStrategy::Basic(RowFilter::Average), + FilterStrategy::AVERAGE, GRAYSCALE, BitDepth::Sixteen, GRAYSCALE, @@ -545,7 +545,7 @@ fn filter_3_for_grayscale_16() { fn filter_4_for_grayscale_16() { test_it_converts( "tests/files/filter_4_for_grayscale_16.png", - FilterStrategy::Basic(RowFilter::Paeth), + FilterStrategy::PAETH, GRAYSCALE, BitDepth::Sixteen, GRAYSCALE, @@ -569,7 +569,7 @@ fn filter_5_for_grayscale_16() { fn filter_0_for_grayscale_8() { test_it_converts( "tests/files/filter_0_for_grayscale_8.png", - FilterStrategy::Basic(RowFilter::None), + FilterStrategy::NONE, GRAYSCALE, BitDepth::Eight, GRAYSCALE, @@ -581,7 +581,7 @@ fn filter_0_for_grayscale_8() { fn filter_1_for_grayscale_8() { test_it_converts( "tests/files/filter_1_for_grayscale_8.png", - FilterStrategy::Basic(RowFilter::Sub), + FilterStrategy::SUB, GRAYSCALE, BitDepth::Eight, GRAYSCALE, @@ -593,7 +593,7 @@ fn filter_1_for_grayscale_8() { fn filter_2_for_grayscale_8() { test_it_converts( "tests/files/filter_2_for_grayscale_8.png", - FilterStrategy::Basic(RowFilter::Up), + FilterStrategy::UP, GRAYSCALE, BitDepth::Eight, GRAYSCALE, @@ -605,7 +605,7 @@ fn filter_2_for_grayscale_8() { fn filter_3_for_grayscale_8() { test_it_converts( "tests/files/filter_3_for_grayscale_8.png", - FilterStrategy::Basic(RowFilter::Average), + FilterStrategy::AVERAGE, GRAYSCALE, BitDepth::Eight, GRAYSCALE, @@ -617,7 +617,7 @@ fn filter_3_for_grayscale_8() { fn filter_4_for_grayscale_8() { test_it_converts( "tests/files/filter_4_for_grayscale_8.png", - FilterStrategy::Basic(RowFilter::Paeth), + FilterStrategy::PAETH, GRAYSCALE, BitDepth::Eight, GRAYSCALE, @@ -641,7 +641,7 @@ fn filter_5_for_grayscale_8() { fn filter_0_for_palette_4() { test_it_converts( "tests/files/filter_0_for_palette_4.png", - FilterStrategy::Basic(RowFilter::None), + FilterStrategy::NONE, INDEXED, BitDepth::Four, INDEXED, @@ -653,7 +653,7 @@ fn filter_0_for_palette_4() { fn filter_1_for_palette_4() { test_it_converts( "tests/files/filter_1_for_palette_4.png", - FilterStrategy::Basic(RowFilter::Sub), + FilterStrategy::SUB, INDEXED, BitDepth::Four, INDEXED, @@ -665,7 +665,7 @@ fn filter_1_for_palette_4() { fn filter_2_for_palette_4() { test_it_converts( "tests/files/filter_2_for_palette_4.png", - FilterStrategy::Basic(RowFilter::Up), + FilterStrategy::UP, INDEXED, BitDepth::Four, INDEXED, @@ -677,7 +677,7 @@ fn filter_2_for_palette_4() { fn filter_3_for_palette_4() { test_it_converts( "tests/files/filter_3_for_palette_4.png", - FilterStrategy::Basic(RowFilter::Average), + FilterStrategy::AVERAGE, INDEXED, BitDepth::Four, INDEXED, @@ -689,7 +689,7 @@ fn filter_3_for_palette_4() { fn filter_4_for_palette_4() { test_it_converts( "tests/files/filter_4_for_palette_4.png", - FilterStrategy::Basic(RowFilter::Paeth), + FilterStrategy::PAETH, INDEXED, BitDepth::Four, INDEXED, @@ -713,7 +713,7 @@ fn filter_5_for_palette_4() { fn filter_0_for_palette_2() { test_it_converts( "tests/files/filter_0_for_palette_2.png", - FilterStrategy::Basic(RowFilter::None), + FilterStrategy::NONE, INDEXED, BitDepth::Two, INDEXED, @@ -725,7 +725,7 @@ fn filter_0_for_palette_2() { fn filter_1_for_palette_2() { test_it_converts( "tests/files/filter_1_for_palette_2.png", - FilterStrategy::Basic(RowFilter::Sub), + FilterStrategy::SUB, INDEXED, BitDepth::Two, INDEXED, @@ -737,7 +737,7 @@ fn filter_1_for_palette_2() { fn filter_2_for_palette_2() { test_it_converts( "tests/files/filter_2_for_palette_2.png", - FilterStrategy::Basic(RowFilter::Up), + FilterStrategy::UP, INDEXED, BitDepth::Two, INDEXED, @@ -749,7 +749,7 @@ fn filter_2_for_palette_2() { fn filter_3_for_palette_2() { test_it_converts( "tests/files/filter_3_for_palette_2.png", - FilterStrategy::Basic(RowFilter::Average), + FilterStrategy::AVERAGE, INDEXED, BitDepth::Two, INDEXED, @@ -761,7 +761,7 @@ fn filter_3_for_palette_2() { fn filter_4_for_palette_2() { test_it_converts( "tests/files/filter_4_for_palette_2.png", - FilterStrategy::Basic(RowFilter::Paeth), + FilterStrategy::PAETH, INDEXED, BitDepth::Two, INDEXED, @@ -785,7 +785,7 @@ fn filter_5_for_palette_2() { fn filter_0_for_palette_1() { test_it_converts( "tests/files/filter_0_for_palette_1.png", - FilterStrategy::Basic(RowFilter::None), + FilterStrategy::NONE, INDEXED, BitDepth::One, INDEXED, @@ -797,7 +797,7 @@ fn filter_0_for_palette_1() { fn filter_1_for_palette_1() { test_it_converts( "tests/files/filter_1_for_palette_1.png", - FilterStrategy::Basic(RowFilter::Sub), + FilterStrategy::SUB, INDEXED, BitDepth::One, INDEXED, @@ -809,7 +809,7 @@ fn filter_1_for_palette_1() { fn filter_2_for_palette_1() { test_it_converts( "tests/files/filter_2_for_palette_1.png", - FilterStrategy::Basic(RowFilter::Up), + FilterStrategy::UP, INDEXED, BitDepth::One, INDEXED, @@ -821,7 +821,7 @@ fn filter_2_for_palette_1() { fn filter_3_for_palette_1() { test_it_converts( "tests/files/filter_3_for_palette_1.png", - FilterStrategy::Basic(RowFilter::Average), + FilterStrategy::AVERAGE, INDEXED, BitDepth::One, INDEXED, @@ -833,7 +833,7 @@ fn filter_3_for_palette_1() { fn filter_4_for_palette_1() { test_it_converts( "tests/files/filter_4_for_palette_1.png", - FilterStrategy::Basic(RowFilter::Paeth), + FilterStrategy::PAETH, INDEXED, BitDepth::One, INDEXED, diff --git a/tests/flags.rs b/tests/flags.rs index e06d0e23..4baa619b 100644 --- a/tests/flags.rs +++ b/tests/flags.rs @@ -16,7 +16,7 @@ fn get_opts(input: &Path) -> (OutFile, Options) { let options = Options { force: true, fast_evaluation: false, - filter: indexset! {FilterStrategy::Basic(RowFilter::None)}, + filter: indexset! {FilterStrategy::NONE}, ..Default::default() }; (OutFile::from_path(input.with_extension("out.png")), options) @@ -409,7 +409,7 @@ fn interlaced_0_to_1_other_filter_mode() { let input = PathBuf::from("tests/files/interlaced_0_to_1_other_filter_mode.png"); let (output, mut opts) = get_opts(&input); opts.interlace = Some(Interlacing::Adam7); - opts.filter = indexset! {FilterStrategy::Basic(RowFilter::Paeth)}; + opts.filter = indexset! {FilterStrategy::PAETH}; test_it_converts_callbacks( input, diff --git a/tests/interlaced.rs b/tests/interlaced.rs index 5707d2b1..b9007d9b 100644 --- a/tests/interlaced.rs +++ b/tests/interlaced.rs @@ -15,7 +15,7 @@ fn get_opts(input: &Path) -> (OutFile, oxipng::Options) { let options = oxipng::Options { force: true, fast_evaluation: false, - filter: indexset! {FilterStrategy::Basic(RowFilter::None)}, + filter: indexset! {FilterStrategy::NONE}, interlace: None, ..Default::default() }; diff --git a/tests/interlacing.rs b/tests/interlacing.rs index 7e24b1b1..ea7fd5a9 100644 --- a/tests/interlacing.rs +++ b/tests/interlacing.rs @@ -11,7 +11,7 @@ const INDEXED: u8 = 3; fn get_opts(input: &Path) -> (OutFile, oxipng::Options) { let options = oxipng::Options { force: true, - filter: indexset! {FilterStrategy::Basic(RowFilter::None)}, + filter: indexset! {FilterStrategy::NONE}, ..Default::default() }; (OutFile::from_path(input.with_extension("out.png")), options) diff --git a/tests/raw.rs b/tests/raw.rs index 59694529..d50a58e1 100644 --- a/tests/raw.rs +++ b/tests/raw.rs @@ -5,7 +5,7 @@ use oxipng::{internal_tests::*, *}; fn get_opts() -> Options { Options { force: true, - filter: indexset! {FilterStrategy::Basic(RowFilter::None)}, + filter: indexset! {FilterStrategy::NONE}, ..Default::default() } } diff --git a/tests/reduction.rs b/tests/reduction.rs index d81dae36..6ba3236d 100644 --- a/tests/reduction.rs +++ b/tests/reduction.rs @@ -15,7 +15,7 @@ fn get_opts(input: &Path) -> (OutFile, oxipng::Options) { let options = oxipng::Options { force: true, fast_evaluation: false, - filter: indexset! {FilterStrategy::Basic(RowFilter::None)}, + filter: indexset! {FilterStrategy::NONE}, ..Default::default() }; (OutFile::from_path(input.with_extension("out.png")), options) diff --git a/tests/regression.rs b/tests/regression.rs index 6caba8c9..89756c29 100644 --- a/tests/regression.rs +++ b/tests/regression.rs @@ -14,7 +14,7 @@ const RGBA: u8 = 6; fn get_opts(input: &Path) -> (OutFile, oxipng::Options) { let options = oxipng::Options { force: true, - filter: indexset! {FilterStrategy::Basic(RowFilter::None)}, + filter: indexset! {FilterStrategy::NONE}, ..Default::default() }; (OutFile::from_path(input.with_extension("out.png")), options)