Microsoft Audio/Video Interleaved

From MultimediaWiki
Revision as of 11:46, 16 January 2006 by Ods15 (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

Uses RIFF tree for structure.

RIFF

General structure for all RIFF nodes:

Nodes can be data or LIST, data structure is:

4 bytes name (a.k.a. FourCC)
4 bytes length, 32 bit integer in little-endian
length bytes data
optionally 1 byte padding if length is odd

LIST structure is:

4 bytes string "LIST"
4 bytes length, 32 bit integer in little-endian
4 bytes name
length bytes data - data is a list of nodes.
optionally 1 byte padding if length is odd

An entire RIFF file has the structure:

4 bytes string "RIFF"
4 bytes length, 32 bit integer in little-endian
4 bytes name
length bytes data - data is a list of nodes.

AVI

An AVI has this RIFF structure:

RIFF: name: `AVI ' (space at end)
    LIST: name: `hdrl'
    DATA: name: `avih', len: 56
        LIST: name: `strl'
            DATA: name: `strh', len: 56
            DATA: name: `strf'
        LIST: name: `strl'
            DATA: name: `strh', len: 56
            DATA: name: `strf'
    LIST: name: `INFO'
        optional info
    LIST: name: `movi'
        DATA: name: `00dc'
        DATA: name: `01wb'
        ...
    DATA: name: `idx1'