FVF
Jump to navigation
Jump to search
FVF is a format used for cutscenes in Star Trek: The Next Generation - "A Final Unity" game.
File structure
All data is little-endian. Data is grouped into frames that are grouped into blocks aligned to at least 2048 bytes. Audio is stored as unpacked PCM, video is compressed with the licensed Iterated Systems Fractal Codec.
Header:
4 bytes - "FVF " 4 bytes - unknown 4 bytes - unknown 4 bytes - unknown 4 bytes - first block offset 4 bytes - last block offset 4 bytes - image header (should be 0x60) 4 bytes - audio header (usually 0xB5) 64 bytes - unknown
Image header:
2 bytes - header size? (usually 40) 2 bytes - always 1? 2 bytes - always 16? 2 bytes - width 2 bytes - height 4 bytes - delay in milliseconds 4 bytes - unknown 4 bytes - number of frames 4 bytes - unknown 2 bytes - unknown 1 byte - palette something 1 byte - number of palette entries (usually 15) 4 bytes - palette offset (usually 0x88) 6 bytes - unknown
Audio header:
2 bytes - compression? (usually it's 1 and raw PCM) 2 bytes - number of channels? 2 bytes - bits per sample (usually 8) 2 bytes - sampling rate 8 bytes - unknown
Block header:
2 bytes - header size (should be 16) 2 bytes - flags 4 bytes - previous block size 4 bytes - current block size 4 bytes - next block size
Frame header:
2 bytes - header size (should be 24) 4 bytes - full size 4 bytes - always 24? 4 bytes - video part size 4 bytes - audio part size 6 bytes - unknown
Video frame data is in the same format as VfW variant of the codec, audio part starts with 32-bit size followed by PCM data.