Fact-checked by Grok 2 weeks ago

Resource Interchange File Format

The Resource Interchange File Format (RIFF) is a generic file container format designed for storing multimedia data in a structured, tagged manner using discrete sections known as chunks, each identified by a four-character code (FOURCC). Developed jointly by Microsoft Corporation and IBM Corporation, RIFF was published in 1991 as part of the Multimedia Programming Interface and Data Specifications to facilitate the interchange, playback, and recording of audio, video, and other media resources across platforms. Inspired by Electronic Arts' Interchange File Format (IFF), RIFF emphasizes extensibility, allowing applications to ignore unrecognized chunks while supporting future enhancements without breaking compatibility. At its core, a RIFF file begins with a mandatory RIFF chunk header consisting of the identifier "RIFF", the total minus 8 bytes, a form type (such as "WAVE" for audio or "AVI " for video), and a series of nested sub-chunks containing the actual data. Each chunk follows a consistent : a FOURCC identifier, a 4-byte size field, and the data payload, which may be padded to an even byte boundary for alignment. This hierarchical structure enables RIFF to serve as a wrapper for various media types, with common implementations including the WAVE format for uncompressed or compressed audio (e.g., PCM or ADPCM) and the AVI format for interleaved audio-video streams. Additional subtypes, such as RMID for MIDI files and DLS for downloadable sounds, further demonstrate its versatility in applications. RIFF's design promotes long-term sustainability through its fully documented, patent-free specification and support for via optional INFO list chunks, making it suitable for archival purposes despite limited adoption for new formats since the early . Widely used in Windows-based systems for legacy media handling, RIFF remains relevant in tools like for loading audio buffers and in broadcast extensions such as Broadcast for production.

History and Development

Origins

The Resource Interchange File Format (RIFF) was jointly developed by Microsoft Corporation and IBM Corporation in August 1991, serving as the default for multimedia files in the operating system. This collaboration aimed to establish a unified standard for handling diverse media resources on personal computers. RIFF was published as part of the "Multimedia Programming Interface and Data Specifications 1.0" document, which outlined its technical framework for the first time. The format drew directly from ' (IFF), introduced in 1985 in cooperation with for the platform. A key adaptation in RIFF was the shift to little-endian byte order to align with the x86 architecture's native conventions, differing from IFF's big-endian approach designed for processors. The primary purpose of at its was to enable the storage, interchange, and playback of data, including audio and video, in an extensible and platform-agnostic manner, facilitating across Windows applications and devices. This structure allowed developers to embed tagged data chunks while supporting future expansions without breaking existing implementations.

Evolution and Variants

Following its initial specification in 1991, the Resource Interchange File Format () saw the introduction of the RIFX variant to accommodate big-endian byte ordering on non-x86 platforms, such as PowerPC systems, while maintaining the core chunk-based structure of the original little-endian . This variant replaces the "RIFF" identifier with "RIFX" but preserves compatibility for registered forms, enabling broader cross-platform interchange without altering the fundamental tagged-chunk mechanism. In 2010, adopted RIFF as the lightweight container for its WebP image format, adding a minimal overhead of 20 bytes to support VP8-encoded images, , , and later extensions for and like or profiles. The WebP implementation uses a 'VP8 ' or 'VP8L' chunk for core image data within the RIFF wrapper, with an optional 'VP8X' chunk for advanced features, demonstrating RIFF's adaptability to modern web-optimized media beyond its original audio and video focus. In November 2024, the IETF formally standardized , including its RIFF-based container, as 9649. For professional audio applications, the (EBU) extended RIFF-based WAVE files into the (BWF) starting in 1997, incorporating a dedicated "Broadcast Audio Extension" chunk to embed essential for seamless exchange in broadcasting workflows. Subsequent revisions enhanced this further: Version 1 in 2001 added support for the SMPTE UMID identifier using reserved bytes in the extension chunk, while Version 2 in 2011 integrated loudness compliant with , including fields for integrated loudness value, loudness range, and true peak levels to meet standards in audio production and transmission. To address file size limitations in high-channel-count broadcasting, the EBU developed RF64 in 2007 as a 64-bit extension of BWF, later standardized as BW64 by in 2015, allowing files larger than 4 GiB through a new chunk that overrides the original 32-bit size fields for . BW64 introduces additional chunks like for Audio Definition Model () metadata per ITU-R BS.2076 and for channel layouts, supporting immersive audio formats such as scene-based and object-based content without the original channel mask constraints. Microsoft has maintained RIFF support in its audio APIs without deprecation, with XAudio2 versions post-2010—such as 2.8 in (2012) and 2.9 in (2015)—continuing to load RIFF-based formats like WAV and xWMA for high-performance audio processing, including updates for UWP apps and enhanced decoding via Media Foundation. These evolutions underscore RIFF's enduring role as a flexible in both legacy and contemporary multimedia ecosystems.

