From 77f3acade492a41a11a07a55b58a6f8180b898eb Mon Sep 17 00:00:00 2001 From: Wan-Teh Chang Date: Fri, 27 Sep 2024 15:59:29 -0700 Subject: [PATCH] ScalePlaneDown34: test dst_width%24 == 0 for armv7 In ScalePlaneDown34(), check if dst_width % 24 == 0 for armv7, and check if dst_width % 48 == 0 for aarch64. No-Try: True Bug: b/369963535, b/366045177 Change-Id: I7dc1227517c83c97a1d1052ef2230d5cec41da10 Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/5896492 Commit-Queue: Wan-Teh Chang Reviewed-by: Mirko Bonadei --- source/scale.cc | 4 ++++ unit_test/scale_test.cc | 1 + 2 files changed, 5 insertions(+) diff --git a/source/scale.cc b/source/scale.cc index 5aca60449..f4d1053e4 100644 --- a/source/scale.cc +++ b/source/scale.cc @@ -407,7 +407,11 @@ static void ScalePlaneDown34(int src_width, } #if defined(HAS_SCALEROWDOWN34_NEON) if (TestCpuFlag(kCpuHasNEON)) { +#if defined(__aarch64__) if (dst_width % 48 == 0) { +#else + if (dst_width % 24 == 0) { +#endif if (!filtering) { ScaleRowDown34_0 = ScaleRowDown34_NEON; ScaleRowDown34_1 = ScaleRowDown34_NEON; diff --git a/unit_test/scale_test.cc b/unit_test/scale_test.cc index 6f36c4022..429e67e68 100644 --- a/unit_test/scale_test.cc +++ b/unit_test/scale_test.cc @@ -1054,6 +1054,7 @@ TEST_SCALETO(Scale, 640, 360) #ifndef DISABLE_SLOW_TESTS TEST_SCALETO(Scale, 256, 144) /* 128x72 * 2 */ TEST_SCALETO(Scale, 320, 240) +TEST_SCALETO(Scale, 352, 288) TEST_SCALETO(Scale, 1280, 720) TEST_SCALETO(Scale, 1920, 1080) TEST_SCALETO(Scale, 1080, 1920) // for rotated phones