RIFF
|
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 IBM. It is a clone of Electronic Arts's Interchange File Format, introducted in 1985, the only difference being that multi-byte integers are in 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 and WAV, which both use the RIFF meta-format as their basis.
RIFF files consist of a simple header followed by "chunks". The format is identical to IFF, except for the endianness as previously stated.
- Header
- 4 bytes: The ASCII identifier "RIFF".
- 4 bytes: an unsigned, little-endian 32-bit integer with the length of the overall file (except this field itself and the RIFF identifier).
- 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).
- Variable-sized field: the chunk data itself, of the size given in the previous field.
- A pad byte, if the chunk's length is not even.
More information about the format can be found in the Interchange File Format article.
See also
External links
- Resource Interchange File Format Services (http://msdn.microsoft.com/library/default.asp?url=/library/en-us/multimed/htm/_win32_resource_interchange_file_format_services.asp)
- RIFF AVI file reference (http://msdn.microsoft.com/archive/default.asp?url=/archive/en-us/dx81_c/directx_cpp/htm/avirifffilereference.asp)
- Reading WAVE files (http://msdn.microsoft.com/archive/default.asp?url=/archive/en-us/dx81_vb/directx_vb/htm/_dx_reading_wave_files_dxaudio.asp)
- DirectMusic file format (http://msdn.microsoft.com/library/default.asp?url=/library/en-us/DMusicC/htm/directmusicfileformat.asp)
- Multimedia Registration Kit (http://support.microsoft.com/default.aspx?scid=KB;EN-US;Q120253)