| Index: third_party/libwebp/utils/color_cache.h
|
| diff --git a/third_party/libwebp/utils/color_cache.h b/third_party/libwebp/utils/color_cache.h
|
| index 0f824ed457e6fad49579fc7d2ef76f09a787ebac..a9a9f64270fe18f630ecdd36073d8f3e85d1db59 100644
|
| --- a/third_party/libwebp/utils/color_cache.h
|
| +++ b/third_party/libwebp/utils/color_cache.h
|
| @@ -24,17 +24,24 @@ extern "C" {
|
| // Main color cache struct.
|
| typedef struct {
|
| uint32_t *colors_; // color entries
|
| - int hash_shift_; // Hash shift: 32 - hash_bits.
|
| + int hash_shift_; // Hash shift: 32 - hash_bits_.
|
| + int hash_bits_;
|
| } VP8LColorCache;
|
|
|
| static const uint32_t kHashMul = 0x1e35a7bd;
|
|
|
| static WEBP_INLINE uint32_t VP8LColorCacheLookup(
|
| const VP8LColorCache* const cc, uint32_t key) {
|
| - assert(key <= (~0U >> cc->hash_shift_));
|
| + assert((key >> cc->hash_bits_) == 0u);
|
| return cc->colors_[key];
|
| }
|
|
|
| +static WEBP_INLINE void VP8LColorCacheSet(const VP8LColorCache* const cc,
|
| + uint32_t key, uint32_t argb) {
|
| + assert((key >> cc->hash_bits_) == 0u);
|
| + cc->colors_[key] = argb;
|
| +}
|
| +
|
| static WEBP_INLINE void VP8LColorCacheInsert(const VP8LColorCache* const cc,
|
| uint32_t argb) {
|
| const uint32_t key = (kHashMul * argb) >> cc->hash_shift_;
|
| @@ -49,7 +56,7 @@ static WEBP_INLINE int VP8LColorCacheGetIndex(const VP8LColorCache* const cc,
|
| static WEBP_INLINE int VP8LColorCacheContains(const VP8LColorCache* const cc,
|
| uint32_t argb) {
|
| const uint32_t key = (kHashMul * argb) >> cc->hash_shift_;
|
| - return cc->colors_[key] == argb;
|
| + return (cc->colors_[key] == argb);
|
| }
|
|
|
| //------------------------------------------------------------------------------
|
| @@ -58,6 +65,9 @@ static WEBP_INLINE int VP8LColorCacheContains(const VP8LColorCache* const cc,
|
| // Returns false in case of memory error.
|
| int VP8LColorCacheInit(VP8LColorCache* const color_cache, int hash_bits);
|
|
|
| +void VP8LColorCacheCopy(const VP8LColorCache* const src,
|
| + VP8LColorCache* const dst);
|
| +
|
| // Delete the memory associated to color cache.
|
| void VP8LColorCacheClear(VP8LColorCache* const color_cache);
|
|
|
|
|