Access VID

From MultimediaWiki
Revision as of 03:22, 20 July 2021 by Kostya (talk | contribs) (fill description from ScummVM code)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search
  • Company: Access Software
  • Extension: .vid

This is a simple RLE-based format with 8-bit mono PCM audio used in some games by Access Software.

Container format

Container header

4 bytes - VID\0
1 byte  - unknown
2 bytes - unknown
2 bytes - width
2 bytes - height
2 bytes - delay between frames in 1/60th of second
2 bytes - unknown

Known chunks

Each chunk begins with a byte telling its type:

  • 0x00 - uncompressed full frame
  • 0x01 - skip/raw full frame
  • 0x02 - VGA palette
  • 0x03 - fill/raw compressed frame
  • 0x04 - partial skip/raw compressed frame
  • 0x14 - end of file
  • 0x7C - first audio chunk
  • 0x7D - audio chunk

Video frames

Video frame data starts with 2-byte additional delay field (i.e. how many tertia you have to wait before displaying the frame in addition to the regular delay specified in the container header).

Uncompressed full frame contains raw data for the whole frame. Compressed frames employ RLE in the simplest form: top bit tells whether we should read raw data or perform fill or skip (depending on frame type). Partial frame also contains 2-byte word with a start horizontal position (i.e. if offset is 16 then pixels 0-15 in each row won't be touched).

Audio frames

First audio chunk begins has a three-byte header: 2-byte syncword and 1-byte sample rate index (actual sample rate is calculated as 1000000 / (256 - rate) just like in VOC).

Then there is 2-byte size of actual audio data in bytes and audio data itself.