JV: Difference between revisions
Suxen drol (talk | contribs) (bitmap brothers jv) |
Suxen drol (talk | contribs) m (cat) |
||
Line 38: | Line 38: | ||
[[Category:Game Formats]] | [[Category:Game Formats]] | ||
[[Category:Undiscovered_Video_Codecs]] |
Revision as of 14:31, 29 March 2008
- Extension: jv
- Company: Bitmap Brothers
- Samples: TBD
JV is a multimedia format developed by the Bitmap Brothers and is used in the DOS game Z. No other games are known to use this format.
File Structure
Files consist of a fixed-length header, followed by an index table, and the
0x0000 70 bytes ASCIIZ "JV00 Compression by John M Phillips Copyright (C) 1995 The Bitmap Brothers Ltd." 0x0050 le_u16 frame width (pixels) 0x0052 le_u16 frame height (pixels) 0x0054 le_u16 total frame count 0x0056 le_u16 always 0x50 0x0058 le_u16 always 0x01 0x005a le_u16 always 0x02 0x005c le_u16 audio samples per second (22050 observed) 0x0060 7 bytes always zero 0x0067 u8 always non-zero
The frame index table begins at offset 0x68, and contains an index record for each frame. The size of the table can be calculated using the total frame count field.
le_u32 - total frame length (octets) le_u32 - audio chunk length (octets) le_u32 - video chunk length (octets) le_u16 - unknown le_u16 - unknown
Frame data is stored immediately follows the header, where each frame corresonds to an entry in the index table. Each frame comprises an audio chunk followed immediately by a video chunk. The length of the audio and video data corresponds to the value indicated in the index record. Video chunks may sometimes be zero length. Frames sometimes contain additional unknown data (suspected to be padding), therefore the "total frame length" field must considered when parsing each frame.
Audio Chunk
Each audio chunk contains mono unsigned 8-bit PCM audio samples.
Video Chunk
The compression algorithm is unknown.