Technical Specification

Overall File Structure

The Resource Interchange File Format (RIFF) organizes data into a hierarchical, tagged structure designed for storing content. Every RIFF file begins with a form type chunk identified by the four-character code "RIFF", followed by a 4-byte unsigned specifying the size of the remaining file content (excluding the "RIFF" identifier and size field themselves), and then a 4-byte form type identifier that denotes the overall file category, such as "WAVE" for audio files. This initial form chunk encapsulates all subsequent data, providing a self-contained wrapper for the file's contents. The format employs a nested of chunks and to enable flexible, extensible data storage. A chunk consists of a 4-byte identifier, a 4-byte size field, and the data payload, while —marked by "LIST" identifiers—group related subchunks under a common descriptor, allowing for arbitrary nesting of elements. This structure supports the inclusion of diverse data types without predefined limits on depth or variety, making it adaptable to complex multimedia compositions. For instance, the top-level RIFF form may contain multiple LIST chunks, each housing specialized subchunks. RIFF files adhere to little-endian byte ordering by default, aligning with processor conventions, though a variant known as RIFX uses big-endian () ordering for compatibility with other systems. To ensure efficient alignment, chunk data lengths are padded with a single zero byte if odd, maintaining even boundaries for word-aligned access in memory. These conventions promote reliable parsing across hardware platforms. Developed as a generic container for , excels in tasks such as playback, recording, and data exchange between applications, owing to its modular design that accommodates audio, video, and other media without rigid schemas. Its emphasis on extensibility has made it a foundational format for industry-standard files, facilitating in workflows.

Chunk Mechanics

The Resource Interchange File Format (RIFF) is built upon chunks as its fundamental units, each serving as a self-contained of that can hold or reference substructures. A chunk begins with a 4-byte chunk identifier (ckID), consisting of a four-character ASCII code known as a FOURCC, which uniquely identifies the chunk's type and the format of its ; for instance, common identifiers include "fmt " for format descriptions or "data" for payload content. This identifier is followed by a 4-byte unsigned 32-bit (ckSize) in little-endian byte order, specifying the exact size in bytes of the subsequent , excluding the identifier, size field, and any padding. The (ckData) then contains the variable-length payload, whose interpretation depends on the ckID, and is stored in little-endian format for multi-byte values to ensure compatibility with processors. To optimize processing efficiency, enforces even-byte alignment for chunk data. If the ckSize value is odd, a single padding byte with the value 0 is appended immediately after the data field, making the total chunk length (from ckID to the end of padding) an even multiple of 2 bytes; this padding byte is not included in the ckSize count and must be ignored by parsers. Such alignment reduces overhead in memory access and file I/O operations, particularly on systems where data is processed in word-sized units. Chunks themselves start at byte offsets aligned to even boundaries relative to the file's beginning, promoting consistent performance across implementations. The core RIFF specification includes no built-in or formal validation mechanism for individual chunks, relying instead on the ckSize field to allow parsers to skip unrecognized or malformed chunks without corrupting the overall file read. This design choice prioritizes flexibility and extensibility over strict integrity checks, with higher-level container structures like or LIST providing additional organization for nested chunks. A simple example of a chunk without internal substructure is a hypothetical "" chunk holding a 3-byte "Tes"; its layout would be:
49 4E 46 4F  03 00 00 00  54 65 73 74  00
Here, 49 4E 46 4F represents the ASCII "" identifier, 03 00 00 00 is the little-endian ckSize of 3 bytes, 54 65 73 is the data ("Tes"), and 00 is the byte due to the size.

