Re: Why is it that png files are not dependable over the long haul
Cosmin Truta <[email protected]> Thu, 2 Aug 2018 00:25:09 -0400
| Newsgroups | gmane.comp.graphics.png.devel |
|---|---|
| Message-ID | <CAAoVtZwvy0O5SSuwQwgUBCmDs3m_GCgBVp46iXwOaAgdQOv_qw@mail.gmail.com> |
Cosmin Truta wrote: > The PNG specification (and zlib, and deflate, etc.) have strict rules > for error detection, but no rules for error recovery. Correction: the PNG spec does have rules for error recovery, for ancillary chunks (e.g. signal, and then drop the bad ancillary chunks, and then continue) but not for critical chunks. The error that we're dealing with here is inside IDAT, which is a critical chunk containing a critically-important, unfortunately broken zlib datastream. Also: general rules for error recovery do not specifically include rules for data recovery. For example: if you have a chunk with spurious data, it's intuitive to simply discard the spurious data. But other than that, where nothing is spurious, and nothing is redundant (as it is in our case), it is necessary to guess (because it is not possible to absolutely know) how to recover the data. And guessing is what we're doing here to solve this problem. Sincerely, Cosmin ------------------------------------------------------------------------------ Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot