Set up decoder infrastructure

This commit is contained in:
Surma
2018-07-04 15:18:47 +01:00
parent 6e8f8bbe41
commit 790a5b580d
10 changed files with 5450 additions and 3143 deletions

View File

@@ -0,0 +1,16 @@
import { blobToArrayBuffer, imageDataToBitmap } from '../../lib/util';
import DecoderWorker from './DecoderWorker';
export const name = 'WASM WebP Decoder';
export const supportedExtensions = ['webp'];
export const supportedMimeTypes = ['image/webp'];
export async function decode(file: File): Promise<ImageBitmap> {
const decoder = await new DecoderWorker();
const imageData = await decoder.decode(await blobToArrayBuffer(file));
return imageDataToBitmap(imageData);
}
export async function isSupported(): Promise<boolean> {
// TODO(@surma): Should we do wasm detection here or something?
return true;
}