oxipng/tests/files
andrews05 b883c660fc
Additional palette sorting algorithm (#514)
This adds a new palette sorting algorithm that attempts to minimise
entropy by an approximate solution to the Traveling Salesman Problem.
The algorithm comes from "An efficient Re-indexing algorithm for
color-mapped images" by Battiato et al
(https://ieeexplore.ieee.org/document/1344033).
It's fast and effective and works in addition to the luma sort (which
remains the single most effective sort). In order to keep lower presets
fast though, I've only enabled this for o3 and higher.

Results on a set of 190 indexed images at `-o5`:
18,932,727 bytes - master
18,578,306 bytes - PR
18,559,863 bytes - PR + #509
(These images may be particularly suited to alternative sorting methods
- the gains here are not necessarily what should be expected on average)

Note I looked into the 120 different palette sorting methods from
TruePNG, as mentioned in #74 (and seen in action in the Zopfli KrzYmod
fork). They're... largely ineffective. The combination of all 120
methods are outperformed by just the existing luma sort plus this new
one. That's not to say there's nothing further to be gained from them,
but trying to brute force all the combinations definitely seems like a
bad idea. There are other algorithms I hope to explore in future...

@ace-dent Thought this might interest you


UPDATE: I realised a quick tweak to alpha values in the luma sort can
provide a great improvement on images with transparency. The following
numbers were taken with PR #509 as base.
`-o2`:
19,065,549 bytes - base (luma sort)
18,949,747 bytes - modified luma sort

