Skip to content

Latest commit

 

History

History
22 lines (16 loc) · 762 Bytes

README.md

File metadata and controls

22 lines (16 loc) · 762 Bytes

fastgif

import {Decoder} from './node_modules/fastgif/fastgif.js';

const decoder = new Decoder();

window.fetch('path/to/gif.js')
    .then((response) => response.arrayBuffer())
    .then((buffer) => decoder.decode(buf))
    .then((out) => {
      // out is an array of {imageData: ImageData, delay: number}
    });

Requires WebAssembly support, aka modern Edge, Chrome, Safari or Firefox. Check first by looking for window.WebAssembly.

Based on Wuffs.

For a demo and speed comparison, check here. For a writeup of how this works, see Fast GIF parsing on the web with WASM + Wuffs!