| Index: third_party/libwebp/enc/config.c
|
| diff --git a/third_party/libwebp/enc/config.c b/third_party/libwebp/enc/config.c
|
| index af7f0b09e821dd9e2712817de9fc98bbd88f0edb..4b7aa0f84e82bc2183e854f80e52785bb9d32d9d 100644
|
| --- a/third_party/libwebp/enc/config.c
|
| +++ b/third_party/libwebp/enc/config.c
|
| @@ -138,3 +138,25 @@ int WebPValidateConfig(const WebPConfig* config) {
|
|
|
| //------------------------------------------------------------------------------
|
|
|
| +#if WEBP_ENCODER_ABI_VERSION > 0x0202
|
| +#define MAX_LEVEL 9
|
| +
|
| +// Mapping between -z level and -m / -q parameter settings.
|
| +static const struct {
|
| + uint8_t method_;
|
| + uint8_t quality_;
|
| +} kLosslessPresets[MAX_LEVEL + 1] = {
|
| + { 0, 0 }, { 1, 20 }, { 2, 25 }, { 3, 30 }, { 3, 50 },
|
| + { 4, 50 }, { 4, 75 }, { 4, 90 }, { 5, 90 }, { 6, 100 }
|
| +};
|
| +
|
| +int WebPConfigLosslessPreset(WebPConfig* config, int level) {
|
| + if (config == NULL || level < 0 || level > MAX_LEVEL) return 0;
|
| + config->lossless = 1;
|
| + config->method = kLosslessPresets[level].method_;
|
| + config->quality = kLosslessPresets[level].quality_;
|
| + return 1;
|
| +}
|
| +#endif
|
| +
|
| +//------------------------------------------------------------------------------
|
|
|