Re: Maker data

John Bowler <[email protected]> Sun, 26 Feb 2017 09:24:56 -0800
Newsgroups gmane.comp.graphics.png.general
Message-ID <CAP7U39-jGKE6umjPJ_vXJB_PGQJ+JWe23a4vhyCz-KnzOG9v2g@mail.gmail.com>
Note that *all* ancillary chunks are "unsafe to modify".  The
permitted operations on ancillary chunks are:

1) The chunks can be reordered (e.g. an app might sort them in some
way; a libpng based app always does this.)

2) Ancillary chunks may be deleted; it isn't required to delete them
all.  For example an app might choose to delete just the big ones!

3) New ancillary chunks may be added in arbitrary positions.  Of
course these must be *known* to the application.

4) If, and ONLY if, the app changes a critical chunk (IHDR, PLTE,
IDAT) it must delete all the "unsafe to copy" ancillary chunks that it
does not recognize.

What this means in practice is that one ancillary chunk can NEVER
depend on another; it can only depend on the critical chunks and then
only if it is marked "unsafe to copy".

John Bowler

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, SlashDot.org! http://sdm.link/slashdot