commit | 22ac86800edc2b6419a815a300e6d63d0708a35b | [log] [tgz] |
---|---|---|
author | George Steed <george.steed@arm.com> | Sun May 05 19:49:24 2024 +0100 |
committer | Frank Barchard <fbarchard@chromium.org> | Thu Oct 24 21:27:39 2024 +0000 |
tree | 0b76affc6822b97f6b691b5d5893a8045885469c | |
parent | f4eaeca22aa82f1b69eef4aca7f04b90f1584fb0 [diff] |
[AArch64] Add SVE2 implementation of I422ToARGB4444Row This makes use of the same approach as the Neon code to avoid redundant narrowing and then widening shifts by instead placing the values at the top portion of the lanes and then shifting down from there instead. Observed reduction in runtime compared to the existing Neon code: Cortex-A510: -35.5% Cortex-A520: -38.2% Cortex-A715: -19.8% Cortex-A720: -19.8% Cortex-X2: -24.2% Cortex-X3: -24.1% Cortex-X4: -21.6% Cortex-X925: -19.5% Bug: b/42280942 Change-Id: I0a916600e7bdee0f5480ea843b44ab046bb3d082 Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/5802968 Reviewed-by: Justin Green <greenjustin@google.com> Reviewed-by: Frank Barchard <fbarchard@chromium.org>
libyuv is an open source project that includes YUV scaling and conversion functionality.
See Getting started for instructions on how to get started developing.
You can also browse the docs directory for more documentation.