RIFF and LIST Containers

The Resource Interchange File Format () employs two primary container types—the chunk and the chunk—to organize data hierarchically, allowing for extensible and nested structures in files. The chunk serves as the top-level container, encapsulating the entire file and specifying its overall form type, which indicates the nature of the contained data, such as audio or video. This design facilitates the interchange of resources across applications by providing a standardized wrapper for diverse sub-elements. A chunk begins with the four-character identifier "RIFF" (a FOURCC code), followed by a 4-byte unsigned representing the chunk , which excludes the identifier and size fields themselves but includes the subsequent form type and all subchunks. Immediately after the size field comes the 4-byte form type identifier, such as "" for waveform audio files or "AVI " for files. The remainder consists of zero or more subchunks, which can include chunks, other containers, or further nesting. The total size calculation ensures that the file remains padded to an even byte boundary if necessary, promoting efficient parsing. For instance, in a WAVE file, the chunk might contain subchunks like "fmt " for format details and "" for the audio payload. This structure defines the file's scope and enables applications to quickly identify and process the content type. In contrast, the LIST chunk functions as a subordinate container, grouping related subchunks under a specific list type identifier without defining the entire file. It starts with the "LIST" FOURCC, followed by a 4-byte size field that encompasses the list type and all enclosed subchunks (again excluding the identifier and size fields), then the 4-byte list type, such as "hdrl" for header information in AVI files. The subchunks within follow, potentially including additional LIST chunks for further subdivision. This allows for logical organization of components, like bundling stream headers or media data segments. The LIST chunk's size includes the list type in its computation, differing from the RIFF chunk where the form type is part of the counted data. Examples include the "INFO" list type for metadata grouping or "movi" in AVI files for motion data. Both and LIST chunks support , permitting unlimited nesting in theory to build complex hierarchies, though practical constraints arise from file size limits and processing overhead in implementations. This recursive capability enhances flexibility, as a LIST within a RIFF can contain another LIST, enabling deep structures for multifaceted media like synchronized audio-video streams. However, the RIFF chunk is uniquely positioned as the , mandating its presence at the file's outset to establish the form type, whereas LIST chunks appear only internally to subgroup elements without altering the file's global identity. Such distinctions ensure that RIFF files remain modular and forward-compatible, with unknown types skippable during parsing.

Metadata Features

INFO Chunk Usage

The INFO chunk in the Resource Interchange File Format (RIFF) serves as an optional container for embedding textual metadata within RIFF-based files, facilitating the inclusion of descriptive information without altering the core . It is implemented as a LIST chunk with the form type identifier "", which encapsulates one or more subchunks, each identified by a four-character code (FOURCC) representing specific fields. These subchunks typically hold null-terminated strings (ZSTR) for human-readable content, allowing applications to parse and display metadata such as titles or authorship details. Standardized tags within the INFO chunk are defined in the Microsoft Multimedia Programming Interface and Data Specifications 1.0, providing a core set of identifiers for common elements, including INAM for the file or track title, IART for the or creator, ICOP for notices, and ICMT for general comments. This specification outlines over 20 registered tags to ensure consistency across RIFF implementations, such as ICRD for creation date or IENG for engineering credits. In addition to these predefined tags, the format supports user-defined extensions through custom FOURCC subchunks, enabling developers to add application-specific while requiring parsers to ignore unrecognized entries for . Although the specification does not enforce a strict for the chunk, it is recommended to place it near the beginning of the file—immediately following the RIFF form header but before essential chunks like or data sections—to allow quick access without scanning the entire file. This placement aligns with general chunk , where sequential reading enables efficient extraction during file loading. The absence of mandatory positioning contributes to flexibility in file construction but relies on application conventions for optimal performance. By standardizing textual metadata embedding, the INFO chunk enhances interoperability in multimedia file exchange, enabling seamless sharing of contextual details like copyright protections via ICOP or descriptive notes through ICMT across diverse platforms and software. This feature supports self-documentation of files, aiding preservation and usability in applications ranging from audio editing to archival systems, as metadata remains intact and accessible regardless of the host RIFF variant.