`-o5`:
18,922,165 bytes - base (luma sort)
18,559,863 bytes - new sorting algorithm + luma sort
18,544,813 bytes - new sorting algorithm + modified luma sort
2023-07-11 12:33:57 -04:00
..
apng_file.png Return an error when an APNG header is encountered 2017-09-30 23:50:52 +02:00
badsrgb.png Identify and drop useless sRGB profiles (#143) 2018-11-13 14:37:02 -05:00
corrupted_header.png Add support for optimizing PNGs loaded in-memory. 2016-05-05 07:54:52 -04:00
filter_0_for_grayscale_8.png Ensure each test has its own file 2016-03-03 14:55:37 -05:00
filter_0_for_grayscale_16.png Ensure each test has its own file 2016-03-03 14:55:37 -05:00
filter_0_for_grayscale_alpha_8.png Ensure each test has its own file 2016-03-03 14:55:37 -05:00
filter_0_for_grayscale_alpha_16.png Ensure each test has its own file 2016-03-03 14:55:37 -05:00
filter_0_for_palette_1.png Ensure each test has its own file 2016-03-03 14:55:37 -05:00
filter_0_for_palette_2.png Ensure each test has its own file 2016-03-03 14:55:37 -05:00
filter_0_for_palette_4.png Ensure each test has its own file 2016-03-03 14:55:37 -05:00
filter_0_for_rgb_8.png Ensure each test has its own file 2016-03-03 14:55:37 -05:00
filter_0_for_rgb_16.png Ensure each test has its own file 2016-03-03 14:55:37 -05:00
filter_0_for_rgba_8.png Ensure each test has its own file 2016-03-03 14:55:37 -05:00
filter_0_for_rgba_16.png Ensure each test has its own file 2016-03-03 14:55:37 -05:00
filter_1_for_grayscale_8.png Ensure each test has its own file 2016-03-03 14:55:37 -05:00
filter_1_for_grayscale_16.png Ensure each test has its own file 2016-03-03 14:55:37 -05:00
filter_1_for_grayscale_alpha_8.png Ensure each test has its own file 2016-03-03 14:55:37 -05:00
filter_1_for_grayscale_alpha_16.png Ensure each test has its own file 2016-03-03 14:55:37 -05:00
filter_1_for_palette_1.png Ensure each test has its own file 2016-03-03 14:55:37 -05:00
filter_1_for_palette_2.png Ensure each test has its own file 2016-03-03 14:55:37 -05:00
filter_1_for_palette_4.png Ensure each test has its own file 2016-03-03 14:55:37 -05:00
filter_1_for_rgb_8.png Ensure each test has its own file 2016-03-03 14:55:37 -05:00
filter_1_for_rgb_16.png Ensure each test has its own file 2016-03-03 14:55:37 -05:00
filter_1_for_rgba_8.png Ensure each test has its own file 2016-03-03 14:55:37 -05:00
filter_1_for_rgba_16.png Ensure each test has its own file 2016-03-03 14:55:37 -05:00
filter_2_for_grayscale_8.png Ensure each test has its own file 2016-03-03 14:55:37 -05:00
filter_2_for_grayscale_16.png Ensure each test has its own file 2016-03-03 14:55:37 -05:00
filter_2_for_grayscale_alpha_8.png Ensure each test has its own file 2016-03-03 14:55:37 -05:00
filter_2_for_grayscale_alpha_16.png Ensure each test has its own file 2016-03-03 14:55:37 -05:00
filter_2_for_palette_1.png Ensure each test has its own file 2016-03-03 14:55:37 -05:00
filter_2_for_palette_2.png Ensure each test has its own file 2016-03-03 14:55:37 -05:00
filter_2_for_palette_4.png Ensure each test has its own file 2016-03-03 14:55:37 -05:00
filter_2_for_rgb_8.png Ensure each test has its own file 2016-03-03 14:55:37 -05:00
filter_2_for_rgb_16.png Ensure each test has its own file 2016-03-03 14:55:37 -05:00
filter_2_for_rgba_8.png Ensure each test has its own file 2016-03-03 14:55:37 -05:00
filter_2_for_rgba_16.png Ensure each test has its own file 2016-03-03 14:55:37 -05:00
filter_3_for_grayscale_8.png Ensure each test has its own file 2016-03-03 14:55:37 -05:00
filter_3_for_grayscale_16.png Ensure each test has its own file 2016-03-03 14:55:37 -05:00
filter_3_for_grayscale_alpha_8.png Ensure each test has its own file 2016-03-03 14:55:37 -05:00
filter_3_for_grayscale_alpha_16.png Ensure each test has its own file 2016-03-03 14:55:37 -05:00
filter_3_for_palette_1.png Ensure each test has its own file 2016-03-03 14:55:37 -05:00
filter_3_for_palette_2.png Ensure each test has its own file 2016-03-03 14:55:37 -05:00
filter_3_for_palette_4.png Ensure each test has its own file 2016-03-03 14:55:37 -05:00
filter_3_for_rgb_8.png Ensure each test has its own file 2016-03-03 14:55:37 -05:00
filter_3_for_rgb_16.png Ensure each test has its own file 2016-03-03 14:55:37 -05:00
filter_3_for_rgba_8.png Ensure each test has its own file 2016-03-03 14:55:37 -05:00
filter_3_for_rgba_16.png Ensure each test has its own file 2016-03-03 14:55:37 -05:00
filter_4_for_grayscale_8.png Ensure each test has its own file 2016-03-03 14:55:37 -05:00
filter_4_for_grayscale_16.png Ensure each test has its own file 2016-03-03 14:55:37 -05:00
filter_4_for_grayscale_alpha_8.png Ensure each test has its own file 2016-03-03 14:55:37 -05:00
filter_4_for_grayscale_alpha_16.png Ensure each test has its own file 2016-03-03 14:55:37 -05:00
filter_4_for_palette_1.png Ensure each test has its own file 2016-03-03 14:55:37 -05:00
filter_4_for_palette_2.png Ensure each test has its own file 2016-03-03 14:55:37 -05:00
filter_4_for_palette_4.png Ensure each test has its own file 2016-03-03 14:55:37 -05:00
filter_4_for_rgb_8.png Ensure each test has its own file 2016-03-03 14:55:37 -05:00
filter_4_for_rgb_16.png Ensure each test has its own file 2016-03-03 14:55:37 -05:00
filter_4_for_rgba_8.png Ensure each test has its own file 2016-03-03 14:55:37 -05:00
filter_4_for_rgba_16.png Ensure each test has its own file 2016-03-03 14:55:37 -05:00
filter_5_for_grayscale_8.png Ensure each test has its own file 2016-03-03 14:55:37 -05:00
filter_5_for_grayscale_16.png Ensure each test has its own file 2016-03-03 14:55:37 -05:00
filter_5_for_grayscale_alpha_8.png Ensure each test has its own file 2016-03-03 14:55:37 -05:00
filter_5_for_grayscale_alpha_16.png Ensure each test has its own file 2016-03-03 14:55:37 -05:00
filter_5_for_palette_1.png Ensure each test has its own file 2016-03-03 14:55:37 -05:00
filter_5_for_palette_2.png Ensure each test has its own file 2016-03-03 14:55:37 -05:00
filter_5_for_palette_4.png Ensure each test has its own file 2016-03-03 14:55:37 -05:00
filter_5_for_rgb_8.png Ensure each test has its own file 2016-03-03 14:55:37 -05:00
filter_5_for_rgb_16.png Ensure each test has its own file 2016-03-03 14:55:37 -05:00
filter_5_for_rgba_8.png Ensure each test has its own file 2016-03-03 14:55:37 -05:00
filter_5_for_rgba_16.png Ensure each test has its own file 2016-03-03 14:55:37 -05:00
fix_errors.png Implement --fix to fix CRC errors in PNG block headers 2016-05-02 09:25:48 -04:00
fully_optimized.png Add support for optimizing PNGs loaded in-memory. 2016-05-05 07:54:52 -04:00
grayscale_2_should_be_grayscale_1.png Faster reductions (#479) 2022-12-22 16:56:36 -05:00
grayscale_4_should_be_grayscale_1.png Faster reductions (#479) 2022-12-22 16:56:36 -05:00
grayscale_4_should_be_grayscale_2.png Faster reductions (#479) 2022-12-22 16:56:36 -05:00
grayscale_8_should_be_grayscale_1.png Faster reductions (#479) 2022-12-22 16:56:36 -05:00
grayscale_8_should_be_grayscale_2.png Faster reductions (#479) 2022-12-22 16:56:36 -05:00
grayscale_8_should_be_grayscale_4.png Further small reduction improvements (#504) 2023-05-16 20:53:05 -04:00
grayscale_8_should_be_grayscale_8.png Fix all bit depth and color reduction tests 2016-03-02 12:40:56 -05:00
grayscale_8_should_be_palette_1.png Fix all bit depth and color reduction tests 2016-03-02 12:40:56 -05:00
grayscale_8_should_be_palette_2.png Fix all bit depth and color reduction tests 2016-03-02 12:40:56 -05:00
grayscale_8_should_be_palette_4.png Use stronger compression in eval (#509) 2023-07-08 18:54:58 -04:00
grayscale_8_should_be_palette_8.png Further small reduction improvements (#504) 2023-05-16 20:53:05 -04:00
grayscale_16_should_be_grayscale_1.png Minor reduction improvements (#502) 2023-05-07 17:46:58 -04:00
grayscale_16_should_be_grayscale_8.png Fix all bit depth and color reduction tests 2016-03-02 12:40:56 -05:00
grayscale_16_should_be_grayscale_16.png Fix all bit depth and color reduction tests 2016-03-02 12:40:56 -05:00
grayscale_alpha_8_reduce_alpha.png 🚀 Revamp alpha optimisation (#475) 2022-12-10 21:14:50 -05:00
grayscale_alpha_8_should_be_grayscale_8.png Fix all bit depth and color reduction tests 2016-03-02 12:40:56 -05:00
grayscale_alpha_8_should_be_grayscale_alpha_8.png Fix all bit depth and color reduction tests 2016-03-02 12:40:56 -05:00
grayscale_alpha_8_should_be_grayscale_trns_1.png Try to pick tRNS value that's valid at low depth (#520) 2023-07-07 20:56:15 -04:00
grayscale_alpha_8_should_be_grayscale_trns_8.png Reduce alpha to tRNS (#477) 2022-12-13 15:18:19 -05:00
grayscale_alpha_16_reduce_alpha.png 🚀 Revamp alpha optimisation (#475) 2022-12-10 21:14:50 -05:00
grayscale_alpha_16_should_be_grayscale_8.png Fix all bit depth and color reduction tests 2016-03-02 12:40:56 -05:00
grayscale_alpha_16_should_be_grayscale_16.png Fix all bit depth and color reduction tests 2016-03-02 12:40:56 -05:00
grayscale_alpha_16_should_be_grayscale_alpha_8.png Fix all bit depth and color reduction tests 2016-03-02 12:40:56 -05:00
grayscale_alpha_16_should_be_grayscale_alpha_16.png Fix all bit depth and color reduction tests 2016-03-02 12:40:56 -05:00
grayscale_alpha_16_should_be_grayscale_trns_16.png Reduce alpha to tRNS (#477) 2022-12-13 15:18:19 -05:00
interlaced_0_to_1_other_filter_mode.png Update crates and fix interlacing issue 2016-04-08 13:37:00 -04:00
interlaced_grayscale_8_should_be_grayscale_8.png Work on implementing interlacing [ci skip] 2016-03-29 22:44:21 -04:00
interlaced_grayscale_16_should_be_grayscale_8.png Work on implementing interlacing [ci skip] 2016-03-29 22:44:21 -04:00
interlaced_grayscale_16_should_be_grayscale_16.png Work on implementing interlacing [ci skip] 2016-03-29 22:44:21 -04:00
interlaced_grayscale_alpha_8_should_be_grayscale_8.png Work on implementing interlacing [ci skip] 2016-03-29 22:44:21 -04:00
interlaced_grayscale_alpha_8_should_be_grayscale_alpha_8.png Work on implementing interlacing [ci skip] 2016-03-29 22:44:21 -04:00
interlaced_grayscale_alpha_16_should_be_grayscale_8.png Work on implementing interlacing [ci skip] 2016-03-29 22:44:21 -04:00
interlaced_grayscale_alpha_16_should_be_grayscale_16.png Work on implementing interlacing [ci skip] 2016-03-29 22:44:21 -04:00
interlaced_grayscale_alpha_16_should_be_grayscale_alpha_8.png Work on implementing interlacing [ci skip] 2016-03-29 22:44:21 -04:00
interlaced_grayscale_alpha_16_should_be_grayscale_alpha_16.png Work on implementing interlacing [ci skip] 2016-03-29 22:44:21 -04:00
interlaced_odd_width.png Fix bug where interlaced images with certain widths would fail to optimize 2016-05-13 22:11:45 -04:00
interlaced_palette_1_should_be_palette_1.png Work on implementing interlacing [ci skip] 2016-03-29 22:44:21 -04:00
interlaced_palette_2_should_be_palette_1.png Work on implementing interlacing [ci skip] 2016-03-29 22:44:21 -04:00
interlaced_palette_2_should_be_palette_2.png Work on implementing interlacing [ci skip] 2016-03-29 22:44:21 -04:00
interlaced_palette_4_should_be_palette_1.png Work on implementing interlacing [ci skip] 2016-03-29 22:44:21 -04:00
interlaced_palette_4_should_be_palette_2.png Work on implementing interlacing [ci skip] 2016-03-29 22:44:21 -04:00
interlaced_palette_4_should_be_palette_4.png Work on implementing interlacing [ci skip] 2016-03-29 22:44:21 -04:00
interlaced_palette_8_should_be_grayscale_8.png Additional palette sorting algorithm (#514) 2023-07-11 12:33:57 -04:00
interlaced_palette_8_should_be_palette_1.png Work on implementing interlacing [ci skip] 2016-03-29 22:44:21 -04:00
interlaced_palette_8_should_be_palette_2.png Work on implementing interlacing [ci skip] 2016-03-29 22:44:21 -04:00
interlaced_palette_8_should_be_palette_4.png Work on implementing interlacing [ci skip] 2016-03-29 22:44:21 -04:00
interlaced_palette_8_should_be_palette_8.png Work on implementing interlacing [ci skip] 2016-03-29 22:44:21 -04:00
interlaced_rgb_8_should_be_grayscale_8.png Work on implementing interlacing [ci skip] 2016-03-29 22:44:21 -04:00
interlaced_rgb_8_should_be_palette_1.png Work on implementing interlacing [ci skip] 2016-03-29 22:44:21 -04:00
interlaced_rgb_8_should_be_palette_2.png Work on implementing interlacing [ci skip] 2016-03-29 22:44:21 -04:00
interlaced_rgb_8_should_be_palette_4.png Work on implementing interlacing [ci skip] 2016-03-29 22:44:21 -04:00
interlaced_rgb_8_should_be_palette_8.png Work on implementing interlacing [ci skip] 2016-03-29 22:44:21 -04:00
interlaced_rgb_8_should_be_rgb_8.png Work on implementing interlacing [ci skip] 2016-03-29 22:44:21 -04:00
interlaced_rgb_16_should_be_grayscale_8.png Work on implementing interlacing [ci skip] 2016-03-29 22:44:21 -04:00
interlaced_rgb_16_should_be_grayscale_16.png Work on implementing interlacing [ci skip] 2016-03-29 22:44:21 -04:00
interlaced_rgb_16_should_be_palette_1.png Work on implementing interlacing [ci skip] 2016-03-29 22:44:21 -04:00
interlaced_rgb_16_should_be_palette_2.png Work on implementing interlacing [ci skip] 2016-03-29 22:44:21 -04:00
interlaced_rgb_16_should_be_palette_4.png Work on implementing interlacing [ci skip] 2016-03-29 22:44:21 -04:00
interlaced_rgb_16_should_be_palette_8.png Work on implementing interlacing [ci skip] 2016-03-29 22:44:21 -04:00
interlaced_rgb_16_should_be_rgb_8.png Work on implementing interlacing [ci skip] 2016-03-29 22:44:21 -04:00
interlaced_rgb_16_should_be_rgb_16.png Work on implementing interlacing [ci skip] 2016-03-29 22:44:21 -04:00
interlaced_rgba_8_should_be_grayscale_8.png Work on implementing interlacing [ci skip] 2016-03-29 22:44:21 -04:00
interlaced_rgba_8_should_be_grayscale_alpha_8.png Work on implementing interlacing [ci skip] 2016-03-29 22:44:21 -04:00
interlaced_rgba_8_should_be_palette_1.png Work on implementing interlacing [ci skip] 2016-03-29 22:44:21 -04:00
interlaced_rgba_8_should_be_palette_2.png Work on implementing interlacing [ci skip] 2016-03-29 22:44:21 -04:00
interlaced_rgba_8_should_be_palette_4.png Work on implementing interlacing [ci skip] 2016-03-29 22:44:21 -04:00
interlaced_rgba_8_should_be_palette_8.png Work on implementing interlacing [ci skip] 2016-03-29 22:44:21 -04:00
interlaced_rgba_8_should_be_rgb_8.png Work on implementing interlacing [ci skip] 2016-03-29 22:44:21 -04:00
interlaced_rgba_8_should_be_rgba_8.png Work on implementing interlacing [ci skip] 2016-03-29 22:44:21 -04:00
interlaced_rgba_16_should_be_grayscale_8.png Work on implementing interlacing [ci skip] 2016-03-29 22:44:21 -04:00
interlaced_rgba_16_should_be_grayscale_16.png Work on implementing interlacing [ci skip] 2016-03-29 22:44:21 -04:00
interlaced_rgba_16_should_be_grayscale_alpha_8.png Work on implementing interlacing [ci skip] 2016-03-29 22:44:21 -04:00
interlaced_rgba_16_should_be_grayscale_alpha_16.png Work on implementing interlacing [ci skip] 2016-03-29 22:44:21 -04:00
interlaced_rgba_16_should_be_palette_1.png Work on implementing interlacing [ci skip] 2016-03-29 22:44:21 -04:00
interlaced_rgba_16_should_be_palette_2.png Work on implementing interlacing [ci skip] 2016-03-29 22:44:21 -04:00
interlaced_rgba_16_should_be_palette_4.png Work on implementing interlacing [ci skip] 2016-03-29 22:44:21 -04:00
interlaced_rgba_16_should_be_palette_8.png Work on implementing interlacing [ci skip] 2016-03-29 22:44:21 -04:00
interlaced_rgba_16_should_be_rgb_8.png Work on implementing interlacing [ci skip] 2016-03-29 22:44:21 -04:00
interlaced_rgba_16_should_be_rgb_16.png Work on implementing interlacing [ci skip] 2016-03-29 22:44:21 -04:00
interlaced_rgba_16_should_be_rgba_8.png Work on implementing interlacing [ci skip] 2016-03-29 22:44:21 -04:00
interlaced_rgba_16_should_be_rgba_16.png Work on implementing interlacing [ci skip] 2016-03-29 22:44:21 -04:00
interlaced_small_files.png Work on implementing interlacing [ci skip] 2016-03-29 22:44:21 -04:00
interlacing_0_to_1.png Work on implementing interlacing [ci skip] 2016-03-29 22:44:21 -04:00
interlacing_0_to_1_small_files.png Support interlaced files and allow conversion between interlaced and progressive files 2016-04-04 16:07:46 -04:00
interlacing_1_to_0.png Work on implementing interlacing [ci skip] 2016-03-29 22:44:21 -04:00
interlacing_1_to_0_small_files.png Support interlaced files and allow conversion between interlaced and progressive files 2016-04-04 16:07:46 -04:00
issue-29.png Add test for failing edge-case images with subtitles 2016-03-10 14:49:00 -05:00
issue-52-01.png Reduce certain headers when reducing color type 2016-12-12 09:57:18 -05:00
issue-52-02.png Reduce certain headers when reducing color type 2016-12-12 09:57:18 -05:00
issue-52-03.png Reduce certain headers when reducing color type 2016-12-12 09:57:18 -05:00
issue-52-04.png Reduce certain headers when reducing color type 2016-12-12 09:57:18 -05:00
issue-52-05.png Reduce certain headers when reducing color type 2016-12-12 09:57:18 -05:00
issue-52-06.png Reduce certain headers when reducing color type 2016-12-12 09:57:18 -05:00
issue-56.png Fix two bugs in reducing palette and release version 0.14.2 2017-02-22 15:45:46 -05:00
issue-58.png Fix issues in transparency palette reduction and release version 0.14.3 2017-02-25 23:33:55 -05:00
issue-59.png Version 0.14.4 2017-02-26 22:53:23 -05:00
issue-60.png Verify images are correct before outputting them, and fix a bug in certain images 2017-03-06 20:16:28 -05:00
issue-80.png Fix a bug in reducing palettes with a bit depth of two 2017-09-10 23:26:39 -04:00
issue-82.png Fix a bug in palette reduction at less than 8 bits per pixel 2017-09-11 18:27:28 -04:00
issue-89.png Fix failure to optimize on certain grayscale images 2017-11-21 12:38:33 -05:00
issue-92.png Fix unfiltering of first scan line in each pass of an interlaced input file 2017-12-23 00:36:41 -05:00
issue-113.png Fix issue with alpha optim on interlaced images 2018-07-27 23:03:36 -04:00
issue-129.png Fix RGB to Indexed reduction if transparency pixel exists 2018-08-11 23:33:55 -04:00
issue-133.png Fix more issues with alpha optim on interlaced images 2018-08-11 20:27:45 -04:00
issue-140.png Fix incorrect detection of images that can reduce bit depth 2018-10-11 08:29:48 -04:00
issue-141.png Handle non-standard sBIT headers 2018-11-26 13:10:21 -05:00
issue-153.png Add test file 2018-12-01 22:32:29 -05:00
issue-159.png Make reductions return a new uncompressed image (#158) 2019-01-27 03:22:49 -05:00
issue-171.png Add test case for #171 2019-06-20 14:07:47 -04:00
issue-175.png Fix decoding interlaced images with height or width <= 2 (#175) 2019-06-27 13:44:34 -04:00
issue-182.png Use separate file for issue_182 test 2021-07-11 23:10:57 -04:00
issue-195.png More Reductions (#468) 2022-12-07 13:22:13 -05:00
issue-426-01.png Fix Grayscale depth reduction with tRNS (#470) 2022-12-08 06:11:26 -05:00
issue-426-02.png Fix Grayscale depth reduction with tRNS (#470) 2022-12-08 06:11:26 -05:00
issue_42.png Fix issue for interlacing images smaller than 4px 2016-05-25 23:10:44 -04:00
palette_1_should_be_palette_1.png Fix all bit depth and color reduction tests 2016-03-02 12:40:56 -05:00
palette_2_should_be_palette_1.png Fix all bit depth and color reduction tests 2016-03-02 12:40:56 -05:00
palette_2_should_be_palette_2.png Fix all bit depth and color reduction tests 2016-03-02 12:40:56 -05:00
palette_4_should_be_palette_1.png Fix all bit depth and color reduction tests 2016-03-02 12:40:56 -05:00
palette_4_should_be_palette_2.png Fix all bit depth and color reduction tests 2016-03-02 12:40:56 -05:00
palette_4_should_be_palette_4.png Fix all bit depth and color reduction tests 2016-03-02 12:40:56 -05:00
palette_8_should_be_grayscale_8.png Additional palette sorting algorithm (#514) 2023-07-11 12:33:57 -04:00
palette_8_should_be_palette_1.png Fix all bit depth and color reduction tests 2016-03-02 12:40:56 -05:00
palette_8_should_be_palette_2.png Fix all bit depth and color reduction tests 2016-03-02 12:40:56 -05:00
palette_8_should_be_palette_4.png Fix all bit depth and color reduction tests 2016-03-02 12:40:56 -05:00
palette_8_should_be_palette_8.png Fix all bit depth and color reduction tests 2016-03-02 12:40:56 -05:00
palette_8_should_be_rgb.png Further small reduction improvements (#504) 2023-05-16 20:53:05 -04:00
palette_8_should_be_rgba.png Further small reduction improvements (#504) 2023-05-16 20:53:05 -04:00
palette_should_be_reduced_with_both.png Add palette reduction 2016-04-13 23:16:32 -04:00
palette_should_be_reduced_with_dupes.png Add palette reduction 2016-04-13 23:16:32 -04:00
palette_should_be_reduced_with_unused.png Add palette reduction 2016-04-13 23:16:32 -04:00
preserve_attrs.png Partially implement --preserve 2016-04-29 23:37:27 -04:00
quiet_mode.png Print console output to stderr instead of stdout 2016-03-04 16:37:40 -05:00
raw_api.png Raw API (#482) 2023-05-15 08:37:49 -04:00
rgb_8_should_be_grayscale_8.png Fix all bit depth and color reduction tests 2016-03-02 12:40:56 -05:00
rgb_8_should_be_palette_1.png Fix all bit depth and color reduction tests 2016-03-02 12:40:56 -05:00
rgb_8_should_be_palette_2.png Fix all bit depth and color reduction tests 2016-03-02 12:40:56 -05:00
rgb_8_should_be_palette_4.png Fix all bit depth and color reduction tests 2016-03-02 12:40:56 -05:00
rgb_8_should_be_palette_8.png Fix all bit depth and color reduction tests 2016-03-02 12:40:56 -05:00
rgb_8_should_be_rgb_8.png Fix all bit depth and color reduction tests 2016-03-02 12:40:56 -05:00
rgb_16_should_be_grayscale_8.png Fix the benchmarking script to not overwrite the test file 2018-01-19 18:29:41 -05:00
rgb_16_should_be_grayscale_16.png Fix all bit depth and color reduction tests 2016-03-02 12:40:56 -05:00
rgb_16_should_be_palette_1.png Fix all bit depth and color reduction tests 2016-03-02 12:40:56 -05:00
rgb_16_should_be_palette_2.png Fix all bit depth and color reduction tests 2016-03-02 12:40:56 -05:00
rgb_16_should_be_palette_4.png Fix all bit depth and color reduction tests 2016-03-02 12:40:56 -05:00
rgb_16_should_be_palette_8.png Fix all bit depth and color reduction tests 2016-03-02 12:40:56 -05:00
rgb_16_should_be_rgb_8.png Fix all bit depth and color reduction tests 2016-03-02 12:40:56 -05:00
rgb_16_should_be_rgb_16.png Fix all bit depth and color reduction tests 2016-03-02 12:40:56 -05:00
rgba_8_reduce_alpha.png 🚀 Revamp alpha optimisation (#475) 2022-12-10 21:14:50 -05:00
rgba_8_should_be_grayscale_8.png Fix all bit depth and color reduction tests 2016-03-02 12:40:56 -05:00
rgba_8_should_be_grayscale_alpha_8.png Fix all bit depth and color reduction tests 2016-03-02 12:40:56 -05:00
rgba_8_should_be_palette_1.png Fix all bit depth and color reduction tests 2016-03-02 12:40:56 -05:00
rgba_8_should_be_palette_2.png Fix all bit depth and color reduction tests 2016-03-02 12:40:56 -05:00
rgba_8_should_be_palette_4.png Fix all bit depth and color reduction tests 2016-03-02 12:40:56 -05:00
rgba_8_should_be_palette_8.png Fix all bit depth and color reduction tests 2016-03-02 12:40:56 -05:00
rgba_8_should_be_rgb_8.png Fix all bit depth and color reduction tests 2016-03-02 12:40:56 -05:00
rgba_8_should_be_rgb_trns_8.png Reduce alpha to tRNS (#477) 2022-12-13 15:18:19 -05:00
rgba_8_should_be_rgba_8.png Fix all bit depth and color reduction tests 2016-03-02 12:40:56 -05:00
rgba_16_reduce_alpha.png 🚀 Revamp alpha optimisation (#475) 2022-12-10 21:14:50 -05:00
rgba_16_should_be_grayscale_8.png Fix all bit depth and color reduction tests 2016-03-02 12:40:56 -05:00
rgba_16_should_be_grayscale_16.png Fix all bit depth and color reduction tests 2016-03-02 12:40:56 -05:00
rgba_16_should_be_grayscale_alpha_8.png Fix all bit depth and color reduction tests 2016-03-02 12:40:56 -05:00
rgba_16_should_be_grayscale_alpha_16.png Fix all bit depth and color reduction tests 2016-03-02 12:40:56 -05:00
rgba_16_should_be_palette_1.png Fix all bit depth and color reduction tests 2016-03-02 12:40:56 -05:00
rgba_16_should_be_palette_2.png Fix all bit depth and color reduction tests 2016-03-02 12:40:56 -05:00
rgba_16_should_be_palette_4.png Fix all bit depth and color reduction tests 2016-03-02 12:40:56 -05:00
rgba_16_should_be_palette_8.png Fix all bit depth and color reduction tests 2016-03-02 12:40:56 -05:00
rgba_16_should_be_rgb_8.png Fix all bit depth and color reduction tests 2016-03-02 12:40:56 -05:00
rgba_16_should_be_rgb_16.png Fix all bit depth and color reduction tests 2016-03-02 12:40:56 -05:00
rgba_16_should_be_rgb_trns_16.png Reduce alpha to tRNS (#477) 2022-12-13 15:18:19 -05:00
rgba_16_should_be_rgba_8.png Fix all bit depth and color reduction tests 2016-03-02 12:40:56 -05:00
rgba_16_should_be_rgba_16.png Fix all bit depth and color reduction tests 2016-03-02 12:40:56 -05:00
small_files.png Fix issue with very small images [ci skip] 2016-04-04 11:06:00 -04:00
strip_headers_all.png Refactor aux chunk handling (#505) 2023-05-21 15:34:23 -04:00
strip_headers_list.png Refactor aux chunk handling (#505) 2023-05-21 15:34:23 -04:00
strip_headers_none.png Refactor aux chunk handling (#505) 2023-05-21 15:34:23 -04:00
strip_headers_safe.png Refactor aux chunk handling (#505) 2023-05-21 15:34:23 -04:00
verbose_mode.png Print console output to stderr instead of stdout 2016-03-04 16:37:40 -05:00
zopfli_mode.png Implement zopfli compression, available as a CLI flag (-Z) 2016-12-01 12:51:30 -05:00