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