mirror of
https://github.com/GoogleChromeLabs/squoosh.git
synced 2025-11-14 17:49:52 +00:00
Move encode options definition to the wasm
This commit is contained in:
11
codecs/avif/enc/avif_enc.d.ts
vendored
11
codecs/avif/enc/avif_enc.d.ts
vendored
@@ -1,4 +1,13 @@
|
|||||||
import { EncodeOptions } from 'image-worker/avifEncode';
|
export interface EncodeOptions {
|
||||||
|
minQuantizer: number;
|
||||||
|
maxQuantizer: number;
|
||||||
|
minQuantizerAlpha: number;
|
||||||
|
maxQuantizerAlpha: number;
|
||||||
|
tileRowsLog2: number;
|
||||||
|
tileColsLog2: number;
|
||||||
|
speed: number;
|
||||||
|
subsample: number;
|
||||||
|
}
|
||||||
|
|
||||||
export interface AVIFModule extends EmscriptenWasm.Module {
|
export interface AVIFModule extends EmscriptenWasm.Module {
|
||||||
encode(
|
encode(
|
||||||
|
|||||||
25
codecs/mozjpeg_enc/mozjpeg_enc.d.ts
vendored
25
codecs/mozjpeg_enc/mozjpeg_enc.d.ts
vendored
@@ -1,4 +1,27 @@
|
|||||||
import { EncodeOptions } from 'image-worker/mozjpegEncode';
|
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 MozJPEGModule extends EmscriptenWasm.Module {
|
export interface MozJPEGModule extends EmscriptenWasm.Module {
|
||||||
encode(
|
encode(
|
||||||
|
|||||||
30
codecs/webp/enc/webp_enc.d.ts
vendored
30
codecs/webp/enc/webp_enc.d.ts
vendored
@@ -1,4 +1,32 @@
|
|||||||
import { EncodeOptions } from 'image-worker/webpEncode';
|
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 WebPModule extends EmscriptenWasm.Module {
|
export interface WebPModule extends EmscriptenWasm.Module {
|
||||||
encode(
|
encode(
|
||||||
|
|||||||
@@ -10,21 +10,13 @@
|
|||||||
* See the License for the specific language governing permissions and
|
* See the License for the specific language governing permissions and
|
||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
import avifEncoder, { AVIFModule } from 'codecs/avif/enc/avif_enc';
|
import avifEncoder, {
|
||||||
|
AVIFModule,
|
||||||
|
EncodeOptions,
|
||||||
|
} from 'codecs/avif/enc/avif_enc';
|
||||||
import wasmUrl from 'url:codecs/avif/enc/avif_enc.wasm';
|
import wasmUrl from 'url:codecs/avif/enc/avif_enc.wasm';
|
||||||
import { initEmscriptenModule } from '../util';
|
import { initEmscriptenModule } from '../util';
|
||||||
|
|
||||||
export interface EncodeOptions {
|
|
||||||
minQuantizer: number;
|
|
||||||
maxQuantizer: number;
|
|
||||||
minQuantizerAlpha: number;
|
|
||||||
maxQuantizerAlpha: number;
|
|
||||||
tileRowsLog2: number;
|
|
||||||
tileColsLog2: number;
|
|
||||||
speed: number;
|
|
||||||
subsample: number;
|
|
||||||
}
|
|
||||||
|
|
||||||
let emscriptenModule: Promise<AVIFModule>;
|
let emscriptenModule: Promise<AVIFModule>;
|
||||||
|
|
||||||
export default async function encode(
|
export default async function encode(
|
||||||
|
|||||||
@@ -10,35 +10,13 @@
|
|||||||
* See the License for the specific language governing permissions and
|
* See the License for the specific language governing permissions and
|
||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
import mozjpeg_enc, { MozJPEGModule } from 'codecs/mozjpeg_enc/mozjpeg_enc';
|
import mozjpeg_enc, {
|
||||||
|
MozJPEGModule,
|
||||||
|
EncodeOptions,
|
||||||
|
} from 'codecs/mozjpeg_enc/mozjpeg_enc';
|
||||||
import wasmUrl from 'url:codecs/mozjpeg_enc/mozjpeg_enc.wasm';
|
import wasmUrl from 'url:codecs/mozjpeg_enc/mozjpeg_enc.wasm';
|
||||||
import { initEmscriptenModule } from '../util';
|
import { initEmscriptenModule } from '../util';
|
||||||
|
|
||||||
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;
|
|
||||||
}
|
|
||||||
|
|
||||||
let emscriptenModule: Promise<MozJPEGModule>;
|
let emscriptenModule: Promise<MozJPEGModule>;
|
||||||
|
|
||||||
export default async function encode(
|
export default async function encode(
|
||||||
|
|||||||
@@ -20,12 +20,6 @@ export interface QuantizeOptions {
|
|||||||
dither: number;
|
dither: number;
|
||||||
}
|
}
|
||||||
|
|
||||||
export const defaultOptions: QuantizeOptions = {
|
|
||||||
zx: 0,
|
|
||||||
maxNumColors: 256,
|
|
||||||
dither: 1.0,
|
|
||||||
};
|
|
||||||
|
|
||||||
let emscriptenModule: Promise<QuantizerModule>;
|
let emscriptenModule: Promise<QuantizerModule>;
|
||||||
|
|
||||||
export default async function process(
|
export default async function process(
|
||||||
|
|||||||
@@ -10,40 +10,13 @@
|
|||||||
* See the License for the specific language governing permissions and
|
* See the License for the specific language governing permissions and
|
||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
import webpEncoder, { WebPModule } from 'codecs/webp/enc/webp_enc';
|
import webpEncoder, {
|
||||||
|
WebPModule,
|
||||||
|
EncodeOptions,
|
||||||
|
} from 'codecs/webp/enc/webp_enc';
|
||||||
import wasmUrl from 'url:codecs/webp/enc/webp_enc.wasm';
|
import wasmUrl from 'url:codecs/webp/enc/webp_enc.wasm';
|
||||||
import { initEmscriptenModule } from '../util';
|
import { initEmscriptenModule } from '../util';
|
||||||
|
|
||||||
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;
|
|
||||||
}
|
|
||||||
|
|
||||||
let emscriptenModule: Promise<WebPModule>;
|
let emscriptenModule: Promise<WebPModule>;
|
||||||
|
|
||||||
export default async function encode(
|
export default async function encode(
|
||||||
|
|||||||
Reference in New Issue
Block a user