< Back to glossary


IVF is a simple file format that transports raw VP8 data.

Multi-byte numbers of little-endian. An IVF file begins with a 32-byte header:

bytes 0-3    signature: 'DKIF'
bytes 4-5    version (should be 0)
bytes 6-7    length of the header in bytes
bytes 8-11   codec FourCC (e.g., 'VP80')
bytes 12-13  width in pixels
bytes 14-15  height in 
bytes 16-23  time base denominator
bytes 20-23  time base numerator
bytes 24-27  number of frames in a file
bytes 28-31  unused

The header is followed by a series of frames. Each frame consists of a 12-byte header followed by data:

bytes 0-3    size of the frame in bytes (not including the 12-byte header)
bytes 4-11   64-bit presentation timestamp
bytes 12..   frame data