Specific Info Tags

The INFO chunk employs a set of standardized four-character tags to embed descriptive as null-terminated ASCII strings, enabling across RIFF-based files. These tags are optional but recommended for providing context about the content's origin, authorship, and creation details. Common tags include the following:
  • INAM: Stores the title or name of the file's primary subject, such as a track name in an audio file (e.g., "Sample Track"). This tag facilitates quick identification of the 's purpose.
  • IART: Records the name of the , , or original associated with the (e.g., "Example Artist"). It attributes creative in a human-readable format.
  • ICRD: Captures the creation date as an ASCII string, commonly in YYYY-MM-DD format (e.g., "2025-11-10"). This provides a textual for when the resource was originally produced.
  • ISFT: Identifies the software or tool used to generate or edit the file (e.g., "Custom RIFF Editor v1.0"). It aids in tracing the processing history and potential compatibility issues.
Additional tags from extended RIFF INFO usage include options for domain-specific details.
  • TAPE: Denotes the name or identifier of the source tape or medium (e.g., "Tape A-001"). This tag can support archival workflows by linking the digital file to physical origins.
  • DTIM: Stores the DateTimeOriginal as an ASCII string, typically in the format YYYY:MM:DD HH:MM:SS (e.g., "2025:11:10 00:00:00"). This provides a textual for the original recording time.
These tags are optional and may not be preserved during or in all software, potentially leading to loss in pipelines. Preservation depends on the implementing application's adherence to standards.

Applications and File Types

Audio-Based Formats

