Re: EXIF support in PNG [was: Modern compressor]

Glenn Randers-Pehrson <[email protected]>
Newsgroups gmane.comp.graphics.png.general
Message-ID <CA+PdXcujN9nHtKL03aghC7n7NpNoYZsrXtfVt0Tqu7yJX1PVQQ@mail.gmail.com>
On Sat, Dec 31, 2016 at 5:49 PM, John Bowler <
[email protected]> wrote:

> On Sat, Dec 31, 2016 at 1:14 PM, Glenn Randers-Pehrson <[email protected]>
> wrote:
>
>> The format of a proposed eXIf chunk would be similar to that of iCCP:
>>
>>     keyword (e.g., "Nikon EXIF data", 1-79 bytes of Latin-1 characters)
>>     null separator
>>     compression method (0 means zlib/deflate)
>>     compressed data
>>
>
> EXIF already has, internally, support for manufacturer specific
> information (MakerNote).
>

I didn't intend for the keyword to be a camera identifier, I just picked it
as a n example of
something I might write in the keyword field, and it's probably what I
would put in the
keyword field, so pngcheck would easily tell me about it.  It's just there
for symmetry with
other PNG chunks; we know how to read a keyword (it's just text) but we
don't necessarily
know how to read the blob that follows the keyword.


> It makes some sense to have a keyword identification of ICCP profiles
> because they are *not* specific to the image, it doesn't make sense for
> EXIF because it *is* specific to the image.  There should be only one chunk
> but it should be permitted before or after the IDAT (unlike ICCP).
>
> I don't like compression for the reasons I implied before; it means that
> someone has to decompress it which means just reading it from the unknown
> chunk list can't be done.  It also gets PNG implementations like libpng
> into the business of validating the data; at least I think that is how we
> ended up doing format checks on ICCP data and look at what a disaster that
> is.
>

I am certainly *not* suggesting that we read the EXIF chunk (although
ImageMagick does parse out the "orientation" and "resolution" fields (the
latter causes trouble because it is redundant with the pHYs chunk and the
text/density chunk that people throw in).

What I'm saying is that it is a *complete* black box except for some
> reference to a spec that is not under our control
>

Yes, that is what I proposed, to be conveyed by the "compressed data" part
of the chunk.


> If someone ends up with a PNG with EXIF data which crashes an app (and
> this is certain to happen) that is the problem of the app or the EXIF
> library they use; nothing to do with any PNG file decoding implementation.
>
>
>

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

_______________________________________________
png-mng-misc mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/png-mng-misc
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.