| Index: third_party/libwebp/utils/utils.h
|
| diff --git a/third_party/libwebp/utils/utils.h b/third_party/libwebp/utils/utils.h
|
| index f506d668722f13831a67d75d06733ddbb0ac1e5e..e0a81126df8e703b10cf529b2a89c610573c0b93 100644
|
| --- a/third_party/libwebp/utils/utils.h
|
| +++ b/third_party/libwebp/utils/utils.h
|
| @@ -21,6 +21,7 @@
|
|
|
| #include <assert.h>
|
|
|
| +#include "../dsp/dsp.h"
|
| #include "../webp/types.h"
|
|
|
| #ifdef __cplusplus
|
| @@ -51,7 +52,7 @@ WEBP_EXTERN(void) WebPSafeFree(void* const ptr);
|
| // Alignment
|
|
|
| #define WEBP_ALIGN_CST 31
|
| -#define WEBP_ALIGN(PTR) ((uintptr_t)((PTR) + WEBP_ALIGN_CST) & ~WEBP_ALIGN_CST)
|
| +#define WEBP_ALIGN(PTR) (((uintptr_t)(PTR) + WEBP_ALIGN_CST) & ~WEBP_ALIGN_CST)
|
|
|
| #if defined(WEBP_FORCE_ALIGNED)
|
| #include <string.h>
|
| @@ -65,10 +66,12 @@ static WEBP_INLINE void WebPUint32ToMem(uint8_t* const ptr, uint32_t val) {
|
| memcpy(ptr, &val, sizeof(val));
|
| }
|
| #else
|
| -static WEBP_INLINE uint32_t WebPMemToUint32(const uint8_t* const ptr) {
|
| +static WEBP_UBSAN_IGNORE_UNDEF WEBP_INLINE
|
| +uint32_t WebPMemToUint32(const uint8_t* const ptr) {
|
| return *(const uint32_t*)ptr;
|
| }
|
| -static WEBP_INLINE void WebPUint32ToMem(uint8_t* const ptr, uint32_t val) {
|
| +static WEBP_UBSAN_IGNORE_UNDEF WEBP_INLINE
|
| +void WebPUint32ToMem(uint8_t* const ptr, uint32_t val) {
|
| *(uint32_t*)ptr = val;
|
| }
|
| #endif
|
| @@ -158,6 +161,19 @@ WEBP_EXTERN(void) WebPCopyPixels(const struct WebPPicture* const src,
|
| struct WebPPicture* const dst);
|
|
|
| //------------------------------------------------------------------------------
|
| +// Unique colors.
|
| +
|
| +// Returns count of unique colors in 'pic', assuming pic->use_argb is true.
|
| +// If the unique color count is more than MAX_COLOR_COUNT, returns
|
| +// MAX_COLOR_COUNT+1.
|
| +// If 'palette' is not NULL and number of unique colors is less than or equal to
|
| +// MAX_COLOR_COUNT, also outputs the actual unique colors into 'palette'.
|
| +// Note: 'palette' is assumed to be an array already allocated with at least
|
| +// MAX_COLOR_COUNT elements.
|
| +WEBP_EXTERN(int) WebPGetColorPalette(const struct WebPPicture* const pic,
|
| + uint32_t* const palette);
|
| +
|
| +//------------------------------------------------------------------------------
|
|
|
| #ifdef __cplusplus
|
| } // extern "C"
|
|
|