1.0.0-beta.3 • Published 5 years ago
fast-lzw v1.0.0-beta.3
fast-lzw
Extremely fast LZW decompression for JavaScript using WASM extracted from FFmpeg. Can decompress upwards of ~100MB/s.
import { LZW } from 'fast-lzw'
const WORKER_POOL_SIZE = 4
async function decompress(blob) {
const lzw = new LZW(WORKER_POOL_SIZE)
const arrayBuffer = await blob.arrayBuffer()
// FastLZW can also take TypedArrays as input, it just
// gets their ArrayBuffers
const uint8Arrays = await lzw.decompress([ arrayBuffer ])
return uint8Arrays.map(_ => _.buffer)
}
TIP: For fastest performance, if you have multiple blocks (e.g. from a TIFF), pass them all to LZW.decompress in a single call. Ideally they'd be backed by SharedArrayBuffer(s). FastLZW will not use web workers if instatiated without a WORKER_POOL_SIZE argument.
1.0.0-beta.3
5 years ago
1.0.0-beta.2
5 years ago
1.0.0-beta.1
5 years ago
1.0.0-alpha.10
5 years ago
1.0.0-alpha.9
5 years ago
1.0.0-alpha.8
5 years ago
1.0.0-alpha.7
5 years ago
1.0.0-alpha.6
5 years ago
1.0.0-alpha.5
5 years ago
1.0.0-alpha.4
5 years ago
1.0.0-alpha.3
5 years ago
1.0.0-alpha.2
5 years ago
1.0.0-alpha.1
5 years ago
0.0.1
5 years ago