Microsoft Audio/Video Interleaved

From MultimediaWiki
Revision as of 15:21, 3 June 2006 by Multimedia Mike (talk | contribs) (add more links and outline a new section)
Jump to navigation Jump to search

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 "AVI " (space at end)
    LIST "hdrl"
    DATA "avih", len: 56
        LIST "strl"
            DATA "strh", len: 56
            DATA "strf"
        LIST "strl"
            ...
    LIST: name: `INFO' (optional)
        ...
    LIST "movi"
        DATA "00dc"
        DATA "01wb"
        ...
    DATA "idx1"

Idiosyncracies