diff options
author | Frank Barchard <fbarchard@google.com> | 2022-12-15 14:11:52 -0800 |
---|---|---|
committer | libyuv LUCI CQ <libyuv-scoped@luci-project-accounts.iam.gserviceaccount.com> | 2022-12-15 22:34:22 +0000 |
commit | 3abd6f36b6e4f5a2e0ce236580a8bc1da3c7cf7e (patch) | |
tree | 3fc173f8288f4457858919c806bac14593dc3d1b /source/row_neon.cc | |
parent | 610e0cdead3fcd3288693d18eab8c7323805ad9e (diff) | |
download | libyuv-3abd6f36b6e4f5a2e0ce236580a8bc1da3c7cf7e.tar.gz |
Casting for scale functions
- MT2T support for source strides added, but only works for positive values.
- Reduced casting in row_common - one cast per assignment.
- scaling functions use intptr_t for intermediate calculations, then cast strides to ptrdiff_t
Bug: libyuv:948, b/257266635, b/262468594
Change-Id: I0409a0ce916b777da2a01c0ab0b56dccefed3b33
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/4102203
Commit-Queue: Frank Barchard <fbarchard@chromium.org>
Reviewed-by: Wan-Teh Chang <wtc@google.com>
Reviewed-by: Justin Green <greenjustin@google.com>
Reviewed-by: Frank Barchard <fbarchard@chromium.org>
Reviewed-by: Ernest Hua <ernesthua@google.com>
Diffstat (limited to 'source/row_neon.cc')
-rw-r--r-- | source/row_neon.cc | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/source/row_neon.cc b/source/row_neon.cc index 0c6065f8..0611b9aa 100644 --- a/source/row_neon.cc +++ b/source/row_neon.cc @@ -720,9 +720,9 @@ void DetileToYUY2_NEON(const uint8_t* src_y, } #endif -void UnpackMT2T_NEON(const uint16_t* src, uint16_t* dst, size_t size) { - const uint16_t* src_lower_bits = src; - const uint16_t* src_upper_bits = src + 8; +void UnpackMT2T_NEON(const uint8_t* src, uint16_t* dst, size_t size) { + const uint8_t* src_lower_bits = src; + const uint8_t* src_upper_bits = src + 16; asm volatile( "1: \n" "vld4.8 {d1, d3, d5, d7}, [%1]! \n" // Load 32 bytes of upper |