SEQ

From MultimediaWiki
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

SEQ files are an FMV format used in the game Flashback: The Quest for Identity.

These files always contain one video stream in own format with image size 256x128 and 22 kHz 16-bit mono PCM audio.

File Format

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

Video Codec

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 Packing

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