From MultimediaWiki
Revision as of 08:19, 24 July 2011 by VAG (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search
  • Extension: fmv

Psygnosis' 1999 title Rollcage included directory full of video with a .fmv extension. The first 8 bytes of the files contain a header of "!Reaper!".

Looking at the strings in the either of the games binaries (Glide or Direct3D) the string "Reaper '95 Version 1.30, (c) Paul Hughes" can also be found.

The game (its PSX version) take advantage of an MDEC chip, therefore the video encoding is an MPEG variant and audio is IMA ADPCM packaged in a custom container.

File Format

All numbers are little-endian. File consist of a main header:

s8  signature[8]   -- "!Reaper!"  (but only first 5 characters actually checked)
s32 headersize     -- size of the header and coefficients table (i.e. it's an offset of the first data chunk)
s16 width          -- video width
s16 height         -- video height
s16 coeffsize      -- size of the decompressed coefficients table
s16 audiotype      -- 0 - no sound, 1 - IMA sound
s16 audiorate      -- audio frequency
s16 audiobits      -- sound sample bits (always 16?)
s16 audiochnl      -- 1 - mono, 2 - stereo
s16 unknown

then followed by packed coefficients table (size = headersize - sizeof(header)) and then followed by frame chunks. Chunk format:

u32 signature      -- chunk type
u32 size           -- chunk size, including this header
u8  payload[]      -- chunk payload

Observed chunk types:

  • 0x0B85120F - video chunk
  • 0x90FC0302 - audio chunk
  • 0xD6BD0106 - ?

Video Decompression