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.
Format definitionHistoryPureBasic modulePureBasic source bundleC sourceC headerJavaScript sourceC / JavaScript bundlePort contracts
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.
| Representation | Download / size | Decoded preview |
|---|---|---|
| Original RGBA | 49,152 bytes | |
| Lossless | 11,931 bytes | |
| Mid | 23,559 bytes | |
| Crappy | 14,660 bytes |
Encode & decode
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.