RFXLAnim Animation
RFXLAnim packages animated sprites and short graphics sequences. Frames share a canvas, so unchanged regions need not be stored again. Optional RAU audio remains aligned with individual frames.
A little technical detail
RFXA combines RFXL full frames or global-palette index streams with delta rectangles, sparse updates and motion-compensated blocks. It supports sequential decoding and random access. RFXZ adds BriefLZ compression around the animation. The reference normalizes Lossless/Best requests to High: this is not a promise of pixel-exact image preservation.
Format definitionHistoryPureBasic modulePureBasic source bundleC sourceC headerJavaScript sourceC / JavaScript bundlePort contracts
Comparison & examples
A synthetic 48 × 32, 12-frame sequence. The corpus filename says “lossless”, but the encoder maps that request to High. The decoded GIF is a viewing reference, not an exact source-colour comparison. RFXZ stores the same animation with an additional compression layer.
| Representation | Download / size | Decoded preview |
|---|---|---|
| Original RGBA | 73,728 bytes | |
| High (Lossless request) | 1,603 bytes | |
| RFXZ compressed | 395 bytes |
Encode & decode
GIF timing is resampled to a constant frame rate on import. GIF export uses at most 256 colours and one-bit transparency. The port encodes full RFXL frames rather than the reference motion/palette search. Existing frame-aligned RAU audio is retained and can be exported separately as WAV. Processing stays in your browser. Input limit: 64 MiB.
No file loaded.