summaryrefslogtreecommitdiffstats
path: root/src/3rdparty/libwebp/src/webp
diff options
context:
space:
mode:
authorLiang Qi <liang.qi@qt.io>2017-03-06 14:33:16 +0100
committerLiang Qi <liang.qi@qt.io>2017-03-06 14:33:34 +0100
commitf2dbc67c2b032a5f27d0224e020fb6dfcd3fd142 (patch)
treec5c195998f538fd7b9aa1382ced53caf2dec3926 /src/3rdparty/libwebp/src/webp
parentd2306d74850986692c02b70df0d7a6a6e933d0dc (diff)
parent03e507c8f3816053257b3c351d79c494b6f9174d (diff)
Merge remote-tracking branch 'origin/5.8' into 5.9
Diffstat (limited to 'src/3rdparty/libwebp/src/webp')
-rw-r--r--src/3rdparty/libwebp/src/webp/config.h24
-rw-r--r--src/3rdparty/libwebp/src/webp/decode.h21
-rw-r--r--src/3rdparty/libwebp/src/webp/encode.h4
3 files changed, 36 insertions, 13 deletions
diff --git a/src/3rdparty/libwebp/src/webp/config.h b/src/3rdparty/libwebp/src/webp/config.h
index 4ea0737..118ac38 100644
--- a/src/3rdparty/libwebp/src/webp/config.h
+++ b/src/3rdparty/libwebp/src/webp/config.h
@@ -79,7 +79,7 @@
#define PACKAGE_NAME "libwebp"
/* Define to the full name and version of this package. */
-#define PACKAGE_STRING "libwebp 0.5.0"
+#define PACKAGE_STRING "libwebp 0.5.1"
/* Define to the one symbol short name of this package. */
#define PACKAGE_TARNAME "libwebp"
@@ -88,7 +88,7 @@
#define PACKAGE_URL "http://developers.google.com/speed/webp"
/* Define to the version of this package. */
-#define PACKAGE_VERSION "0.5.0"
+#define PACKAGE_VERSION "0.5.1"
/* Define to necessary symbol if this constant uses a non-standard name on
your system. */
@@ -98,7 +98,7 @@
/* #undef STDC_HEADERS */
/* Version number of package */
-#define VERSION "0.5.0"
+#define VERSION "0.5.1"
/* Enable experimental code */
/* #undef WEBP_EXPERIMENTAL_FEATURES */
@@ -118,12 +118,21 @@
/* Set to 1 if JPEG library is installed */
/* #undef WEBP_HAVE_JPEG */
+/* Set to 1 if NEON is supported */
+/* #undef WEBP_HAVE_NEON */
+
+/* Set to 1 if runtime detection of NEON is enabled */
+/* #undef WEBP_HAVE_NEON_RTCD */
+
/* Set to 1 if PNG library is installed */
/* #undef WEBP_HAVE_PNG */
/* Set to 1 if SSE2 is supported */
/* #undef WEBP_HAVE_SSE2 */
+/* Set to 1 if SSE4.1 is supported */
+/* #undef WEBP_HAVE_SSE41 */
+
/* Set to 1 if TIFF library is installed */
/* #undef WEBP_HAVE_TIFF */
@@ -132,6 +141,15 @@
/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most
significant byte first (like Motorola and SPARC, unlike Intel). */
+/* #if defined AC_APPLE_UNIVERSAL_BUILD */
+/* # if defined __BIG_ENDIAN__ */
+/* # define WORDS_BIGENDIAN 1 */
+/* # endif */
+/* #else */
+/* # ifndef WORDS_BIGENDIAN */
+/* /* # undef WORDS_BIGENDIAN */
+/* # endif */
+/* #endif */
#if (Q_BYTE_ORDER == Q_BIG_ENDIAN)
#define WORDS_BIGENDIAN 1
#endif
diff --git a/src/3rdparty/libwebp/src/webp/decode.h b/src/3rdparty/libwebp/src/webp/decode.h
index 143e4fb..7a3bed9 100644
--- a/src/3rdparty/libwebp/src/webp/decode.h
+++ b/src/3rdparty/libwebp/src/webp/decode.h
@@ -39,8 +39,8 @@ typedef struct WebPDecoderConfig WebPDecoderConfig;
WEBP_EXTERN(int) WebPGetDecoderVersion(void);
// Retrieve basic header information: width, height.
-// This function will also validate the header and return 0 in
-// case of formatting error.
+// This function will also validate the header, returning true on success,
+// false otherwise. '*width' and '*height' are only valid on successful return.
// Pointers 'width' and 'height' can be passed NULL if deemed irrelevant.
WEBP_EXTERN(int) WebPGetInfo(const uint8_t* data, size_t data_size,
int* width, int* height);
@@ -197,7 +197,10 @@ struct WebPYUVABuffer { // view as YUVA
struct WebPDecBuffer {
WEBP_CSP_MODE colorspace; // Colorspace.
int width, height; // Dimensions.
- int is_external_memory; // If true, 'internal_memory' pointer is not used.
+ int is_external_memory; // If non-zero, 'internal_memory' pointer is not
+ // used. If value is '2' or more, the external
+ // memory is considered 'slow' and multiple
+ // read/write will be avoided.
union {
WebPRGBABuffer RGBA;
WebPYUVABuffer YUVA;
@@ -205,7 +208,7 @@ struct WebPDecBuffer {
uint32_t pad[4]; // padding for later use
uint8_t* private_memory; // Internally allocated memory (only when
- // is_external_memory is false). Should not be used
+ // is_external_memory is 0). Should not be used
// externally, but accessed via the buffer union.
};
@@ -269,7 +272,7 @@ typedef enum VP8StatusCode {
// that of the returned WebPIDecoder object.
// The supplied 'output_buffer' content MUST NOT be changed between calls to
// WebPIAppend() or WebPIUpdate() unless 'output_buffer.is_external_memory' is
-// set to 1. In such a case, it is allowed to modify the pointers, size and
+// not set to 0. In such a case, it is allowed to modify the pointers, size and
// stride of output_buffer.u.RGBA or output_buffer.u.YUVA, provided they remain
// within valid bounds.
// All other fields of WebPDecBuffer MUST remain constant between calls.
@@ -468,16 +471,18 @@ static WEBP_INLINE int WebPInitDecoderConfig(WebPDecoderConfig* config) {
// parameter, in which case the features will be parsed and stored into
// config->input. Otherwise, 'data' can be NULL and no parsing will occur.
// Note that 'config' can be NULL too, in which case a default configuration
-// is used.
+// is used. If 'config' is not NULL, it must outlive the WebPIDecoder object
+// as some references to its fields will be used. No internal copy of 'config'
+// is made.
// The return WebPIDecoder object must always be deleted calling WebPIDelete().
// Returns NULL in case of error (and config->status will then reflect
-// the error condition).
+// the error condition, if available).
WEBP_EXTERN(WebPIDecoder*) WebPIDecode(const uint8_t* data, size_t data_size,
WebPDecoderConfig* config);
// Non-incremental version. This version decodes the full data at once, taking
// 'config' into account. Returns decoding status (which should be VP8_STATUS_OK
-// if the decoding was successful).
+// if the decoding was successful). Note that 'config' cannot be NULL.
WEBP_EXTERN(VP8StatusCode) WebPDecode(const uint8_t* data, size_t data_size,
WebPDecoderConfig* config);
diff --git a/src/3rdparty/libwebp/src/webp/encode.h b/src/3rdparty/libwebp/src/webp/encode.h
index c382ea7..9291b71 100644
--- a/src/3rdparty/libwebp/src/webp/encode.h
+++ b/src/3rdparty/libwebp/src/webp/encode.h
@@ -134,8 +134,8 @@ struct WebPConfig {
int thread_level; // If non-zero, try and use multi-threaded encoding.
int low_memory; // If set, reduce memory usage (but increase CPU use).
- int near_lossless; // Near lossless encoding [0 = off(default) .. 100].
- // This feature is experimental.
+ int near_lossless; // Near lossless encoding [0 = max loss .. 100 = off
+ // (default)].
int exact; // if non-zero, preserve the exact RGB values under
// transparent area. Otherwise, discard this invisible
// RGB information for better compression. The default