SmallsomeFormats · Language · ArchitectureJörg Burbach

PMF0 Video

PMF0 is a memory-only video format for small engines. It combines a simple block decoder with motion references and an optional continuous RAU audio track, rather than attaching audio to sprite frames.

A little technical detail

Quadtree blocks and motion references describe frames in RGB or YCoCg. Lossless preserves RGB bytes; High, Mid, Low and Crappy reduce chroma or spatial detail. Frame and root indices support direct access. PMFZ compresses independent groups of 25 frames with BriefLZ; the target group must be buffered before decoding.

Comparison & examples

A synthetic 48 × 32, eight-frame release sequence. Lossless, Mid and Crappy downloads use the existing codec output. GIFs show their decoded frames. Raw RGBA is the uncompressed baseline; a smaller quality setting does not guarantee a smaller file on such a tiny sequence.

RepresentationDownload / sizeDecoded preview
Original RGBA49,152 bytes
Lossless11,931 bytesLossless decoded preview
Mid23,559 bytesMid decoded preview
Crappy14,660 bytesCrappy decoded preview

Encode & decode

Operation

MP4 exchange requires browser WebCodecs support for the input codec and H.264/AAC export. Video is resampled to a constant frame rate. PMF0 preserves RGB at Lossless; alpha is not stored. The port uses spatial RGB residual blocks and colour quantization, not the reference motion/chroma search. MP4 export is lossy. Audio can also be saved separately as WAV. Processing stays in your browser. Input limit: 64 MiB.

No file loaded.