aboutsummaryrefslogtreecommitdiff
path: root/source/row_neon64.cc
diff options
context:
space:
mode:
authorFrank Barchard <fbarchard@google.com>2022-06-09 00:14:11 -0700
committerFrank Barchard <fbarchard@chromium.org>2022-06-09 08:07:50 +0000
commit30f9b280487be412da346aecce7834275020976e (patch)
treec2a25c57cc14465127cdae5b41f07fff517c3d7d /source/row_neon64.cc
parentbaef41447887e1a17897a4cb6ccc854ef3a9d652 (diff)
downloadlibyuv-30f9b280487be412da346aecce7834275020976e.tar.gz
Add I210ToI420
Bug: libyuv:931, b/228605787, b/233233302, b/233634772, b/234558395, b/234340482 Change-Id: Ib135d0b4ff17665f6a4ab60edb782a7b314219a4 Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/3696042 Reviewed-by: Mirko Bonadei <mbonadei@chromium.org>
Diffstat (limited to 'source/row_neon64.cc')
-rw-r--r--source/row_neon64.cc4
1 files changed, 2 insertions, 2 deletions
diff --git a/source/row_neon64.cc b/source/row_neon64.cc
index ad2eb593..6a6e37ef 100644
--- a/source/row_neon64.cc
+++ b/source/row_neon64.cc
@@ -4191,12 +4191,12 @@ void Convert16To8Row_NEON(const uint16_t* src_y,
uint8_t* dst_y,
int scale,
int width) {
- int shift = 15 - __builtin_clz(scale); // Negative for shl will shift right
+ int shift = 15 - __builtin_clz((int32_t)scale); // Negative shl is shr
asm volatile(
"dup v2.8h, %w3 \n"
"1: \n"
"ldp q0, q1, [%0], #32 \n"
- "ushl v0.8h, v0.8h, v2.8h \n"
+ "ushl v0.8h, v0.8h, v2.8h \n" // shr = v2 is negative
"ushl v1.8h, v1.8h, v2.8h \n"
"prfm pldl1keep, [%0, 448] \n"
"uqxtn v0.8b, v0.8h \n"