diff --git a/examples/cwebp.c b/examples/cwebp.c index 98f36816..8d186873 100644 --- a/examples/cwebp.c +++ b/examples/cwebp.c @@ -577,8 +577,8 @@ static void HelpLong(void) { printf(" -near_lossless ... use near-lossless image\n" " preprocessing (0..100=off), " "default=100\n"); -#ifdef WEBP_EXPERIMENTAL_FEATURES - printf(" -delta_palettization ... use delta palettization\n"); +#ifdef WEBP_EXPERIMENTAL_FEATURES /* not documented yet */ + printf(" -delta_palette ......... use delta palettization\n"); #endif // WEBP_EXPERIMENTAL_FEATURES printf(" -hint ......... specify image characteristics hint,\n"); printf(" one of: photo, picture or graph\n"); @@ -749,9 +749,9 @@ int main(int argc, const char *argv[]) { config.near_lossless = ExUtilGetInt(argv[++c], 0, &parse_error); config.lossless = 1; // use near-lossless only with lossless #ifdef WEBP_EXPERIMENTAL_FEATURES - } else if (!strcmp(argv[c], "-delta_palettization")) { - config.delta_palettization = 1; - config.lossless = 1; // use delta-palettization only with lossless + } else if (!strcmp(argv[c], "-delta_palette")) { + config.use_delta_palette = 1; + config.lossless = 1; // delta-palette is for lossless only #endif // WEBP_EXPERIMENTAL_FEATURES } else if (!strcmp(argv[c], "-hint") && c < argc - 1) { ++c; diff --git a/src/enc/config_enc.c b/src/enc/config_enc.c index f7975ffc..9921fc45 100644 --- a/src/enc/config_enc.c +++ b/src/enc/config_enc.c @@ -53,9 +53,7 @@ int WebPConfigInitInternal(WebPConfig* config, config->thread_level = 0; config->low_memory = 0; config->near_lossless = 100; -#ifdef WEBP_EXPERIMENTAL_FEATURES - config->delta_palettization = 0; -#endif // WEBP_EXPERIMENTAL_FEATURES + config->use_delta_palette = 0; // TODO(skal): tune. switch (preset) { @@ -121,11 +119,9 @@ int WebPValidateConfig(const WebPConfig* config) { if (config->thread_level < 0 || config->thread_level > 1) return 0; if (config->low_memory < 0 || config->low_memory > 1) return 0; if (config->exact < 0 || config->exact > 1) return 0; -#ifdef WEBP_EXPERIMENTAL_FEATURES - if (config->delta_palettization < 0 || config->delta_palettization > 1) { + if (config->use_delta_palette < 0 || config->use_delta_palette > 1) { return 0; } -#endif // WEBP_EXPERIMENTAL_FEATURES return 1; } diff --git a/src/enc/vp8l_enc.c b/src/enc/vp8l_enc.c index a7e88af6..b1a793d9 100644 --- a/src/enc/vp8l_enc.c +++ b/src/enc/vp8l_enc.c @@ -1454,7 +1454,7 @@ WebPEncodingError VP8LEncodeStream(const WebPConfig* const config, int use_near_lossless = 0; int hdr_size = 0; int data_size = 0; - int use_delta_palettization = 0; + int use_delta_palette = 0; if (enc == NULL) { err = VP8_ENC_ERROR_OUT_OF_MEMORY; @@ -1481,7 +1481,7 @@ WebPEncodingError VP8LEncodeStream(const WebPConfig* const config, } #ifdef WEBP_EXPERIMENTAL_FEATURES - if (config->delta_palettization) { + if (config->use_delta_palette) { enc->use_predict_ = 1; enc->use_cross_color_ = 0; enc->use_subtract_green_ = 0; @@ -1495,7 +1495,7 @@ WebPEncodingError VP8LEncodeStream(const WebPConfig* const config, if (err != VP8_ENC_OK) goto Error; err = EncodeDeltaPalettePredictorImage(bw, enc, quality, low_effort); if (err != VP8_ENC_OK) goto Error; - use_delta_palettization = 1; + use_delta_palette = 1; } } #endif // WEBP_EXPERIMENTAL_FEATURES @@ -1504,14 +1504,14 @@ WebPEncodingError VP8LEncodeStream(const WebPConfig* const config, if (enc->use_palette_) { err = EncodePalette(bw, low_effort, enc); if (err != VP8_ENC_OK) goto Error; - err = MapImageFromPalette(enc, use_delta_palettization); + err = MapImageFromPalette(enc, use_delta_palette); if (err != VP8_ENC_OK) goto Error; // If using a color cache, do not have it bigger than the number of colors. if (use_cache && enc->palette_size_ < (1 << MAX_COLOR_CACHE_BITS)) { enc->cache_bits_ = BitsLog2Floor(enc->palette_size_) + 1; } } - if (!use_delta_palettization) { + if (!use_delta_palette) { // In case image is not packed. if (enc->argb_ == NULL) { err = MakeInputImageCopy(enc); diff --git a/src/webp/encode.h b/src/webp/encode.h index fe21ded0..c155f4e7 100644 --- a/src/webp/encode.h +++ b/src/webp/encode.h @@ -20,7 +20,7 @@ extern "C" { #endif -#define WEBP_ENCODER_ABI_VERSION 0x020b // MAJOR(8b) + MINOR(8b) +#define WEBP_ENCODER_ABI_VERSION 0x020c // MAJOR(8b) + MINOR(8b) // Note: forward declaring enumerations is not allowed in (strict) C and C++, // the types are left here for reference. @@ -141,12 +141,8 @@ struct WebPConfig { // RGB information for better compression. The default // value is 0. -#ifdef WEBP_EXPERIMENTAL_FEATURES - int delta_palettization; - uint32_t pad[2]; // padding for later use -#else + int use_delta_palette; // reserved for future lossless feature uint32_t pad[3]; // padding for later use -#endif // WEBP_EXPERIMENTAL_FEATURES }; // Enumerate some predefined settings for WebPConfig, depending on the type