Lossless image compression by Awqre · Pull Request #706 · Syncplay/syncplay · GitHub
Skip to content

Lossless image compression#706

Merged
Et0h merged 2 commits into
Syncplay:masterfrom
Awqre:master
Mar 26, 2025
Merged

Lossless image compression#706
Et0h merged 2 commits into
Syncplay:masterfrom
Awqre:master

Conversation

@Awqre

@Awqre Awqre commented Dec 21, 2024

Copy link
Copy Markdown
Contributor

Lossless optimization of PDF, ICNS and ICO files and all PNG files for file size reduction

Combination of different optimizations (ECT, PNGOut, DeflOpt...)

Optimization of PNG, ICNS and ICO files

Combination of different optimizers (ECT, PNGOut, DeflOpt...)
@Et0h

Et0h commented Dec 27, 2024

Copy link
Copy Markdown
Contributor

@Awqre

Awqre commented Dec 28, 2024

Copy link
Copy Markdown
Contributor Author

The optimizations shouldn't have any negative performance impacts. And, due to lower file size it should load faster on any system but may not be noticeable, it can potentially reduce memory usage for any image where the color palette is able to be reduced.

The PNG optimizations are lossless and within the format specifications so they should be compatible with any standard usage on any OS. Only incompatibilities I expect would be if for some reason there's a specific requirement for an image's palette order or bit depth to remain unchanged.

I've tested on both MacOS and Windows 11, both seem to work fine but I wasn't extensive. Windows XP and older will not work with PNG ICO files. If you find any issues on Linux systems I would be interested in testing different methods for compatibility.

@Et0h

Et0h commented Dec 28, 2024

Copy link
Copy Markdown
Contributor

Thanks for the additional information. Syncplay does not officially support operating systems that have reached End of Life status from their developers (for a variety of practical reasons) and so a lack of Windows XP support is not an issue because even the extended support ended back in 2014.

@Awqre

Awqre commented Dec 28, 2024

Copy link
Copy Markdown
Contributor Author
  1. What commands or procedure would I need to follow if I wished to reproduce this work for new graphics? For example, which command line arguments did you use and did you use a tool to automate the process?

I use a collection of programs to get better compression, I'll try to list them all out later but you can get good results using a program called FileOptimizer or running ZopfliPNG and/or OxiPNG.

@Awqre

Awqre commented Jan 2, 2025

Copy link
Copy Markdown
Contributor Author
  1. What commands or procedure would I need to follow if I wished to reproduce this work for new graphics? For example, which command line arguments did you use and did you use a tool to automate the process?

I use a collection of programs to get better compression

Many of these programs are windows only, closed source, and for some, the creators have disappeared or passed away.

My set:
PNGOut
OxiPNG
ZopfliPNG
ECT
deft4j
DeflOpt

FileOptimizer has most of the ones I use plus more, I usually run it before my own:

PngOptimizer
TruePNG
Leanify
pngwolf
pngrewrite
advpng
pingo
defluff

Additional lossless compression to icon.ico
@Et0h

Et0h commented Mar 26, 2025

Copy link
Copy Markdown
Contributor

@Et0h Et0h merged commit 8d60c8b into Syncplay:master Mar 26, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants