mirror of
https://github.com/GoogleChromeLabs/squoosh.git
synced 2025-11-16 10:39:53 +00:00
Fixups
This commit is contained in:
@@ -1,21 +1,26 @@
|
||||
import mainUrl from 'file-loader!../../../codecs/avif/enc/avif_enc.js';
|
||||
import avif_enc, { AVIFModule } from '../../../codecs/avif/enc/avif_enc.js';
|
||||
import { AVIFModule } from '../../../codecs/avif/enc/avif_enc.js';
|
||||
import wasmUrl from '../../../codecs/avif/enc/avif_enc.wasm';
|
||||
import workerUrl from 'file-loader!../../../codecs/avif/enc/avif_enc.worker.js';
|
||||
import { EncodeOptions } from './encoder-meta';
|
||||
import { initEmscriptenModule } from '../util';
|
||||
|
||||
declare const avif_enc: typeof import('../../../codecs/avif/enc/avif_enc.js').default;
|
||||
|
||||
let emscriptenModule: Promise<AVIFModule>;
|
||||
|
||||
export async function encode(data: ImageData, options: EncodeOptions): Promise<ArrayBuffer> {
|
||||
if (!emscriptenModule) {
|
||||
emscriptenModule = initEmscriptenModule(
|
||||
async function init() {
|
||||
importScripts(mainUrl as unknown as string);
|
||||
return initEmscriptenModule<AVIFModule>(
|
||||
avif_enc,
|
||||
wasmUrl,
|
||||
workerUrl,
|
||||
mainUrl as unknown as string,
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
export async function encode(data: ImageData, options: EncodeOptions): Promise<ArrayBuffer> {
|
||||
if (!emscriptenModule) emscriptenModule = init();
|
||||
|
||||
const module = await emscriptenModule;
|
||||
const result = module.encode(data.data, data.width, data.height, options);
|
||||
|
||||
Reference in New Issue
Block a user