mirror of
https://github.com/webmproject/libwebp.git
synced 2024-12-27 06:08:21 +01:00
Have the color cache computation be u32-bit only.
BUG=webp:412 Change-Id: I18a3acb1b7f5d64f538b5c27521bc9e8dd599f5e
This commit is contained in:
parent
6bcf876980
commit
7d05d6ca91
@ -191,13 +191,13 @@ void VP8LHashChainClear(VP8LHashChain* const p) {
|
|||||||
|
|
||||||
// -----------------------------------------------------------------------------
|
// -----------------------------------------------------------------------------
|
||||||
|
|
||||||
#define HASH_MULTIPLIER_HI (0xc6a4a793ULL)
|
static const uint32_t kHashMultiplierHi = 0xc6a4a793u;
|
||||||
#define HASH_MULTIPLIER_LO (0x5bd1e996ULL)
|
static const uint32_t kHashMultiplierLo = 0x5bd1e996u;
|
||||||
|
|
||||||
static WEBP_INLINE uint32_t GetPixPairHash64(const uint32_t* const argb) {
|
static WEBP_INLINE uint32_t GetPixPairHash64(const uint32_t* const argb) {
|
||||||
uint32_t key;
|
uint32_t key;
|
||||||
key = (argb[1] * HASH_MULTIPLIER_HI) & 0xffffffffu;
|
key = argb[1] * kHashMultiplierHi;
|
||||||
key += (argb[0] * HASH_MULTIPLIER_LO) & 0xffffffffu;
|
key += argb[0] * kHashMultiplierLo;
|
||||||
key = key >> (32 - HASH_BITS);
|
key = key >> (32 - HASH_BITS);
|
||||||
return key;
|
return key;
|
||||||
}
|
}
|
||||||
|
@ -30,10 +30,10 @@ typedef struct {
|
|||||||
int hash_bits_;
|
int hash_bits_;
|
||||||
} VP8LColorCache;
|
} VP8LColorCache;
|
||||||
|
|
||||||
static const uint64_t kHashMul = 0x1e35a7bdull;
|
static const uint32_t kHashMul = 0x1e35a7bdu;
|
||||||
|
|
||||||
static WEBP_INLINE int VP8LHashPix(uint32_t argb, int shift) {
|
static WEBP_INLINE int VP8LHashPix(uint32_t argb, int shift) {
|
||||||
return (int)(((argb * kHashMul) & 0xffffffffu) >> shift);
|
return (int)((argb * kHashMul) >> shift);
|
||||||
}
|
}
|
||||||
|
|
||||||
static WEBP_INLINE uint32_t VP8LColorCacheLookup(
|
static WEBP_INLINE uint32_t VP8LColorCacheLookup(
|
||||||
|
Loading…
Reference in New Issue
Block a user