Difference between revisions of "Noctropolis VID"

From MultimediaWiki
Jump to: navigation, search
m (typos)
(add another game)
 
Line 6: Line 6:
 
* Samples: '''TODO'''
 
* Samples: '''TODO'''
  
VID is an FMV format used in the computer game [http://www.mobygames.com/game/dos/noctropolis Noctropolis]. Uses basic [[RLE]] compression.
+
VID is an FMV format first appeared in the computer game [http://www.mobygames.com/game/dos/noctropolis Noctropolis]. Uses basic [[RLE]] compression.
  
 
A file consists of a header and a number of frame chunks. All numbers are little endian.
 
A file consists of a header and a number of frame chunks. All numbers are little endian.
Line 58: Line 58:
  
 
Same as 0x7C, but no sync/frequency fields.
 
Same as 0x7C, but no sync/frequency fields.
 +
 +
== Games Using VID ==
 +
 +
* [http://www.mobygames.com/game/dos/noctropolis Noctropolis]
 +
* [http://www.mobygames.com/game/synnergist Synnergist]
  
 
[[Category:Game Formats]]
 
[[Category:Game Formats]]
 
[[Category:Video Codecs]]
 
[[Category:Video Codecs]]
 
[[Category:Formats missing in FFmpeg]]
 
[[Category:Formats missing in FFmpeg]]

Latest revision as of 17:47, 20 February 2012

See also VID
  • Extensions: vid
  • Company: Flashpoint Productions, Inc.
  • Year: 1994
  • Samples: TODO

VID is an FMV format first appeared in the computer game Noctropolis. Uses basic RLE compression.

A file consists of a header and a number of frame chunks. All numbers are little endian.

File header

 + 0 s8  Signature[4]   -- "VID"
 + 4 s8  Version        -- usually 2
 + 5 s16 Frames         -- number of video frames (not chunks!)
 + 7 s16 Width          -- frame width and height
 + 9 s16 Height
 + B s16 Unknown        -- related to playback speed?
 + D s16 Rate           -- playback rate (?)

Frame chunks

Each chunk begins with a byte chunk type then followed by payload of variable length.

0x00 - Intraframe

u16 sync value, followed by Width * Height frame raster

0x01 - Interframe

u16 sync value, followed by RLE-compressed raster. Version 2 movies has extra zero byte after it (if not ended permaturely by a stop-code.) Decompression algorithm:

while frame is not complete
  len = next byte of input
  if len is 0 finish
  if high bit of len is set
    leave (len & 0x7F) pixels unchanged
  else
    draw next (len) pixels

0x02 - Palette

256 6-bit RGB DAC triplets.

0x03 - RLE Intraframe

Same as 0x01, but no stop-codes and instead of skipping pixels, fill them with the next byte of input.

0x04 - Partial Interframe

Same as 0x01, but has an extra u16 value after the sync field denotes how many horizontal lines to skip before start of decoding.

0x7C - Audio Start

u16 sync, followed by u8 sampling frequency in SoundBlaster VOC format, then followed by u16 size of data and corresponding amount of actual PCM data in Mono, 8-bit Unsigned format.

0x7D - Audio Continue

Same as 0x7C, but no sync/frequency fields.

Games Using VID