Resource Interchange File Format

Dies ist eine Version, die am 10. Mai 2017 gesichtet wurde. Neue Änderungen könnten seitdem vorgenommen worden sein.

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 bis mehreren 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.