Noctropolis VID: Difference between revisions
No edit summary |
(add another game) |
||
(One intermediate revision by the same user not shown) | |||
Line 6: | Line 6: | ||
* Samples: '''TODO''' | * Samples: '''TODO''' | ||
VID is an FMV format | 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 17: | Line 17: | ||
+ 7 s16 Width -- frame width and height | + 7 s16 Width -- frame width and height | ||
+ 9 s16 Height | + 9 s16 Height | ||
+ B s16 Unknown -- | + B s16 Unknown -- related to playback speed? | ||
+ D s16 Rate -- playback rate (?) | + D s16 Rate -- playback rate (?) | ||
Line 29: | Line 29: | ||
=== 0x01 - Interframe === | === 0x01 - Interframe === | ||
u16 sync value, followed by RLE-compressed raster. Version 2 movies has extra zero byte after | 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 | while frame is not complete | ||
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 14: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
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.