Microsoft Audio/Video Interleaved

From MultimediaWiki
Revision as of 10:46, 16 January 2006 by Ods15 (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, 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: 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'