Investigate switching to to libspng
libspng 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.
There are couple of interesting alternatives:
https://www.reddit.com/r/rust/comments/1ha7uyi/memorysafe_png_decoders_now_vastly_outperform_c/?rdt=40279
The one written on rust, looks promising. But Google Wuffs maybe more interesting: https://github.com/google/wuffs
+1 for wuffs - it also covers more than just png.
I also recently heard about this package: https://github.com/t0rakka/mango
which is not something we could integrate into OIIO directly (as its kind of its own framework), but it shows how much performance gain is still available even compared to these faster alternatives.
Another +1 for wuffs!