The Resource Interchange File Format () has been widely adopted for audio applications, providing a structured for data, , and information in systems. Among its audio-based implementations, RIFF enables flexible storage of raw audio samples, compressed streams, and parameters, facilitating in professional and consumer software. Key formats leverage RIFF's chunk-based architecture to encapsulate audio payloads while allowing extensions for specialized needs, such as broadcast or . The Waveform Audio File Format (WAV), designated by the RIFF form type "WAVE", serves as the foundational audio format within the RIFF framework, primarily storing uncompressed (PCM) audio but also supporting compressed codecs. A typical WAV file begins with a RIFF chunk header followed by the "WAVE" form type, succeeded by essential subchunks: the "fmt " chunk, which details the audio format via a WAVEFORMATEX structure including sample rate, , and channel count (e.g., 44.1 kHz at 16 bits for CD-quality PCM), and the "" chunk containing the interleaved audio samples. This structure allows direct loading into audio APIs like for playback, with padding to even byte boundaries ensuring alignment. While PCM remains the most common, WAV accommodates compressed formats such as (ADPCM), which incorporates additional "fact" and "wavl" chunks for decompression guidance, enabling efficient storage of or game audio without sacrificing RIFF compatibility. RIFF MIDI (RMID), using the "RMID" form type, encapsulates Standard MIDI Files (SMF) within a container to standardize handling alongside other data, particularly in Windows environments. An RMID file consists of a RIFF header enclosing an SMF—typically including timing tracks for tempo and meter—without altering the core event structure, which supports up to 16 channels of note, control, and system messages. This wrapper adds no new audio data but ensures consistent file identification and extensibility, such as bundling with Downloadable Sounds for self-contained playback; the format adheres to the MIDI Manufacturers Association's RP-029 technical note for optional DLS integration, maintaining backward compatibility with plain SMF parsers by ignoring the RIFF overhead. RMID files, often with .rmi extensions, were integral to early DirectMusic applications for sequencing synthesized music. The Broadcast Wave Format (BWF) extends the standard structure to meet broadcasting requirements, incorporating a mandatory "bext" chunk for precise synchronization in production workflows. Defined by the (EBU), BWF retains the "WAVE" form type and core "fmt " and "data" chunks of but inserts the "bext" extension immediately after "fmt ", containing fields like a 256-character description, originator details, origination date/time (in YYYY-MM-DD and HH:MM:SS formats), and a 64-bit TimeReference value representing the sample offset from midnight for timecode alignment. Version 2 of BWF (2011) further includes (Unique Material Identifier) for asset tracking and loudness , such as integrated loudness in , ensuring compliance with international broadcast standards while preserving . This format is recommended for archival audio , supporting files up to 4 natively and larger via RF64 extensions. Downloadable Sounds (DLS), employing the "DLS " form type, provides a RIFF-based repository for instrument definitions, enabling portable sound banks for rendering without hardware dependence. DLS Level 1 files structure instruments via LIST chunks: the "lins" LIST houses "ins " subchunks specifying instrument parameters like key ranges and articulation envelopes, while the "wvpl" LIST contains "wave" subchunks with 8- or 16-bit PCM waveforms, mapped via a "ptbl" chunk for efficient sample referencing. Additional chunks include "vers" for version (e.g., 1.0), "colh" for collection headers detailing instrument count, and optional "INFO" LIST for textual . Developed by the MIDI Manufacturers Association, DLS facilitates downloading to software like those in Windows, supporting mappings and extending to Level 2 for advanced features like layered samples, though Level 1 remains the baseline for broad compatibility in mobile and embedded systems.

Video and Image Formats

The Resource Interchange File Format () extends its chunk-based architecture to video and image storage by nesting lists and subchunks for streams, , and data, enabling flexible organization of visual content. This adaptability allows to serve as a for formats that require synchronization of frames, palettes, or animations without altering the core hierarchical structure. The Audio Video Interleave (AVI) format utilizes RIFF as its primary container, designated by the form type 'AVI ' (padded with a space). It begins with a header list ('hdrl') that includes the main AVI header chunk ('avih') for global parameters such as frame rate and dimensions, followed by one or more stream lists ('strl') per media track, each containing a stream header ('strh'), format data ('strf' using structures like BITMAPINFO for video), and optional codec-specific chunks ('strd'). The core content resides in the 'movi' list, where interleaved data chunks (e.g., '00db' for uncompressed video frames or '01wb' for audio) are sequenced for playback. AVI inherently supports multiple streams, facilitating the integration of video with audio or subtitles in a single file. Animated Cursor (ANI) files employ with the 'ACON' form type to encapsulate sequences of cursor frames for Windows operating systems. The structure includes an animation header chunk ('anih') specifying details like frame count, width, height, and playback rate, followed by a list chunk ('seql') that sequences individual frame data—typically icon chunks ('icon') encoded in or formats—or rate chunks ('rate') for timing control. This setup allows for smooth looping animations in user interfaces. WebP, in its lossless mode, leverages the container for efficient image storage, featuring a 'VP8L' chunk that holds the compressed with embedded width, height, and using a predictive scheme. Alpha channel support is integrated directly into the VP8L for , while extends this via an 'ANIM' chunk for global settings and multiple 'ANMF' frame chunks, each potentially containing VP8L for lossless sequences. This design balances compression and extensibility for web-optimized visuals. The Palette (PAL) format represents a straightforward RIFF application for color management in graphics, using the 'PAL ' form type with a primary 'data' chunk that stores a LOGPALETTE structure: a 16-bit identifier, entry count, and an array of PALETTEENTRY records (each 4 bytes for , , , and flags values). Extended variants may include additional chunks like 'plth' for palette type (e.g., RGB or ) and supporting , aiding in consistent rendering across image processing tools.

