PNG-spec icon indicating copy to clipboard operation
PNG-spec copied to clipboard

APNG implementation

Open svgeesus opened this issue 4 years ago • 7 comments

This issue is for tracking implementations, including patches to libpng, to various browsers, etc.

Reading/Displaying APNG

Generating APNG

There is a list of various image editors and command line tools

Of those TweakPNG looks useful for creating WPT tests and the source is on GitHub which might allow adding support for new chunks.

APNG tests

  • https://philip.html5.org/tests/apng/tests.html
  • http://littlesvr.ca/apng/test.html

svgeesus avatar Nov 29 '21 16:11 svgeesus

Should there be a "needs implementation" label? Is that what the "implementation" label means?

Previously, I was thinking each issue should have 1 "needs ___" label to indicate how to make progress. But this is sort of a meta issue, covering both implementation and tests.

Maybe we should file separate issues, keep the 1 "needs ____" alive, and add a "needs child issue fixed" label?

ProgramMax avatar Feb 04 '22 22:02 ProgramMax

Related (lack of interop)

  • https://github.com/w3c/PNG-spec/issues/360

svgeesus avatar Oct 30 '23 18:10 svgeesus

Pull request for APNG tests https://github.com/web-platform-tests/wpt/pull/42893

svgeesus avatar Nov 01 '23 14:11 svgeesus

Web Platform Tests for png now have 28 tests for APNG. Chrome (and Edge, and other blink-based browsers) pass 28/28, as does Firefox. Safari passes 22/28.

More tests should be added for error handling (testing fallback to the static PNG image if the APNG is invalid) which depends on

  • https://github.com/w3c/PNG-spec/issues/360

svgeesus avatar Jan 05 '24 15:01 svgeesus

28/28 passes in two independent browsers (Chrome and Firefox) means that APNG meets the W3C criteria for interoperable implementation. Removing the blocking-exit tag, and leaving issue open to track implementation status for implementation report.

svgeesus avatar Jan 09 '24 21:01 svgeesus

I see that the GIMP forum describes APNG as a deprecated format and encourages use of WebP instead. However there is a GIMP APNG plugin.

It requires a specific unofficial APNG patch to libpng (there are multiple patches that add APNG support, hindering interoperability)

svgeesus avatar Apr 01 '24 18:04 svgeesus