commit | d1ec694ad38f9c5f1cc07e8db7b4157a44a14ae8 | [log] [tgz] |
---|---|---|
author | George Steed <george.steed@arm.com> | Wed Apr 10 16:36:26 2024 +0100 |
committer | Frank Barchard <fbarchard@chromium.org> | Sat Jul 06 22:37:08 2024 +0000 |
tree | 834d501af8a32dbaf156711b652cd8e0929472b4 | |
parent | 611806a1559b92c97961f51c78805d8d9d528c08 [diff] |
[AArch64] Add P{210,410}To{ARGB,AR30}Row_NEON There are existing x86 implementations for these kernels, but not for AArch64, so add them. Reduction in runtimes, compared to the existing C code compiled with LLVM 17: | Cortex-A55 | Cortex-A510 | Cortex-A76 P210ToARGBRow | -59.8% | -16.8% | -53.2% P210ToAR30Row | -48.1% | -21.8% | -54.0% P410ToARGBRow | -56.5% | -32.2% | -54.1% P410ToAR30Row | -42.4% | -4.5% | -50.4% Co-authored-by: Cosmina Dunca <cosmina.dunca@arm.com> Bug: libyuv:976 Change-Id: I24a5addd2c54c7fdfb9717e2a45ae5acd43d6e96 Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/5607764 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.