Remove duplicate HAS_RGBTOUVMATRIXROW_NEON define breaking GCC aarch64

HAS_RGBTOUVMATRIXROW_NEON is defined under

  #if !defined(__GNUC__) || defined(__clang__)

to disable the NEON matrix-row path on plain GCC, where the inline asm
in ARGBToUVMatrixRow_NEON (which RGBToUVMatrixRow_NEON depends on) is
not available. However it is also defined unconditionally in the
AArch64 block, among the _I8MM defines, and is almost certainly a
copy/paste of HAS_ARGBTOUVMATRIXROW_NEON_I8MM with the suffix dropped.

On GCC/aarch64 this re-enables the call sites in convert.cc and
row_any.cc, while the definition of RGBToUVMatrixRow_NEON in
row_common.cc (guarded by HAS_ARGBTOUVMATRIXROW_NEON &&
HAS_RGB24TOARGBROW_NEON) stays disabled, producing a link failure:

  convert.cc: undefined reference to 'RGBToUVMatrixRow_NEON'
  row_any.cc: undefined reference to 'RGBToUVMatrixRow_NEON'

There is no RGBToUVMatrixRow_NEON_I8MM function, so the line is simply
removed rather than renamed.

Bug: None
Change-Id: Ia13894f6477507e4ebfefc2e1a9f087c53ee467a
Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/7960369
Commit-Queue: Wan-Teh Chang <wtc@google.com>
Reviewed-by: Frank Barchard <fbarchard@google.com>
Reviewed-by: Mirko Bonadei <mbonadei@chromium.org>
Reviewed-by: Wan-Teh Chang <wtc@google.com>
This commit is contained in:
Timothy Nikkel 2026-06-18 03:45:29 -05:00 committed by libyuv-scoped@luci-project-accounts.iam.gserviceaccount.com
parent 26872d1da3
commit 8e8139a504

View File

@ -599,7 +599,6 @@ extern "C" {
#define HAS_ARGBTOUVJ444ROW_NEON_I8MM
#define HAS_ARGBTOUVJROW_NEON_I8MM
#define HAS_ARGBTOUVMATRIXROW_NEON_I8MM
#define HAS_RGBTOUVMATRIXROW_NEON
#define HAS_ARGBTOUVROW_NEON_I8MM
#define HAS_BGRATOUVROW_NEON_I8MM
#define HAS_RGBATOUVROW_NEON_I8MM