Xref: utzoo comp.graphics:16343 alt.graphics.pixutils:823 Path: utzoo!utgpu!cs.utexas.edu!swrinde!zaphod.mps.ohio-state.edu!rpi!bu.edu!snorkelwacker.mit.edu!bloom-beacon!eru!kth.se!cyklop.nada.kth.se!news From: nv89-nun@dront.nada.kth.se (Nicklas Ungman) Newsgroups: comp.graphics,alt.graphics.pixutils Subject: Re: Image file format poll results Message-ID: Date: 5 Mar 91 22:16:18 GMT References: <1991Feb12.120203@Unify.com> <513@lysator.liu.se> <23390@well.sf.ca.us> <1991Mar2.075356.9352@zorch.SF-Bay.ORG> Sender: news@nada.kth.se (Mr News) Organization: Royal Institute of Technology, Stockholm, Sweden Lines: 48 In-reply-to: xanthian@zorch.SF-Bay.ORG's message of 2 Mar 91 07:53:56 GMT In article <1991Mar2.075356.9352@zorch.SF-Bay.ORG> xanthian@zorch.SF-Bay.ORG (Kent Paul Dolan) writes: The ILBM (InterLeaved BitMap, if memory serves) format is an excellent choice for an _exchange_ format, since the calculations for storing and retrieving, say, six bit deep data for an eight bit display device are much more straightforward from individual bitplanes than the shifts and masks that would be needed to pull that data out of a format that stored the first four pixels in three bytes like this: 11111122 22223333 33444444 Also, on a guess, packing with a "compress" type algorithm should be much more effective bitplane by bitplane, than for the above mess, which destroys runs of identical pixels by the byte embedding. The problem with ILBM as an exchange format is when reading a six bit deep image and there's no CAMG chunk, you have no idea what so ever if it's HAM, Halfbrite or something else. You have to guess or even ASK the user !!! I think it's really stupid to not save all information needed. You're right that PackBits (which ILMB use) packes better on individual bitplanes. However, if you use LZW compression it's usually better to use bit chunks. And I think LZW does usually beat PackBits (although I have no proof for this) More important, though, is that IFF is a standard container for standard encodings, and you are perfectly free to (and, more likely than not, someone already has) define an encoding key called "PAK8" instead of "ILBM" and store your data as eight bit pixels if that makes you happier. The rule for an IFF "chunk" is, if a decoder/displayer doesn't recognize the code quadbyte, it is supposed to skip the associated data and go on to what it can handle; this is again excellent functionality in an _exchange_ standard. If everybody defined their own standard chunks there would no longer be any standard chunks. Kent, the man from xanth. /Nixxon