npm i @chi_eee/gif-decoder
https://www.npmjs.com/package/@chi_eee/gif-decoder
const { Decoder } = require('@chi_eee/gif-decoder')
const { readFileSync } = require('fs')
const gif = Decoder.decodePath('sample.gif')
const gif = Decoder.decodeBuffer(readFileSync('sample.gif'))
import { Decoder } from '@chi_eee/gif-decoder'
import { readFileSync } from 'fs'
const gif = Decoder.decodePath('sample.gif')
const gif = Decoder.decodeBuffer(readFileSync('sample.gif'))
Spec: https://www.w3.org/Graphics/GIF/spec-gif89a.txt
Interlace Function: https://github.com/matt-way/gifuct-js
Gif Blog: https://www.matthewflickinger.com/lab/whatsinagif/index.html
LZW Decompression: https://gist.github.com/devunwired/4479231
Modern Gif: https://github.com/qq15725/modern-gif