| Index: third_party/libwebp/webp/decode.h
|
| diff --git a/third_party/libwebp/webp/decode.h b/third_party/libwebp/webp/decode.h
|
| index 8d3f7be92b56d77578373583761de49cbf626201..143e4fbeabf46d595e2a36b10b647de8d32ebb66 100644
|
| --- a/third_party/libwebp/webp/decode.h
|
| +++ b/third_party/libwebp/webp/decode.h
|
| @@ -20,7 +20,7 @@
|
| extern "C" {
|
| #endif
|
|
|
| -#define WEBP_DECODER_ABI_VERSION 0x0203 // MAJOR(8b) + MINOR(8b)
|
| +#define WEBP_DECODER_ABI_VERSION 0x0208 // MAJOR(8b) + MINOR(8b)
|
|
|
| // Note: forward declaring enumerations is not allowed in (strict) C and C++,
|
| // the types are left here for reference.
|
| @@ -48,7 +48,7 @@ WEBP_EXTERN(int) WebPGetInfo(const uint8_t* data, size_t data_size,
|
| // Decodes WebP images pointed to by 'data' and returns RGBA samples, along
|
| // with the dimensions in *width and *height. The ordering of samples in
|
| // memory is R, G, B, A, R, G, B, A... in scan order (endian-independent).
|
| -// The returned pointer should be deleted calling free().
|
| +// The returned pointer should be deleted calling WebPFree().
|
| // Returns NULL in case of error.
|
| WEBP_EXTERN(uint8_t*) WebPDecodeRGBA(const uint8_t* data, size_t data_size,
|
| int* width, int* height);
|
| @@ -73,9 +73,9 @@ WEBP_EXTERN(uint8_t*) WebPDecodeBGR(const uint8_t* data, size_t data_size,
|
|
|
| // Decode WebP images pointed to by 'data' to Y'UV format(*). The pointer
|
| // returned is the Y samples buffer. Upon return, *u and *v will point to
|
| -// the U and V chroma data. These U and V buffers need NOT be free()'d,
|
| -// unlike the returned Y luma one. The dimension of the U and V planes
|
| -// are both (*width + 1) / 2 and (*height + 1)/ 2.
|
| +// the U and V chroma data. These U and V buffers need NOT be passed to
|
| +// WebPFree(), unlike the returned Y luma one. The dimension of the U and V
|
| +// planes are both (*width + 1) / 2 and (*height + 1)/ 2.
|
| // Upon return, the Y buffer has a stride returned as '*stride', while U and V
|
| // have a common stride returned as '*uv_stride'.
|
| // Return NULL in case of error.
|
| @@ -85,6 +85,9 @@ WEBP_EXTERN(uint8_t*) WebPDecodeYUV(const uint8_t* data, size_t data_size,
|
| uint8_t** u, uint8_t** v,
|
| int* stride, int* uv_stride);
|
|
|
| +// Releases memory returned by the WebPDecode*() functions above.
|
| +WEBP_EXTERN(void) WebPFree(void* ptr);
|
| +
|
| // These five functions are variants of the above ones, that decode the image
|
| // directly into a pre-allocated buffer 'output_buffer'. The maximum storage
|
| // available in this buffer is indicated by 'output_buffer_size'. If this
|
| @@ -406,12 +409,7 @@ struct WebPBitstreamFeatures {
|
| int has_animation; // True if the bitstream is an animation.
|
| int format; // 0 = undefined (/mixed), 1 = lossy, 2 = lossless
|
|
|
| - // Unused for now:
|
| - int no_incremental_decoding; // if true, using incremental decoding is not
|
| - // recommended.
|
| - int rotate; // TODO(later)
|
| - int uv_sampling; // should be 0 for now. TODO(later)
|
| - uint32_t pad[2]; // padding for later use
|
| + uint32_t pad[5]; // padding for later use
|
| };
|
|
|
| // Internal, version-checked, entry point
|
| @@ -442,23 +440,10 @@ struct WebPDecoderOptions {
|
| int scaled_width, scaled_height; // final resolution
|
| int use_threads; // if true, use multi-threaded decoding
|
| int dithering_strength; // dithering strength (0=Off, 100=full)
|
| -#if WEBP_DECODER_ABI_VERSION > 0x0203
|
| int flip; // flip output vertically
|
| -#endif
|
| -#if WEBP_DECODER_ABI_VERSION > 0x0204
|
| int alpha_dithering_strength; // alpha dithering strength in [0..100]
|
| -#endif
|
|
|
| - // Unused for now:
|
| - int force_rotation; // forced rotation (to be applied _last_)
|
| - int no_enhancement; // if true, discard enhancement layer
|
| -#if WEBP_DECODER_ABI_VERSION < 0x0203
|
| uint32_t pad[5]; // padding for later use
|
| -#elif WEBP_DECODER_ABI_VERSION < 0x0204
|
| - uint32_t pad[4]; // padding for later use
|
| -#else
|
| - uint32_t pad[3]; // padding for later use
|
| -#endif
|
| };
|
|
|
| // Main object storing the configuration for advanced decoding.
|
|
|