DVC
Jump to navigation
Jump to search
- Company: Q-Team
- Extension: dvc
This is an animation format based on RLE. Quite likely it was the ancestor of QPEG codec.
Container format
Header (all values are little-endian):
6 bytes - "IDVCd\x00" 2 bytes - height 2 bytes - width 2 bytes - unknown 4 bytes - unknown, maybe frame delay in milliseconds 4 bytes - unknown 4 bytes - unknown, looks somewhat like the number of frames but not exactly it 4 bytes - data size 68 bytes - unknown 708 bytes - palette (starting from colour 20)
Frames start with 16-bit value equal to one (zero means end of file) followed by 32-bit frame size and actual payload.
Video compression
Frame data starts with 128-byte remap table (used in literal mode) followed by the opcode stream.
Opcodes:
0x00
-- skip pixel0x01-0x7F
-- literal, output pixel value from the remap table using opcode as an index0x80
-- skipnext_byte + 64
pixels0x81
-- skipnext_byte + 320
pixels0x82-0xBF
-- skip 2-63 pixels0xC0-0xDF
-- copy 1-32 pixels from the stream0xE0
-- end of stream marker0xE1-0xFF
-- repeat next byte from the stream 2-32 times