mirror of
https://github.com/webmproject/libwebp.git
synced 2025-01-27 15:12:54 +01:00
neon: normalize vdup_n_* usage
with constants, prefer this over vmov_n_* or vcreate_* Change-Id: Ia84b2a82faea58e2626211a7e2257e0ba4af358a
This commit is contained in:
parent
6ee7160dd2
commit
e59f53600f
@ -412,8 +412,8 @@ static WEBP_INLINE void SaturateAndStore4x4(uint8_t* const dst,
|
||||
|
||||
static WEBP_INLINE void Add4x4(const int16x8_t row01, const int16x8_t row23,
|
||||
uint8_t* const dst) {
|
||||
uint32x2_t dst01 = vcreate_u32(0);
|
||||
uint32x2_t dst23 = vcreate_u32(0);
|
||||
uint32x2_t dst01 = vdup_n_u32(0);
|
||||
uint32x2_t dst23 = vdup_n_u32(0);
|
||||
|
||||
// Load the source pixels.
|
||||
dst01 = vld1_lane_u32((uint32_t*)(dst + 0 * BPS), dst01, 0);
|
||||
|
@ -59,8 +59,8 @@ static WEBP_INLINE void SaturateAndStore4x4(uint8_t* const dst,
|
||||
|
||||
static WEBP_INLINE void Add4x4(const int16x8_t row01, const int16x8_t row23,
|
||||
const uint8_t* const ref, uint8_t* const dst) {
|
||||
uint32x2_t dst01 = vcreate_u32(0);
|
||||
uint32x2_t dst23 = vcreate_u32(0);
|
||||
uint32x2_t dst01 = vdup_n_u32(0);
|
||||
uint32x2_t dst23 = vdup_n_u32(0);
|
||||
|
||||
// Load the source pixels.
|
||||
dst01 = vld1_lane_u32((uint32_t*)(ref + 0 * BPS), dst01, 0);
|
||||
|
@ -91,7 +91,7 @@ static void Upsample16Pixels(const uint8_t *r1, const uint8_t *r2,
|
||||
|
||||
static const int16_t kCoeffs[4] = { kYScale, kVToR, kUToG, kVToG };
|
||||
|
||||
#define v255 vmov_n_u8(255)
|
||||
#define v255 vdup_n_u8(255)
|
||||
|
||||
#define STORE_Rgb(out, r, g, b) do { \
|
||||
uint8x8x3_t r_g_b; \
|
||||
@ -196,9 +196,9 @@ static void FUNC_NAME(const uint8_t *top_y, const uint8_t *bottom_y, \
|
||||
const int v_diag = ((top_v[0] + cur_v[0]) >> 1) + 1; \
|
||||
\
|
||||
const int16x4_t cf16 = vld1_s16(kCoeffs); \
|
||||
const int32x2_t cf32 = vmov_n_s32(kUToB); \
|
||||
const uint8x8_t u16 = vmov_n_u8(16); \
|
||||
const uint8x8_t u128 = vmov_n_u8(128); \
|
||||
const int32x2_t cf32 = vdup_n_s32(kUToB); \
|
||||
const uint8x8_t u16 = vdup_n_u8(16); \
|
||||
const uint8x8_t u128 = vdup_n_u8(128); \
|
||||
\
|
||||
/* Treat the first pixel in regular way */ \
|
||||
assert(top_y != NULL); \
|
||||
|
Loading…
x
Reference in New Issue
Block a user