Index: third_party/libwebp/webp/encode.h |
diff --git a/third_party/libwebp/webp/encode.h b/third_party/libwebp/webp/encode.h |
index dd600568fb70b5332ea0a022ae449d35c0d5e5f2..3c2637489bc28a738c8d9cd9a5b55f83b5b7f39c 100644 |
--- a/third_party/libwebp/webp/encode.h |
+++ b/third_party/libwebp/webp/encode.h |
@@ -231,14 +231,14 @@ struct WebPMemoryWriter { |
// The following must be called first before any use. |
WEBP_EXTERN(void) WebPMemoryWriterInit(WebPMemoryWriter* writer); |
-#if WEBP_ENCODER_ABI_VERSION > 0x0202 |
+#if WEBP_ENCODER_ABI_VERSION > 0x0203 |
// The following must be called to deallocate writer->mem memory. The 'writer' |
// object itself is not deallocated. |
WEBP_EXTERN(void) WebPMemoryWriterClear(WebPMemoryWriter* writer); |
#endif |
// The custom writer to be used with WebPMemoryWriter as custom_ptr. Upon |
// completion, writer.mem and writer.size will hold the coded data. |
-#if WEBP_ENCODER_ABI_VERSION > 0x0202 |
+#if WEBP_ENCODER_ABI_VERSION > 0x0203 |
// writer.mem must be freed by calling WebPMemoryWriterClear. |
#else |
// writer.mem must be freed by calling 'free(writer.mem)'. |
@@ -446,13 +446,14 @@ WEBP_EXTERN(int) WebPPictureImportBGRA( |
WEBP_EXTERN(int) WebPPictureImportBGRX( |
WebPPicture* picture, const uint8_t* bgrx, int bgrx_stride); |
-// Converts picture->argb data to the YUVA format specified by 'colorspace'. |
+// Converts picture->argb data to the YUV420A format. The 'colorspace' |
+// parameter is deprecated and should be equal to WEBP_YUV420. |
// Upon return, picture->use_argb is set to false. The presence of real |
// non-opaque transparent values is detected, and 'colorspace' will be |
// adjusted accordingly. Note that this method is lossy. |
// Returns false in case of error. |
WEBP_EXTERN(int) WebPPictureARGBToYUVA(WebPPicture* picture, |
- WebPEncCSP colorspace); |
+ WebPEncCSP /*colorspace = WEBP_YUV420*/); |
// Same as WebPPictureARGBToYUVA(), but the conversion is done using |
// pseudo-random dithering with a strength 'dithering' between |
@@ -461,6 +462,15 @@ WEBP_EXTERN(int) WebPPictureARGBToYUVA(WebPPicture* picture, |
WEBP_EXTERN(int) WebPPictureARGBToYUVADithered( |
WebPPicture* picture, WebPEncCSP colorspace, float dithering); |
+#if WEBP_ENCODER_ABI_VERSION > 0x0204 |
+// Performs 'smart' RGBA->YUVA420 downsampling and colorspace conversion. |
+// Downsampling is handled with extra care in case of color clipping. This |
+// method is roughly 2x slower than WebPPictureARGBToYUVA() but produces better |
+// YUV representation. |
+// Returns false in case of error. |
+WEBP_EXTERN(int) WebPPictureSmartARGBToYUVA(WebPPicture* picture); |
+#endif |
+ |
// Converts picture->yuv to picture->argb and sets picture->use_argb to true. |
// The input format must be YUV_420 or YUV_420A. |
// Note that the use of this method is discouraged if one has access to the |