AVIF in worker

This commit is contained in:
Jake Archibald
2020-09-16 11:48:13 +01:00
parent 2583d689b9
commit 7776134bc2
9 changed files with 171 additions and 42 deletions

View File

@@ -0,0 +1,17 @@
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;
}