Parallel PNG Proposal (2021)
github.com
github.com
//EDIT: also Apple is assumed to have an extension that does something similar: https://www.hackerfactor.com/blog/index.php?/archives/895-Co...
The restart marker proposal just adds more configurability on top of that, which IMHO isn't needed. It makes implementation more fiddly. And I'm not sure why they're talking about recovering from broken gzip when spec-conforming encoder shouldn't generate broken gzip.
Meanwhile, the error-recovery part isn't about a broken DEFLATE stream, it's about avoiding specially-crafted files that would produce one image if decoded using the restart markers, but another image if decoded without them. To prevent the usual issues with different tools yielding different results, this is made an error. But the PNG spec suggests that errors in ancillary chunks shouldn't ever be fatal:
> However, it is recommended that unexpected field values be treated as fatal errors only in critical chunks. An unexpected value in an ancillary chunk can be handled by ignoring the whole chunk as though it were an unknown chunk type. [0]
Therefore, the extension tells decoders to restart with sequential decoding in that case, instead of bailing out entirely.
[0] https://www.w3.org/TR/2003/REC-PNG-20031110/#13Error-checkin..., unchanged in https://www.w3.org/TR/2024/CRD-png-3-20240718/#13Error-check...