| Index: third_party/libwebp/dsp/dsp.h
|
| diff --git a/third_party/libwebp/dsp/dsp.h b/third_party/libwebp/dsp/dsp.h
|
| index f8813d774dde9efe48f98b4e99e5ce47b523fd20..52c44b2dc18323e8265abf49340ff71f032c7491 100644
|
| --- a/third_party/libwebp/dsp/dsp.h
|
| +++ b/third_party/libwebp/dsp/dsp.h
|
| @@ -32,9 +32,19 @@ extern "C" {
|
| # define LOCAL_GCC_PREREQ(maj, min) \
|
| (LOCAL_GCC_VERSION >= (((maj) << 8) | (min)))
|
| #else
|
| +# define LOCAL_GCC_VERSION 0
|
| # define LOCAL_GCC_PREREQ(maj, min) 0
|
| #endif
|
|
|
| +#ifdef __clang__
|
| +# define LOCAL_CLANG_VERSION ((__clang_major__ << 8) | __clang_minor__)
|
| +# define LOCAL_CLANG_PREREQ(maj, min) \
|
| + (LOCAL_CLANG_VERSION >= (((maj) << 8) | (min)))
|
| +#else
|
| +# define LOCAL_CLANG_VERSION 0
|
| +# define LOCAL_CLANG_PREREQ(maj, min) 0
|
| +#endif // __clang__
|
| +
|
| #if defined(_MSC_VER) && _MSC_VER > 1310 && \
|
| (defined(_M_X64) || defined(_M_IX86))
|
| #define WEBP_MSC_SSE2 // Visual C++ SSE2 targets
|
| @@ -62,6 +72,9 @@ extern "C" {
|
|
|
| #if defined(__mips__) && !defined(__mips64) && (__mips_isa_rev < 6)
|
| #define WEBP_USE_MIPS32
|
| +#if (__mips_isa_rev >= 2)
|
| +#define WEBP_USE_MIPS32_R2
|
| +#endif
|
| #endif
|
|
|
| typedef enum {
|
| @@ -244,6 +257,13 @@ extern void (*WebPApplyAlphaMultiply)(
|
| extern void (*WebPApplyAlphaMultiply4444)(
|
| uint8_t* rgba4444, int w, int h, int stride);
|
|
|
| +// Extract the alpha values from 32b values in argb[] and pack them into alpha[]
|
| +// (this is the opposite of WebPDispatchAlpha).
|
| +// Returns true if there's only trivial 0xff alpha values.
|
| +extern int (*WebPExtractAlpha)(const uint8_t* argb, int argb_stride,
|
| + int width, int height,
|
| + uint8_t* alpha, int alpha_stride);
|
| +
|
| // Pre-Multiply operation transforms x into x * A / 255 (where x=Y,R,G or B).
|
| // Un-Multiply operation transforms x into x * 255 / A.
|
|
|
|
|