![]() Unless you happen to have a hard-copy of the book lying around, you can get an electronic version from Nicholas J Humfrey's WAVE Meta Tools page. I don't think I've ever come across this variant, so I won't be covering it in this article.Ī more advanced version of RIFF exists which makes use of compound elements and content tables, but that is also far out of the scope of this article. There is a counterpart format, RIFX that uses big-endian (referred to as Motorola byte-ordering). Most of the binary formats I've previously covered use big-endian ordering (including the original EA IFF 85 Standard for Interchange Format Files that RIFF is derived from), however RIFF is a noticeable exception as it uses little-endian (which the spec refers to as Intel byte-ordering. The nature of the chunk format means a program can scan a file, process the chunks it recognises, and ignore those it doesn't with relative ease. Note that the chunk size does not include this alignment byte, so you must manually check if the size is odd and handle this accordingly. An ISFT tag in a Wave file means exactly the same thing as an ISFT tag in a palette file, but the Wave's data tag does not correspond with a palettes data tag.Ĭhunks are word-aligned, so if the size of a chunk is odd, an extra padding byte must be added at the end of the chunk. By convention, RIFF suggests that global tags used by more than one form type are in upper-case, whilst those specific to a single form type are in lower-case. Notice how the meta tags are in upper-case but the fmt and data tags are in lower-case. The screenshot below shows the structure of a Wave file containing fmt and data chunks and then a list of meta tags. Global tags include the ability to specify meta data, such as artist information or to specify language options such as a character set. Some chunk types are globally defined and can apply to all resource types, while others are resource specific. dib) files.Ī RIFF form is comprised of chunks of data tagged with an ID and a size. wav) files are RIFF forms as are some MIDI (. For example, as well as the palettes we'll cover in this article, Wave audio (. The RIFF format shares allows different file types to use the same underlying structure. The above paragraph is taken verbatim from the Multimedia Programming Interface and Data Specifications 1.0 document co-produced by Microsoft and IBM around the time of Windows 3.0. The main advantage of RIFF is its extensibility file formats based on RIFF can be future-proofed, as format changes can be ignored by existing applications. The Resource Interchange File Format (RIFF), a tagged file structure, is a general specification upon which many file formats can be defined. These files are RIFF forms containing colour data, similar to a BBM palette being an IIF form. Now, finally, I decided to complete the collection and present an article on reading Microsoft's palette files. Since then, I followed up with articles on reading and writing Adobe's Color Swatch and Color Exchange format files and I also posted code for working with JASC, Gimp and a couple of other palette formats. At the end of that article, I noted that Microsoft palette files used a similar format, but I didn't investigate that at the time. At the start of 2014, I published an article describing how to read colour palettes from BBM/LBM files.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |