Difference between revisions of "UMV"

From MultimediaWiki
Jump to navigation Jump to search
Line 10: Line 10:
The format is split into individual "packets", with no special header.
The format is split into individual "packets", with no special header.
Each packet starts with 4 bytes packet size (big-endian, including the 4 bytes for the size itself), followed by the size value of the previous packet (0 if there is no previous one).
Each packet starts with 4 bytes packet size (big-endian, including the 4 bytes for the size itself), followed by the size value of the previous packet (0 if there is no previous one).
The following 4 bytes are probably some kind of "packet type" value.
Packets are grouped together, with the last packet in a group having a size value of 0 and type 00 00 00 80.
After each packet group follows a section of PCM audio samples, up to the start of the next packet group.
The start offset of the next packet group is coded in the first packet of the current group, such a packet starts e.g. like this:
00 00 00 40 00 00 00 00 00 00 00 02 00 02 c8 00
where 0x40 is the size of that first packet, 0 is the size of the previous one, the packet "type" is 2 and 0x2c800 is the start offset of the next packet group.

Revision as of 02:25, 15 May 2009

UMV is (suspected to be) a full motion video file format used in the DOS game Are You Afraid of the Dark? The Tale of Orpheo's Curse.

The format is split into individual "packets", with no special header. Each packet starts with 4 bytes packet size (big-endian, including the 4 bytes for the size itself), followed by the size value of the previous packet (0 if there is no previous one). The following 4 bytes are probably some kind of "packet type" value. Packets are grouped together, with the last packet in a group having a size value of 0 and type 00 00 00 80. After each packet group follows a section of PCM audio samples, up to the start of the next packet group. The start offset of the next packet group is coded in the first packet of the current group, such a packet starts e.g. like this: 00 00 00 40 00 00 00 00 00 00 00 02 00 02 c8 00 where 0x40 is the size of that first packet, 0 is the size of the previous one, the packet "type" is 2 and 0x2c800 is the start offset of the next packet group.