commit | a64fffe632101caa83c2571fe6c6481802aa2e04 | [log] [tgz] |
---|---|---|
author | George Steed <george.steed@arm.com> | Fri Jul 12 19:02:39 2024 +0100 |
committer | Frank Barchard <fbarchard@chromium.org> | Mon Jul 15 18:13:42 2024 +0000 |
tree | 1c5d8b95c494b87fee952edb6c8511c3ccba5eee | |
parent | e1a93c79fc89ff8e274a588f26f1726c88c2aa64 [diff] |
Revert "Disable NV12ToARGB_SVE2 which fails the 'any' test" This reverts commit f480fa1c4a4af0ce3c34cd7b1ab0d85f1a36ce17. This code has a number of small issues: * The YUVTORGB_SVE_SETUP macro requires p0 to be initialized to all-true, however the existing kernel does not initialise p0 until after this macro is called, so flip the order. * The p2 register is missing from the clobber list, so add it. * The existing code uses the wrong condition flags when determining whether to do the tail iteration using WHILE instructions or not. Additionally the number of tail iterations is incorrect, as it was incorrectly not changed from when the tail code was always executed. While we are here, make another few small improvements: * Remove the single-quote digit separators as requested here: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/5622133 * Remove "volatile" from the asm block counting the vector length. This particular asm block cannot be removed by the compiler since the output register is consumed by subsequent code, so "volatile" is unnecessary here and we remove it. * Add some additional empty comments to force clang-format to put macros into the next line rather than on the same line as other asm. Bug: b/352371649 Change-Id: I45676fab95343f588cf11ce2cf9186ffbe87489e Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/5703586 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.