diff options
author | Frank Barchard <fbarchard@google.com> | 2022-03-17 15:50:29 -0700 |
---|---|---|
committer | libyuv LUCI CQ <libyuv-scoped@luci-project-accounts.iam.gserviceaccount.com> | 2022-03-18 07:22:36 +0000 |
commit | 95b14b24462d67aede96e30243694732f9471e63 (patch) | |
tree | 0cbcd60504d41cf6d588ca59d59fe6ee31d7901d /source/planar_functions.cc | |
parent | 3aebf69d668177e7ee6dbbe0025e5c3dbb525ff2 (diff) | |
download | libyuv-95b14b24462d67aede96e30243694732f9471e63.tar.gz |
RAWToJ400 faster version for ARM
- Unrolled to 16 pixels
- Take constants via structure, allowing different colorspace and channel order
- Use ADDHN to add 16.5 and take upper 8 bits of 16 bit values, narrowing to 8 bits
- clang-format applied, affecting mips code
On Cortex A510
Was RAWToJ400_Opt (1623 ms)
Now RAWToJ400_Opt (862 ms)
C RAWToJ400_Opt (1627 ms)
Bug: b/220171611
Change-Id: I06a9baf9650ebe2802fb6ff6dfbd524e2c06ada0
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/3534023
Reviewed-by: Wan-Teh Chang <wtc@google.com>
Commit-Queue: Frank Barchard <fbarchard@chromium.org>
Diffstat (limited to 'source/planar_functions.cc')
-rw-r--r-- | source/planar_functions.cc | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/source/planar_functions.cc b/source/planar_functions.cc index 0c2ae2b1..43dc1892 100644 --- a/source/planar_functions.cc +++ b/source/planar_functions.cc @@ -4186,7 +4186,7 @@ static int ARGBSobelize(const uint8_t* src_argb, #if defined(HAS_ARGBTOYJROW_NEON) if (TestCpuFlag(kCpuHasNEON)) { ARGBToYJRow = ARGBToYJRow_Any_NEON; - if (IS_ALIGNED(width, 8)) { + if (IS_ALIGNED(width, 16)) { ARGBToYJRow = ARGBToYJRow_NEON; } } |