From 64dce5d826c1e6db45585ecc29dd2fcf4d989d1d Mon Sep 17 00:00:00 2001 From: James Zern Date: Mon, 6 Oct 2025 13:49:20 -0700 Subject: [PATCH] api.md: mention 'exact' default in WebPEncodeLossless* Note that config.exact defaults to 0 and point users to WebPEncode() if the default isn't acceptable. This duplicates the comment from encode.h for visibility. Follow up to: 6d2e11ec encode.h: mention 'exact' default in WebPEncodeLossless* Bug: 449296530 Change-Id: Iba44dbcbb179bd80ea0a6b9e129b2c7e0a406916 --- doc/api.md | 6 ++++++ src/webp/encode.h | 7 ++++--- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/doc/api.md b/doc/api.md index 1193f00d..d4fe9741 100644 --- a/doc/api.md +++ b/doc/api.md @@ -36,6 +36,12 @@ size_t WebPEncodeLosslessBGRA(const uint8_t* bgra, int width, int height, Of course in this case, no quality factor is needed since the compression occurs without loss of the input values, at the expense of larger output sizes. +Note these functions, like the lossy versions, use the library's default +settings. For lossless this means 'exact' is disabled. RGB values in fully +transparent areas (that is, areas with alpha values equal to `0`) will be +modified to improve compression. To avoid this, use `WebPEncode()` and set +`WebPConfig::exact` to `1`. + ### Advanced encoding API A more advanced API is based on the WebPConfig and WebPPicture structures. diff --git a/src/webp/encode.h b/src/webp/encode.h index fd9fc4f1..a619afc8 100644 --- a/src/webp/encode.h +++ b/src/webp/encode.h @@ -65,9 +65,10 @@ WEBP_EXTERN size_t WebPEncodeBGRA(const uint8_t* bgra, int width, int height, // lossless manner. Files are usually larger than lossy format, but will // not suffer any compression loss. // Note these functions, like the lossy versions, use the library's default -// settings. For lossless this means 'exact' is disabled. RGB values in -// transparent areas will be modified to improve compression. To avoid this, -// use WebPEncode() and set WebPConfig::exact to 1. +// settings. For lossless this means 'exact' is disabled. RGB values in fully +// transparent areas (that is, areas with alpha values equal to 0) will be +// modified to improve compression. To avoid this, use WebPEncode() and set +// WebPConfig::exact to 1. WEBP_EXTERN size_t WebPEncodeLosslessRGB(const uint8_t* rgb, int width, int height, int stride, uint8_t** output);