Xref: utzoo comp.graphics:16285 alt.graphics.pixutils:795 Path: utzoo!utgpu!cs.utexas.edu!uunet!indetech!vsi1!zorch!xanthian From: xanthian@zorch.SF-Bay.ORG (Kent Paul Dolan) Newsgroups: comp.graphics,alt.graphics.pixutils Subject: Re: Image file format poll results Keywords: the eminently kissable breasts of Yong-Mi (t.m xanthian lust, inc.) Message-ID: <1991Mar2.075356.9352@zorch.SF-Bay.ORG> Date: 2 Mar 91 07:53:56 GMT References: <1991Feb12.120203@Unify.com> <513@lysator.liu.se> <23390@well.sf.ca.us> Organization: SF-Bay Public-Access Unix Lines: 50 In article <23390@well.sf.ca.us> knoll@well.sf.ca.us (John Knoll) writes: > Oh, come on. "The IFF format is an EXCELLENT structure...." I disagree > in that the image format (ILBM) really bites. > The pixel values are stored in bitplanes, so if you want to read the > value of a single pixel of an 8-bit image, you have to access 8 bytes > in different locations, mask out the bits you don't want, and assemble > a real byte. > I find this kinda stupid. And in turn I find your reply a bit parochial; you are talking about _exchange_ standards, and the world is not all the eight bit deep VGA display hardware in front of you. ILBM != IFF. It is merely an available encoding registered and supported in the IFF standard. 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. 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. Of course, if you choose so parochial an encoding, few users of incompatible machines will bother to recognize your "PAK8" coding, but the VGA users will still be able to use it among themselves. 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. A little knowledge goes a long way in criticizing someone else's posting. Kent, the man from xanth.