Jazz2::Compatibility::J2vVideoInfo struct

Rewrites a .j2v cinematic so weaker platforms can play it.

The original videos are 640x480 in four interleaved zlib streams (opcodes, the offset and row parts of copy-from-previous-frame runs, and the literal pixels plus palettes), and the decoder has to inflate and then downscale every frame at playback time. On the Dreamcast that does not fit in the frame budget, so the video is decoded here, downscaled once, and re-encoded into the game's own VideoFormat container, whose skip/literal/run commands decode with plain memcpy/memset and no inflation at all. The player detects the format by its signature and accepts both.

Properties of an original .j2v cinematic

Public variables

std::int32_t Width
std::int32_t Height
std::int32_t FrameCount
std::uint16_t FrameDelay
Duration of one frame in milliseconds.
std::int64_t FileSize