Resource Interchange File Format

Resource Interchange File Format (RIFF), o formato de archivo informático para intercambio de recursos, es un formato genérico que almacena información en bloques etiquetados. Microsoft e IBM lo presentaron en 1991 y Microsoft lo expuso como el formato predeterminado de los archivos multimedia de Windows 3.1.

Está basado en el formato de archivo para intercambio de Electronic Arts, que se presentó en 1985. La única diferencia consiste en que los enteros de más de un byte se representan en el sistema little-endian de la serie de procesadores 80x86 que se utiliza en PC compatibles IBM, en lugar del sistema big-endian de la serie de procesadores 68k presentes en los computadores Amiga y Apple Macintosh, donde los archivos IFF eran muy frecuentes.

La implementación de Microsoft es conocida principalmente por los formatos AVI, ANI y WAV, que emplean el formato RIFF como base.

Estructura

Los archivos RIFF están formados en su totalidad por "bloques". El formato general es idéntico a IFF, salvo por el orden de bytes, como se expuso anteriormente, y el significado distinto de los nombres de los bloques.

Todos los bloques tienen la siguiente estructura:

  • 4 bytes: un identificador ASCII del bloque, por ejemplo "fmt " o "data".
  • 4 bytes: un entero sin signo de 32 bits, little-endian, con la longitud del bloque (excepto este mismo campo y el identificador del bloque).
  • Campo de longitud variable: la información del bloque, del tamaño especificado en el campo anterior.
  • Un byte de relleno, si la longitud del bloque no es par.

Dos identificadores, "RIFF" y "LIST", introducen un bloque que puede contener subbloques. Su información de bloque, tras el identificador y la longitud, tiene la siguiente composición:

  • 4 bytes: un identificador ASCII para este bloque en particular (en el caso del bloque RIFF: para el archivo completo, como "AVI " o "WAVE").
  • resto: subbloques.

El propio archivo está formado por un bloque RIFF, que puede contener más subbloques: así, los primeros cuatro bytes de un archivo RIFF bien formado se deletrean como "R", "I", "F", "F".

Puede encontrarse más información acerca del formato en el artículo sobre Interchange File Format.

Other Languages