randy408 / libspng

Simple, modern libpng alternative
https://libspng.org
BSD 2-Clause "Simplified" License
731 stars 71 forks source link

Projects using spng #69

Open randy408 opened 4 years ago

randy408 commented 4 years ago

This issue is for listing projects using libspng, if you're using libspng or have found references to the library in other software let us know!

Projects listed here may appear at https://libspng.org/users

aloucks commented 4 years ago

I started building rust bindings a few months ago. I'm planning to circle back to it and update once 0.6 is released.

lovell commented 4 years ago

Thank you @randy408 for all your time spent creating and maintaining this library. From sharp v0.26.0 onwards, the prebuilt binaries include libspng for decoding PNG images. Looking forward to PNG encoding too!

nedelec commented 2 years ago

I have integrated libspng into our simulation of the cytoskeleton (with modifications, in my 'pull requests'): https://gitlab.com/f-nedelec/cytosim This way students can use our software at its full capacity directly without installing libpng. Thank you so much!

randy408 commented 2 years ago

Dolphin emulator has switched from libpng: https://github.com/dolphin-emu/dolphin/pull/10889

randy408 commented 1 year ago

It appears that Dota 2 has been using the library since December 2021 https://github.com/SteamDatabase/GameTracking-Dota2/blob/3f2935e63e171d3fe71657cc566443836ee0db2c/game/thirdpartylegalnotices.txt#L6600-L6628

This sequence of characters unique to the library can be identified in multiple dynamic libraries and executables in the latest version:

Steam/steamapps/common/dota 2 beta/game/bin/win64$ strings -f `ls -1` | grep "IHDRPLTEIDAT"
assetpreview.dll: IHDRPLTEIDATIENDtRNScHRMgAMAiCCPsBITsRGBtEXtzTXtiTXtbKGDhISTpHYssPLTtIMEoFFseXIf
engine2.dll: IHDRPLTEIDATIENDtRNScHRMgAMAiCCPsBITsRGBtEXtzTXtiTXtbKGDhISTpHYssPLTtIMEoFFseXIf
panorama.dll: IHDRPLTEIDATIENDtRNScHRMgAMAiCCPsBITsRGBtEXtzTXtiTXtbKGDhISTpHYssPLTtIMEoFFseXIf
rendersystemdx11.dll: IHDRPLTEIDATIENDtRNScHRMgAMAiCCPsBITsRGBtEXtzTXtiTXtbKGDhISTpHYssPLTtIMEoFFseXIf
rendersystemempty.dll: IHDRPLTEIDATIENDtRNScHRMgAMAiCCPsBITsRGBtEXtzTXtiTXtbKGDhISTpHYssPLTtIMEoFFseXIf
resourcecompiler.dll: IHDRPLTEIDATIENDtRNScHRMgAMAiCCPsBITsRGBtEXtzTXtiTXtbKGDhISTpHYssPLTtIMEoFFseXIf
toolframework2.dll: IHDRPLTEIDATIENDtRNScHRMgAMAiCCPsBITsRGBtEXtzTXtiTXtbKGDhISTpHYssPLTtIMEoFFseXIf
vconsole2.exe: IHDRPLTEIDATIENDtRNScHRMgAMAiCCPsBITsRGBtEXtzTXtiTXtbKGDhISTpHYssPLTtIMEoFFseXIf

These correspond to the chunk type constants: https://github.com/randy408/libspng/blob/v0.7.0/spng/spng.c#L370-L391

totaam commented 1 year ago

FYI https://github.com/Xpra-org/xpra has been using spng for a while now: https://github.com/Xpra-org/xpra/issues/3374, https://github.com/Xpra-org/xpra/issues/3373

Many thanks for the library!

dinkc64 commented 11 months ago

FinalBurn Neo is now using libspng, converting from libpng. Reason for the switchover: libpng will start executing random code in the project (and/or outright crash) when it tries to load a certain "corrupt" png. :/ To be fair, sometimes libpng will decode the image without problems, other than stripes running through the image, so I'll give it that.

libspng was such a delight and easy to work with, thank you!

https://github.com/finalburnneo/FBNeo

best regards,

crisluengo commented 6 months ago

We're using libspng in DIPlib to read and write PNG files: https://github.com/DIPlib/diplib/commit/dae9724e12aeeb3ca621438608b71bf50538fa38

fabiangreffrath commented 2 months ago

Our Doom source port "Woof!" is using it for loading graphic assets in PNG format and converting them into Doom's own patch format internally.

https://github.com/fabiangreffrath/woof