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 <wtc@google.com>
Reviewed-by: Mirko Bonadei <mbonadei@chromium.org>
This commit is contained in:
Wan-Teh Chang 2024-09-27 15:59:29 -07:00 committed by libyuv LUCI CQ
parent 61bf0b61f7
commit 77f3acade4
2 changed files with 5 additions and 0 deletions

View File

@ -407,7 +407,11 @@ static void ScalePlaneDown34(int src_width,
} }
#if defined(HAS_SCALEROWDOWN34_NEON) #if defined(HAS_SCALEROWDOWN34_NEON)
if (TestCpuFlag(kCpuHasNEON)) { if (TestCpuFlag(kCpuHasNEON)) {
#if defined(__aarch64__)
if (dst_width % 48 == 0) { if (dst_width % 48 == 0) {
#else
if (dst_width % 24 == 0) {
#endif
if (!filtering) { if (!filtering) {
ScaleRowDown34_0 = ScaleRowDown34_NEON; ScaleRowDown34_0 = ScaleRowDown34_NEON;
ScaleRowDown34_1 = ScaleRowDown34_NEON; ScaleRowDown34_1 = ScaleRowDown34_NEON;

View File

@ -1054,6 +1054,7 @@ TEST_SCALETO(Scale, 640, 360)
#ifndef DISABLE_SLOW_TESTS #ifndef DISABLE_SLOW_TESTS
TEST_SCALETO(Scale, 256, 144) /* 128x72 * 2 */ TEST_SCALETO(Scale, 256, 144) /* 128x72 * 2 */
TEST_SCALETO(Scale, 320, 240) TEST_SCALETO(Scale, 320, 240)
TEST_SCALETO(Scale, 352, 288)
TEST_SCALETO(Scale, 1280, 720) TEST_SCALETO(Scale, 1280, 720)
TEST_SCALETO(Scale, 1920, 1080) TEST_SCALETO(Scale, 1920, 1080)
TEST_SCALETO(Scale, 1080, 1920) // for rotated phones TEST_SCALETO(Scale, 1080, 1920) // for rotated phones