Resource Interchange File Format: Difference between revisions

Content deleted Content added
.:Ajvol:. (talk | contribs)
m +ru
No edit summary
Line 1:
The '''Resource Interchange File Format''' ('''RIFF''') is a generic meta-format for storing data in tagged chunks. It was introduced in [[1991]] by [[Microsoft]] and [[International Business Machines|IBM]]. It is a clone of [[Electronic Arts]]'s [[Interchange File Format]], introduced in [[1985]], the only difference being that multi-byte integers are in [[endianness|little-endian]] format, native to the [[80x86]] processor series used in IBM PCs, rather than the big-endian format native to the [[68k]] processor series used in [[Amiga]] and [[Apple Macintosh]] computers, where IFF files were heavily used.
 
The Microsoft implementation is mostly known through file formats like [[AVI]], [[ANI (animation file format)|ANI]] and [[WAV]], which both use the RIFF meta-format as their basis.
 
RIFF files consist entirely of a simple header followed by "chunks". The overall format is identical to IFF, except for the endianness as previously stated, and the different meaning of the chunk names.
 
* Header
All chunks have the following format:
** 4 bytes: The ASCII identifier "RIFF".
** 4 bytes: an unsigned,ASCII little-endianidentifier 32-bit integer with the length of the overall file (exceptfor this fieldchunk, itselfe.g. and"fmt the" RIFFor identifier)"data".
** 4 bytes: An ASCII identifer for this particular filetype, such as "AVI " or "WAVE".
* Chunks follow from here on. Each chunk consists of
** 4 bytes: An ASCII identifier for this chunk, e.g. "fmt " or "data"
** 4 bytes: an unsigned, little-endian 32-bit integer with the length of this chunk (except this field itself and the chunk identifier).
** Variablevariable-sized field: the chunk data itself, of the size given in the previous field.
** Aa pad byte, if the chunk's length is not even.
 
Two chunk identifiers, "RIFF" and "LIST", introduce a chunk that can contain subchunks. Their chunk data, after the identifier and length, has the following format:
** 4 bytes: Anan ASCII identiferidentifier for this particular filetypechunk (in the case of the RIFF chunk: for the entire file, such as "AVI " or "WAVE").
 
The file itself consists of one RIFF chunk, which then can contain further subchunks.
 
More information about the format can be found in the [[Interchange File Format]] article.
 
== See also ==
* [[Interchange_File_FormatInterchange File Format|IFF]]
* [[AIFF]]
* [[FourCC]]