Compatibility and Challenges

Early Implementation Issues

One of the early challenges in adopting the during the 1990s stemmed from its application to files through the .RMI (RIFF MIDI) format. While Standard MIDI Files (SMF) provided a straightforward, platform-independent structure for musical performance data, the .RMI format wrapped SMF content within a RIFF container to enable additional metadata like INFO lists and consistent file identification in Windows environments. This encapsulation, introduced in the 1991 RIFF specification, required software to parse both the outer RIFF structure and the inner SMF in Windows applications, alongside support for plain .MID files. Another implementation hurdle involved the variability in INFO chunk placement, particularly during file editing. The RIFF structure relies on sequential chunk parsing, where each chunk's size field dictates the offset to the next element, but the Windows Multimedia I/O (MMIO) API made inserting INFO lists—containing metadata subchunks like INAM (title) or ICRD (creation date)—mid-file difficult without properly updating preceding size fields or realigning data. For example, the MMIO function mmioCreateChunk could not insert chunks mid-stream without overwriting existing data, potentially leading to file corruption in applications like early WAVE editors. Such issues were exacerbated in 1990s software, where parsers like those in Wave Viewer would flag files as corrupt if subchunk offsets exceeded parent boundaries, resulting in playback failures or data loss during common editing workflows. The absence of mandatory validation in the RIFF specification further contributed to reliability problems in early tools. While the 1991 spec outlined chunk registration and basic integrity checks—such as ensuring mandatory subchunks like fmt precede data in WAVE forms— it did not enforce comprehensive validation routines, allowing applications to write malformed files without error detection. In environments, tools relying on the Programming Interface (MPI) often skipped rigorous checks, leading to corruption from improper padding, mismatched sizes, or unregistered chunk IDs; for instance, unaligned odd-sized chunks could propagate errors during saves, rendering files unreadable by other RIFF-compliant software. This lack of enforcement was particularly problematic in resource-constrained 16-bit applications, where partial reads or writes without verification frequently resulted in persistent file damage. Initial endianness assumptions also posed cross-platform limitations before the introduction of RIFX. The original format presupposed little-endian () byte ordering for all multi-byte integers and sizes, aligning with x86-based Windows systems but incompatible with big-endian architectures like those in Macintosh or Unix environments. Without byte-swapping mechanisms specified, early RIFF files exchanged across platforms would interpret chunk sizes and data offsets incorrectly, causing parsing failures or inverted values; the spec briefly noted a RIFX variant for big-endian but did not integrate it into core RIFF, restricting seamless until later extensions. This platform-specific design, rooted in 1991 compatibility, delayed broader adoption in heterogeneous workflows.

Ongoing Limitations and Solutions

