Files
squoosh/codecs/mozjpeg/enc/mozjpeg_enc.d.ts
2021-05-04 13:00:33 +01:00

51 lines
1.6 KiB
TypeScript

export const enum MozJpegColorSpace {
GRAYSCALE = 1,
RGB,
YCbCr,
}
export interface EncodeOptions {
quality: number;
baseline: boolean;
arithmetic: boolean;
progressive: boolean;
optimize_coding: boolean;
smoothing: number;
color_space: MozJpegColorSpace;
quant_table: number;
trellis_multipass: boolean;
trellis_opt_zero: boolean;
trellis_opt_table: boolean;
trellis_loops: number;
auto_subsample: boolean;
chroma_subsample: number;
separate_chroma_quality: boolean;
chroma_quality: number;
}
export interface MozJPEGModuleExports {
memory: WebAssembly.Memory;
alloc(size: number): number;
dealloc(ptr: number): void;
encode(
data: number,
width: number,
height: number
): number;
set_opts_quality( quality: number): void;
set_opts_baseline( baseline: boolean): void;
set_opts_arithmetic( arithmetic: boolean): void;
set_opts_progressive( progressive: boolean): void;
set_opts_optimize_coding( optimize_coding: boolean): void;
set_opts_smoothing( smoothing: number): void;
set_opts_color_space( color_space: number): void;
set_opts_quant_table( quant_table: number): void;
set_opts_trellis_multipass( trellis_multipass: boolean): void;
set_opts_trellis_opt_zero( trellis_opt_zero: boolean): void;
set_opts_trellis_opt_table( trellis_opt_table: boolean): void;
set_opts_trellis_loops( trellis_loops: number): void;
set_opts_auto_subsample( auto_subsample: boolean): void;
set_opts_chroma_subsample( chroma_subsample: number): void;
set_opts_separate_chroma_quality( separate_chroma_quality: boolean): void;
set_opts_chroma_quality( chroma_quality: number): void;
}