Resource Interchange File Format
# Resource Interchange File Format

Resource Interchange File Format (RIFF) ist ein Containerformat zur Speicherung von Multimedia-Daten, das 1991 von Microsoft und IBM entwickelt und mit den Multimediaerweiterungen für Windows 3.1 eingeführt wurde. Als Grundlage für das RIFF-Dateiformat diente das Interchange File Format (IFF). RIFF-Dateien können mehrere Multimedia-Ressourcen enthalten, z.B. Windows Bitmap, Audio- und Videodaten, MIDI-Spuren oder RTF-Texte.

## Datenstruktur

Eine Riff-Datei besteht aus dem RIFF-Header und Inhalt. Der Header besteht aus dreimal vier Bytes: dem FourCC ‘RIFF’, der Dateigröße und einem FourCC für den Dateityp, meist ‘WAVE’ oder ‘AVI ’. Der Inhalt besteht aus null oder mehr Listen und Chunks in prinzipiell beliebiger Reihenfolge – für konkrete Dateitypen bestehen Einschränkungen.
Listen können ihrerseits wieder Listen und Chunks enthalten, während Chunks elementar sind. Ein Listen-Header besteht aus dem FourCC ‘LIST’, der Größe und einem FourCC für den Listentyp, während der Header von Chunks nur acht Bytes groß ist: ein FourCC als Typ und die Größe der Daten.
Alle genannten Größenangaben enthalten nicht die (ersten) acht Bytes des jeweiligen Headers und auch nicht das eventuell nötige Null-Byte zur Ausrichtung eines nachfolgenden Chunks auf die Wortgrenze. Sie sind vom Datentyp Integer mit Little-Endian-Reihenfolge. Die RIFF-Variante RIFX verwendet wie IFF (und AIFF) das Motorola-Format.