cwebp
Version:
node.js wrapper for cwebp and dwebp binaries from WebP image processing utility
265 lines (264 loc) • 7.41 kB
JSON
{
"global": {
"crop": {
"type": [
"number",
"number",
"number",
"number"
],
"description": "crop picture with the given rectangle"
},
"multiThreading": {
"key": "mt",
"type": "boolean",
"description": "use multi-threading if available"
},
"noasm": {
"type": "boolean",
"description": "disable all assembly optimizations"
}
},
"cwebp": {
"quality": {
"key": "q",
"type": "number",
"description": "quality factor (0:small..100:big), default=75"
},
"alphaQuality": {
"key": "alpha_q",
"type": "number",
"description": "transparency-compression quality (0..100), default=100"
},
"preset": {
"description": "preset setting, one of: default, photo, picture, drawing, icon, text"
},
"losslessPreset": {
"key": "z",
"type": "number",
"description": "activates lossless preset with given level in [0:fast, ..., 9:slowest]"
},
"compression": {
"key": "m",
"type": "number",
"description": "compression method (0=fast, 6=slowest), default=4"
},
"segments": {
"type": "number",
"description": "number of segments to use (1..4), default=4"
},
"size": {
"type": "number",
"description": "target size (in bytes)"
},
"psnr": {
"type": "number",
"description": "target PSNR (in dB. typically: 42)"
},
"inputSize": {
"key": "s",
"type": [
"number",
"number"
],
"description": "input size (width x height) for YUV"
},
"sns": {
"type": "number",
"description": "spatial Noise Shaping (0:off, 100:max), default=50"
},
"strength": {
"key": "f",
"type": "number",
"description": "filter strength (0=off..100), default=60"
},
"sharpness": {
"type": "number",
"description": "filter sharpness (0:most .. 7:least sharp), default=0"
},
"strong": {
"type": "boolean",
"exclude": "nostrong",
"description": "use strong filter instead of simple (default)"
},
"nostrong": {
"type": "boolean",
"exclude": "strong",
"aliases": [
"simple"
],
"description": "use simple filter instead of strong"
},
"sharpYUV": {
"key": "sharp_yuv",
"type": "boolean",
"description": "use sharper (and slower) RGB->YUV conversion"
},
"partitionLimit": {
"key": "partition_limit",
"type": "number",
"description": "limit quality to fit the 512k limit on the first partition (0=no degradation ... 100=full)"
},
"pass": {
"type": "number",
"description": "analysis pass number (1..10)"
},
"resize": {
"type": [
"number",
"number"
],
"description": "resize picture (after any cropping)"
},
"lowMemory": {
"key": "low_memory",
"type": "boolean",
"description": "reduce memory usage (slower encoding)"
},
"dump": {
"key": "d",
"description": "dump the compressed output (PGM file)"
},
"alphaMethod": {
"key": "alpha_method",
"type": "number",
"description": "transparency-compression method (0..1), default=1"
},
"alphaFilter": {
"key": "alpha_filter",
"description": "predictive filtering for alpha plane, one of: none, fast (default) or best"
},
"alphaCleanup": {
"key": "alpha_cleanup",
"type": "boolean",
"description": "clean RGB values in transparent area"
},
"blendAlpha": {
"key": "blend_alpha",
"description": "blend colors against background color expressed as RGB values written in hexadecimal, e.g. 0xc0e0d0 for red=0xc0 green=0xe0 and blue=0xd0"
},
"noalpha": {
"type": "boolean",
"description": "discard any transparency information"
},
"exact": {
"type": "boolean",
"description": "preserve RGB values in transparent area, default=off"
},
"lossless": {
"type": "boolean",
"description": "encode image losslessly, default=off"
},
"nearLossless": {
"key": "near_lossless",
"type": "number",
"description": "use near-lossless image preprocessing (0..100=off), default=100"
},
"hint": {
"description": "specify image characteristics hint, one of: photo, picture or graph"
},
"metadata": {
"description": "comma separated list of metadata to copy from the input to the output if present, valid values: all, none (default), exif, icc, xmp"
},
"jpegLike": {
"key": "jpeg_like",
"type": "boolean",
"description": "roughly match expected JPEG size (experimental)"
},
"autoAdjust": {
"key": "af",
"type": "boolean",
"description": "auto-adjust filter strength (experimental)"
},
"pre": {
"type": "number",
"description": "pre-processing filter (experimental)"
},
"verbose": {
"key": "v",
"type": "boolean",
"description": "verbose error reporting"
}
},
"dwebp": {
"png": {
"key": "-",
"type": "boolean",
"exclude": ["pam", "ppm", "bmp", "tiff", "pgm", "yuv"],
"description": "save as PNG format (default)"
},
"pam": {
"type": "boolean",
"exclude": ["png", "ppm", "bmp", "tiff", "pgm", "yuv"],
"description": "save the raw RGBA samples as a color PAM"
},
"ppm": {
"type": "boolean",
"exclude": ["png", "pam", "bmp", "tiff", "pgm", "yuv"],
"description": "save the raw RGB samples as a color PPM"
},
"bmp": {
"type": "boolean",
"exclude": ["png", "pam", "ppm", "tiff", "pgm", "yuv"],
"description": "save as uncompressed BMP format"
},
"tiff": {
"type": "boolean",
"exclude": ["png", "pam", "ppm", "bmp", "pgm", "yuv"],
"description": "save as uncompressed TIFF format"
},
"pgm": {
"type": "boolean",
"exclude": ["png", "pam", "ppm", "bmp", "tiff", "yuv"],
"description": "save the raw YUV samples as a grayscale PGM file with IMC4 layout"
},
"yuv": {
"type": "boolean",
"exclude": ["png", "pam", "ppm", "bmp", "tiff", "pgm"],
"description": "save the raw YUV samples in flat layout"
},
"dither": {
"type": "number",
"description": "dithering strength (in 0..100)"
},
"alphaDither": {
"key": "alpha_dither",
"type": "boolean",
"description": "use alpha-plane dithering if needed"
},
"scale": {
"type": [
"number",
"number"
],
"aliases": [
"resize"
],
"description": "scale the output (after any cropping)"
},
"flip": {
"type": "boolean",
"description": "flip the output vertically"
},
"nofancy": {
"type": "boolean",
"description": "don't use the fancy YUV420 upscaler."
},
"nofilter": {
"type": "boolean",
"description": "disable in-loop filtering."
},
"nodither": {
"type": "boolean",
"description": "disable dithering"
},
"alpha": {
"type": "boolean",
"description": "only save the alpha plane."
},
"incremental": {
"type": "boolean",
"description": "use incremental decoding (useful for tests)"
}
}
}