Microsoft Audio/Video Interleaved: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
(→AVI) |
||
Line 31: | Line 31: | ||
An AVI has this RIFF structure: | An AVI has this RIFF structure: | ||
RIFF | RIFF "AVI " (space at end) | ||
LIST | LIST "hdrl" | ||
DATA | DATA "avih", len: 56 | ||
LIST | LIST "strl" | ||
DATA | DATA "strh", len: 56 | ||
DATA | DATA "strf" | ||
LIST | ''LIST "strl"'' | ||
... | |||
''LIST: name: `INFO''' (optional) | |||
LIST: name: `INFO' | |||
... | ... | ||
DATA | LIST "movi" | ||
DATA "00dc" | |||
DATA "01wb" | |||
... | |||
DATA "idx1" |
Revision as of 11:56, 16 January 2006
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"