Files
squoosh/src_old/codecs/avif/decoder.ts
Jake Archibald 7776134bc2 AVIF in worker
2020-09-16 11:48:13 +01:00

18 lines
547 B
TypeScript

import avif_dec, { AVIFModule } from '../../../codecs/avif/dec/avif_dec';
import wasmUrl from '../../../codecs/avif/dec/avif_dec.wasm';
import { initEmscriptenModule } from '../util';
let emscriptenModule: Promise<AVIFModule>;
export async function decode(data: ArrayBuffer): Promise<ImageData> {
if (!emscriptenModule)
emscriptenModule = initEmscriptenModule(avif_dec, wasmUrl);
const module = await emscriptenModule;
const result = module.decode(data);
if (!result) {
throw new Error('Decoding error');
}
return result;
}