One significant limitation of the RIFF format stems from its use of 32-bit fields for specifying chunk sizes and offsets, which restricts individual files and chunks to a maximum size of 4 gigabytes (2^32 bytes). This constraint arises because the RIFF specification, originally designed in the early , relied on 32-bit addressing to maintain with contemporary and software architectures. To address this, the (EBU) developed the RF64 extension, also known as Broadcast Wave Format 64-bit (BW64), which introduces a mandatory 'ds64' chunk containing 64-bit equivalents for the critical 32-bit fields (RIFF size, data size, and sample count). In RF64 files, the file identifier shifts from '' to 'RF64', and legacy 32-bit fields are set to 0xFFFFFFFF to signal the use of the extended 64-bit values, enabling file sizes up to approximately 16 exabytes while preserving with standard RIFF parsers through optional '' placeholders. RIFF's rigid, sequential chunk structure also provides poor support for modern compressed codecs and real-time streaming applications, as it lacks built-in indexing or partial file access mechanisms essential for efficient delivery. While RIFF containers like AVI and WAV can theoretically embed various codecs, practical implementations are limited to older uncompressed or lightly compressed formats such as PCM audio or early video codecs like , making it incompatible with high-efficiency contemporary standards like H.265/HEVC or without custom extensions that compromise the format's simplicity. This static nature contrasts with dynamic containers like MP4 (based on ) and MKV (), which support , multi-track synchronization, and fast-start metadata relocation for progressive playback—features that have driven widespread migration to these alternatives in professional and online distribution workflows. Despite these limitations, the RIFF container remains relevant in some modern applications, such as the image format standardized by the IETF in November 2024. Preservation of RIFF files, particularly metadata in the INFO chunk, faces challenges during format conversion or editing, where tools may strip or incompletely transfer descriptive tags like IART (artist) or ICMT (comments) to target formats lacking equivalent structures, leading to loss of contextual information critical for archival integrity. The INFO chunk, defined as a LIST of subchunks within the RIFF header, stores human-readable metadata in a flexible but non-standardized way, exacerbating retention issues when converting to compressed formats like MP3 or FLAC that prioritize ID3v2 tags instead. A common workaround involves relocating the INFO chunk to the file's end during creation and padding the original header position with a dummy chunk (e.g., a 'JUNK' subchunk filled with zero bytes) to reserve space, allowing subsequent edits to the main data chunk without overwriting or requiring full file reconstruction. For long-term preservation, the EBU's Broadcast Wave Format (BWF) extension to RIFF incorporates standardized metadata via the BEXT chunk, which tools like BWF MetaEdit can embed or extract to mitigate conversion losses while maintaining compatibility. RIFF inherently lacks built-in encryption or digital rights management (DRM) mechanisms, exposing media content to unauthorized access, modification, or extraction since chunks are stored in plaintext without authentication or integrity checks. This vulnerability makes RIFF unsuitable for distributing protected media, as there are no native provisions for key-based encryption or access controls within the container structure. To secure RIFF-based files, external wrappers or post-encryption layers—such as AES-encrypted archives or embedding within DRM-enabled containers like encrypted MP4—are employed, though these add overhead and may require proprietary software for decryption and playback.

