summaryrefslogtreecommitdiffstats
path: root/third_party/libwebp
diff options
context:
space:
mode:
authorGordana.Cmiljanovic@imgtec.com <Gordana.Cmiljanovic@imgtec.com@0039d316-1c4b-4281-b951-d872f2087c98>2014-08-12 21:53:30 +0000
committerGordana.Cmiljanovic@imgtec.com <Gordana.Cmiljanovic@imgtec.com@0039d316-1c4b-4281-b951-d872f2087c98>2014-08-12 21:55:14 +0000
commit35afdba0c73889e195d7ff7eadac4c71c88c3be4 (patch)
tree7258764c2fb98bb014029f784a6cf373814def61 /third_party/libwebp
parent882aa3c950a867ce5485cd2a505d3fd194532714 (diff)
downloadchromium_src-35afdba0c73889e195d7ff7eadac4c71c88c3be4.zip
chromium_src-35afdba0c73889e195d7ff7eadac4c71c88c3be4.tar.gz
chromium_src-35afdba0c73889e195d7ff7eadac4c71c88c3be4.tar.bz2
libwebp: mips32r6 build fix
b7e5a5c MIPS: detect mips32r6 and disable mips32r1 code Part of 0524d9e that got missed in previous cherry-pick BUG=400684,374343 Review URL: https://codereview.chromium.org/460303002 Cr-Commit-Position: refs/heads/master@{#289075} git-svn-id: svn://svn.chromium.org/chrome/trunk/src@289075 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'third_party/libwebp')
-rw-r--r--third_party/libwebp/README.chromium1
-rw-r--r--third_party/libwebp/dsp/dsp.h2
-rw-r--r--third_party/libwebp/utils/bit_reader_inl.h3
3 files changed, 4 insertions, 2 deletions
diff --git a/third_party/libwebp/README.chromium b/third_party/libwebp/README.chromium
index 8021584..0d37846 100644
--- a/third_party/libwebp/README.chromium
+++ b/third_party/libwebp/README.chromium
@@ -25,3 +25,4 @@ Local changes:
Cherry-picks:
Revert patch f7fc4bc: dec/webp.c: don't wait for data before reporting w/h
0524d9e dsp: detect mips64 & disable mips32 code
+ b7e5a5c MIPS: detect mips32r6 and disable mips32r1 code
diff --git a/third_party/libwebp/dsp/dsp.h b/third_party/libwebp/dsp/dsp.h
index 73a8253..f8813d7 100644
--- a/third_party/libwebp/dsp/dsp.h
+++ b/third_party/libwebp/dsp/dsp.h
@@ -60,7 +60,7 @@ extern "C" {
#define WEBP_USE_NEON
#endif
-#if defined(__mips__) && !defined(__mips64)
+#if defined(__mips__) && !defined(__mips64) && (__mips_isa_rev < 6)
#define WEBP_USE_MIPS32
#endif
diff --git a/third_party/libwebp/utils/bit_reader_inl.h b/third_party/libwebp/utils/bit_reader_inl.h
index b8d2c04..81427c6 100644
--- a/third_party/libwebp/utils/bit_reader_inl.h
+++ b/third_party/libwebp/utils/bit_reader_inl.h
@@ -24,6 +24,7 @@
#include <string.h> // memcpy
#endif
+#include "../dsp/dsp.h"
#include "./bit_reader.h"
#include "./endian_inl.h"
@@ -63,7 +64,7 @@ static WEBP_INLINE void VP8LoadNewBytes(VP8BitReader* const br) {
#if defined(WEBP_FORCE_ALIGNED)
lbit_t in_bits;
memcpy(&in_bits, br->buf_, sizeof(in_bits));
-#elif defined(__mips__) // MIPS
+#elif defined(WEBP_USE_MIPS32)
// This is needed because of un-aligned read.
lbit_t in_bits;
lbit_t* p_buf_ = (lbit_t*)br->buf_;