diff options
author | Eirik Aavitsland <eirik.aavitsland@qt.io> | 2023-01-13 10:33:09 +0100 |
---|---|---|
committer | Eirik Aavitsland <eirik.aavitsland@qt.io> | 2023-01-16 14:01:04 +0100 |
commit | 3cba6d10543c508e2c2f8b942dad9147c0d1ea0d (patch) | |
tree | bd20f277152ce381f71d4c4c6be043773dc4fd8e /src/3rdparty/libwebp/src/dsp/enc_neon.c | |
parent | cd92d76e9dcd98f4fc974c796453459779393bdc (diff) | |
download | qtimageformats-3cba6d10543c508e2c2f8b942dad9147c0d1ea0d.tar.gz |
Update bundled libwebp to version 1.3.0
[ChangeLog][Third-Party Code] Update bundled libwebp to version 1.3.0
Pick-to: 6.5 6.4 6.2 5.15
Change-Id: Ib7645b7348e950bfa27b902de6da879f8309408d
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
Diffstat (limited to 'src/3rdparty/libwebp/src/dsp/enc_neon.c')
-rw-r--r-- | src/3rdparty/libwebp/src/dsp/enc_neon.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/src/3rdparty/libwebp/src/dsp/enc_neon.c b/src/3rdparty/libwebp/src/dsp/enc_neon.c index 601962b..3a04111 100644 --- a/src/3rdparty/libwebp/src/dsp/enc_neon.c +++ b/src/3rdparty/libwebp/src/dsp/enc_neon.c @@ -764,9 +764,14 @@ static WEBP_INLINE void AccumulateSSE16_NEON(const uint8_t* const a, // Horizontal sum of all four uint32_t values in 'sum'. static int SumToInt_NEON(uint32x4_t sum) { +#if defined(__aarch64__) + return (int)vaddvq_u32(sum); +#else const uint64x2_t sum2 = vpaddlq_u32(sum); - const uint64_t sum3 = vgetq_lane_u64(sum2, 0) + vgetq_lane_u64(sum2, 1); - return (int)sum3; + const uint32x2_t sum3 = vadd_u32(vreinterpret_u32_u64(vget_low_u64(sum2)), + vreinterpret_u32_u64(vget_high_u64(sum2))); + return (int)vget_lane_u32(sum3, 0); +#endif } static int SSE16x16_NEON(const uint8_t* a, const uint8_t* b) { |