mirror of
https://github.com/GoogleChromeLabs/squoosh.git
synced 2025-11-11 16:26:20 +00:00
39 lines
774 B
TypeScript
39 lines
774 B
TypeScript
export interface EncodeOptions {
|
|
quality: number;
|
|
alpha_quality: number;
|
|
effort: number;
|
|
pass: number;
|
|
sns: number;
|
|
uv_mode: UVMode;
|
|
csp_type: Csp;
|
|
error_diffusion: number;
|
|
use_random_matrix: boolean;
|
|
}
|
|
|
|
export const enum UVMode {
|
|
UVModeAdapt = 0, // Mix of 420 and 444 (per block)
|
|
UVMode420, // All blocks 420
|
|
UVMode444, // All blocks 444
|
|
UVModeAuto, // Choose any of the above automatically
|
|
}
|
|
|
|
export const enum Csp {
|
|
kYCoCg,
|
|
kYCbCr,
|
|
kCustom,
|
|
kYIQ,
|
|
}
|
|
|
|
export interface WP2Module extends EmscriptenWasm.Module {
|
|
encode(
|
|
data: BufferSource,
|
|
width: number,
|
|
height: number,
|
|
options: EncodeOptions,
|
|
): Uint8Array | null;
|
|
}
|
|
|
|
declare var moduleFactory: EmscriptenWasm.ModuleFactory<WP2Module>;
|
|
|
|
export default moduleFactory;
|