References

  1. [1]
    RIFF (Resource Interchange File Format) - Library of Congress
    May 18, 2023 · The RIFF format specifications were first developed by IBM and Microsoft, and published by in 1991 in Microsoft Windows Multimedia Programmer's ...Identification and description · Sustainability factors
  2. [2]
    [PDF] Multimedia Programming Interface and Data Specifications 1.0
    The Resource Interchange File Format (RIFF) is a tagged file structure developed for use on multimedia platforms. This chapter defines RIFF and describes the ...
  3. [3]
    Resource Interchange File Format (RIFF) - Win32 apps
    Jan 7, 2021 · This overview describes the Resource Interchange File Format (RIFF), which is used in .wav files. RIFF is the typical format from which audio data for XAudio2 ...
  4. [4]
    IFF (EA Interchange File Format 1985) - Library of Congress
    Mar 21, 2024 · The IFF format was influential and is cited as the source of ideas and approach by the creators of other tagged formats, e.g., RIFF and SMF.
  5. [5]
    None
    Summary of each segment:
  6. [6]
    WebP, a new image format for the Web - Google for Developers Blog
    Sep 30, 2010 · We also adapted a very lightweight container based on RIFF. While this container format contributes a minimal overhead of only 20 bytes per ...
  7. [7]
    WebP Container Specification - Google for Developers
    Aug 7, 2025 · The WebP container (that is, the RIFF container for WebP) allows feature support over and above the basic use case of WebP (that is, a file ...Missing: 2010 | Show results with:2010
  8. [8]
    [PDF] Specification of the Broadcast Wave Format (BWF) - EBU tech
    The Broadcast Wave Format is based on the Microsoft WAVE audio file format, to which the EBU has added a “Broadcast Audio Extension” chunk.
  9. [9]
    [PDF] tech 3306 - rf64: an extended file format for audio data
    RF64 achieved backwards compatibility with 32-bit BWF files by enabling on-the-fly switching from the BWF RIFF size field to the 64-bit. riffSize value ...
  10. [10]
    XAudio2 Versions - Win32 apps - Microsoft Learn
    Feb 3, 2021 · XAudio2 2.8 has been updated with the following changes: This version supports UWP app development; the XAudio2 API can be used in C++/DirectX ...Missing: RIFF post- documentation
  11. [11]
    AVI RIFF File Reference - Win32 apps - Microsoft Learn
    Jun 20, 2023 · The Microsoft AVI file format is a RIFF file specification used with applications that capture, edit, and play back audio-video sequences.FOURCCs · RIFF File Format
  12. [12]
    RIFF Tags
    Jun 27, 2025 · According to the EXIF specification, Meta information is embedded in two types of RIFF LIST chunks: INFO and exif , and information about ...
  13. [13]
    RIFF-based MIDI File Format - The Library of Congress
    Jun 10, 2025 · ... RMID' format consists of a standard MIDI file enclosed in a RIFF chunk. Enclosing the MIDI file in a 'RIFF' chunk allows the file to be ...Identification and description · Sustainability factors · File type signifiers
  14. [14]
    RMID file format, technical note RP-029 - MIDI Association
    Sep 10, 2021 · The technical note RP-029, "Bundling SMF and DLS data in an 'RMID' File" was published by the MIDI Manufacturers Association (MMA) in 2000.RIFF File – MIDI Software – MIDI.org ForumXMF Format Files – Developers & MIDI 2.0 SpecificationsMore results from midi.org
  15. [15]
    Downloadable Sounds Format, Version 1.1b - Library of Congress
    Aug 10, 2021 · DLS Level 2 Specification, Version 2.2 (April 2006), not documented at this Web site. Used by, XMF_1_0, XMF, eXtensible Music File Format ...
  16. [16]
    ANI File Format - Daubnet
    An ANI file contains a RIFF Chunk with a HeaderID of 'ACON'. This RIFF Chunk must contain at least two subchunks: The header chunk 'anih' and a 'LIST' chunk ...
  17. [17]
    SEP94: Inside the RIFF Specification - Jacob Filipp
    The first chunk in a RIFF file must be a RIFF chunk with a chunk ID consisting of the four-character code RIFF. The first chunk may alternatively be a RIFX ...
  18. [18]
    [PDF] RF64: An extended File Format for Audio - EBU tech
    The 'ds64' chunk has three mandatory 64-bit integer values, which replace three 32-bit fields of the RIFF/WAVE format: ▫ riffSize (replaces the RIFF size field).Missing: 4GB BW64
  19. [19]
    Tech Stuff - Audio/Video Files, Codecs and Containers - ZyTrax
    The codec does not support the classic 44.1 kHz CD sample rate, however most modern A/D convertors (in PC's for example) support 48 kHz by default. When ...Codecs · Aiff And Aiff-C Container · Wave Container
  20. [20]
    Standards: Part 4 - Standards For Media Container Files
    Feb 23, 2024 · The MKV (Matroška), MP4 and MXF containers are the most versatile for building automated workflows. The MXF file format lacks support for some ...Base Media File Formats · Popular Container Types · Iso Mpeg-4 Containers<|separator|>
  21. [21]
    [PDF] ARSC Guide to Audio Preservation
    Jan 1, 2015 · INFO chunk: a metadata chunk developed by. Microsoft as part of the RIFF file specification that con- tains a list of metadata fields, each ...
  22. [22]
    [PDF] A METHOD FOR ENCRYPTING AND DECRYPTING WAVE FILES
    The purpose of this paper is to present an approach for wave files encryption and decryption. Basically, the target files are sound files.