aboutsummaryrefslogtreecommitdiff
path: root/files/source/rotate_argb.cc
diff options
context:
space:
mode:
authorVignesh Venkatasubramanian <vigneshv@google.com>2023-06-12 23:55:07 +0000
committerAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>2023-06-12 23:55:07 +0000
commit1f9deebc6ecf78b637dff50d62772b48332ea5ea (patch)
tree303e8eabb435a80ebec36a19c23ca85744d58fb5 /files/source/rotate_argb.cc
parent435db9f11b09187e0d60683813a28d07cc13166b (diff)
parent8e521e2ea589b4cafb788330f83037a0413f200a (diff)
downloadlibyuv-1f9deebc6ecf78b637dff50d62772b48332ea5ea.tar.gz
Merge "libyuv: Update to r1871 (2a6cb743)" am: 8e521e2ea5
Original change: https://android-review.googlesource.com/c/platform/external/libyuv/+/2622518 Change-Id: I677290d9641c9a7a343f79cf385e88af70ec589d Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
Diffstat (limited to 'files/source/rotate_argb.cc')
-rw-r--r--files/source/rotate_argb.cc16
1 files changed, 15 insertions, 1 deletions
diff --git a/files/source/rotate_argb.cc b/files/source/rotate_argb.cc
index 539cf98d..c7239010 100644
--- a/files/source/rotate_argb.cc
+++ b/files/source/rotate_argb.cc
@@ -8,11 +8,12 @@
* be found in the AUTHORS file in the root of the source tree.
*/
-#include "libyuv/rotate.h"
+#include "libyuv/rotate_argb.h"
#include "libyuv/convert.h"
#include "libyuv/cpu_id.h"
#include "libyuv/planar_functions.h"
+#include "libyuv/rotate.h"
#include "libyuv/row.h"
#include "libyuv/scale_row.h" /* for ScaleARGBRowDownEven_ */
@@ -155,6 +156,14 @@ static int ARGBRotate180(const uint8_t* src_argb,
}
}
#endif
+#if defined(HAS_ARGBMIRRORROW_LSX)
+ if (TestCpuFlag(kCpuHasLSX)) {
+ ARGBMirrorRow = ARGBMirrorRow_Any_LSX;
+ if (IS_ALIGNED(width, 8)) {
+ ARGBMirrorRow = ARGBMirrorRow_LSX;
+ }
+ }
+#endif
#if defined(HAS_ARGBMIRRORROW_LASX)
if (TestCpuFlag(kCpuHasLASX)) {
ARGBMirrorRow = ARGBMirrorRow_Any_LASX;
@@ -183,6 +192,11 @@ static int ARGBRotate180(const uint8_t* src_argb,
CopyRow = IS_ALIGNED(width * 4, 32) ? CopyRow_NEON : CopyRow_Any_NEON;
}
#endif
+#if defined(HAS_COPYROW_RVV)
+ if (TestCpuFlag(kCpuHasRVV)) {
+ CopyRow = CopyRow_RVV;
+ }
+#endif
// Odd height will harmlessly mirror the middle row twice.
for (y = 0; y < half_height; ++y) {