Index: third_party/libwebp/dsp/dsp.h |
diff --git a/third_party/libwebp/dsp/dsp.h b/third_party/libwebp/dsp/dsp.h |
index 31bda89cc95bc63e61d9977972f96bdbda28d441..3be783afe79b03f64cbc057138bb33f8b821a753 100644 |
--- a/third_party/libwebp/dsp/dsp.h |
+++ b/third_party/libwebp/dsp/dsp.h |
@@ -16,14 +16,15 @@ |
#include "../webp/types.h" |
-#if defined(__cplusplus) || defined(c_plusplus) |
+#ifdef __cplusplus |
extern "C" { |
#endif |
//------------------------------------------------------------------------------ |
// CPU detection |
-#if defined(_MSC_VER) && (defined(_M_X64) || defined(_M_IX86)) |
+#if defined(_MSC_VER) && _MSC_VER > 1310 && \ |
+ (defined(_M_X64) || defined(_M_IX86)) |
#define WEBP_MSC_SSE2 // Visual C++ SSE2 targets |
#endif |
@@ -85,6 +86,11 @@ typedef int (*VP8QuantizeBlock)(int16_t in[16], int16_t out[16], |
int n, const struct VP8Matrix* const mtx); |
extern VP8QuantizeBlock VP8EncQuantizeBlock; |
+// specific to 2nd transform: |
+typedef int (*VP8QuantizeBlockWHT)(int16_t in[16], int16_t out[16], |
+ const struct VP8Matrix* const mtx); |
+extern VP8QuantizeBlockWHT VP8EncQuantizeBlockWHT; |
+ |
// Collect histogram for susceptibility calculation and accumulate in histo[]. |
struct VP8Histogram; |
typedef void (*VP8CHisto)(const uint8_t* ref, const uint8_t* pred, |
@@ -102,6 +108,7 @@ typedef void (*VP8DecIdct)(const int16_t* coeffs, uint8_t* dst); |
// when doing two transforms, coeffs is actually int16_t[2][16]. |
typedef void (*VP8DecIdct2)(const int16_t* coeffs, uint8_t* dst, int do_two); |
extern VP8DecIdct2 VP8Transform; |
+extern VP8DecIdct VP8TransformAC3; |
extern VP8DecIdct VP8TransformUV; |
extern VP8DecIdct VP8TransformDC; |
extern VP8DecIdct VP8TransformDCUV; |
@@ -146,6 +153,8 @@ void VP8DspInit(void); |
#define FANCY_UPSAMPLING // undefined to remove fancy upsampling support |
+// Convert a pair of y/u/v lines together to the output rgb/a colorspace. |
+// bottom_y can be NULL if only one line of output is needed (at top/bottom). |
typedef void (*WebPUpsampleLinePairFunc)( |
const uint8_t* top_y, const uint8_t* bottom_y, |
const uint8_t* top_u, const uint8_t* top_v, |
@@ -160,10 +169,8 @@ extern WebPUpsampleLinePairFunc WebPUpsamplers[/* MODE_LAST */]; |
// Initializes SSE2 version of the fancy upsamplers. |
void WebPInitUpsamplersSSE2(void); |
-#if defined(WEBP_USE_NEON) |
// NEON version |
void WebPInitUpsamplersNEON(void); |
-#endif |
#endif // FANCY_UPSAMPLING |
@@ -206,14 +213,11 @@ extern void (*WebPApplyAlphaMultiply4444)( |
void WebPInitPremultiply(void); |
void WebPInitPremultiplySSE2(void); // should not be called directly. |
- |
-#if defined(WEBP_USE_NEON) |
void WebPInitPremultiplyNEON(void); |
-#endif |
//------------------------------------------------------------------------------ |
-#if defined(__cplusplus) || defined(c_plusplus) |
+#ifdef __cplusplus |
} // extern "C" |
#endif |