mirror of
https://github.com/GoogleChromeLabs/squoosh.git
synced 2025-11-12 08:47:31 +00:00
* Refactoring codecs * Plugging in new processor * Fixing decorator * MozJPEG free issue * Better worker aborting, and terminate workers that aren't used for 10 seconds * Better comment * Ooops, half-typed comment * Uncommenting problematic line * Surma fixed it! * Abstracting WASM initialisation * Better comment * Don't need this. * Adding ticket * noInitalRun * Reverting MozJPEG issue demo * Making a const for worker timeout * Inline docs * Bail early rather than nesting * Addressing nits
73 lines
1.7 KiB
TypeScript
73 lines
1.7 KiB
TypeScript
export enum WebPImageHint {
|
|
WEBP_HINT_DEFAULT, // default preset.
|
|
WEBP_HINT_PICTURE, // digital picture, like portrait, inner shot
|
|
WEBP_HINT_PHOTO, // outdoor photograph, with natural lighting
|
|
WEBP_HINT_GRAPH, // Discrete tone image (graph, map-tile etc).
|
|
}
|
|
|
|
export interface EncodeOptions {
|
|
quality: number;
|
|
target_size: number;
|
|
target_PSNR: number;
|
|
method: number;
|
|
sns_strength: number;
|
|
filter_strength: number;
|
|
filter_sharpness: number;
|
|
filter_type: number;
|
|
partitions: number;
|
|
segments: number;
|
|
pass: number;
|
|
show_compressed: number;
|
|
preprocessing: number;
|
|
autofilter: number;
|
|
partition_limit: number;
|
|
alpha_compression: number;
|
|
alpha_filtering: number;
|
|
alpha_quality: number;
|
|
lossless: number;
|
|
exact: number;
|
|
image_hint: number;
|
|
emulate_jpeg_size: number;
|
|
thread_level: number;
|
|
low_memory: number;
|
|
near_lossless: number;
|
|
use_delta_palette: number;
|
|
use_sharp_yuv: number;
|
|
}
|
|
export interface EncoderState { type: typeof type; options: EncodeOptions; }
|
|
|
|
export const type = 'webp';
|
|
export const label = 'WebP';
|
|
export const mimeType = 'image/webp';
|
|
export const extension = 'webp';
|
|
// These come from struct WebPConfig in encode.h.
|
|
export const defaultOptions: EncodeOptions = {
|
|
quality: 75,
|
|
target_size: 0,
|
|
target_PSNR: 0,
|
|
method: 4,
|
|
sns_strength: 50,
|
|
filter_strength: 60,
|
|
filter_sharpness: 0,
|
|
filter_type: 1,
|
|
partitions: 0,
|
|
segments: 4,
|
|
pass: 1,
|
|
show_compressed: 0,
|
|
preprocessing: 0,
|
|
autofilter: 0,
|
|
partition_limit: 0,
|
|
alpha_compression: 1,
|
|
alpha_filtering: 1,
|
|
alpha_quality: 100,
|
|
lossless: 0,
|
|
exact: 0,
|
|
image_hint: 0,
|
|
emulate_jpeg_size: 0,
|
|
thread_level: 0,
|
|
low_memory: 0,
|
|
near_lossless: 100,
|
|
use_delta_palette: 0,
|
|
use_sharp_yuv: 0,
|
|
};
|