Difference between revisions of "SEQ"
(Add to Formats missing in FFmpeg category.)
|Line 35:||Line 35:|
Revision as of 05:50, 13 November 2007
- Extension: seq
These files always contain one video stream in own format with image size 256x128 and 22 kHz 16-bit mono PCM audio.
Data is stored in 6144-byte frames without any header. Each frame may contain sound data, palette data and up to 3 video frames data. Frame structure:
bytes 0- 1 - sound data offset (0 = no sound) bytes 2- 3 - palette data offset (0 = no palette) byte 4 - what buffer to use (255 = skip) byte 5 - frame num 1 byte 6 - frame num 2 byte 7 - frame num 3 bytes 8- 9 - video data offset 1 bytes 10-11 - video data offset 2 bytes 12-13 - video data offset 3 bytes 14-15 - video data end
Frame data is divided into 8x8 blocks, each block may be compressed with one of four methods. Those 2-bit method indices are packed in 16-bit little-endian words and stored in frame header. Methods:
- 0 - skip block
- 1 - most advanced coding mode. Data may be packed with RLE scheme described below or vector quantization (lookup table and 1-4 bits on index)
- 2 - raw block
- 3 - partial update of block, data is stored in pairs (skip, value) where skip = (x + y*8 + last*128), if last = 1 then end decoding, else put (value) at position (x,y)
RLE data is also stored operations first, pixel data later. Operation byte consists of two signed nibbles, each meaning:
if (n < 0) then set (-n) pixels to the next value else read (n) pixels values