AcademySoftwareFoundation / AcademySoftwareFoundation/OpenImageIO

Investigate switching to to libspng

Open
#4,524 3 comments 8 reactions 0 assignees View on GitHub
build / testing / port / CI file formats help wanted mackerel :fishing_pole_and_fish:
Dominant language
C++
Stars
2.4k
Forks
698
Avg merge
3d 4h
Merged PRs (30d)
47

Description

[libspng](https://libspng.org) is an alternative to libpng that is both (allegedly) higher performance and also a much simpler dependency to manage (just one .h and one .c file, easily "vendored").

We should try a rewrite of our png handling to use this alternative library, check performance and see if we like the simplified dependency situation.

Contributor guide

Open the contributing guide

Research direction

Review OpenImageIO's existing PNG handling and dependency setup, then evaluate libspng against libpng for performance and dependency simplicity. Done means the rewrite has been tried and the performance and vendoring trade-offs are documented clearly enough to decide whether to adopt it.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
build-system, computer-graphics, performance
Issue type
Refactor
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.