From 8e8139a50453364833943c570acfc4fe43498503 Mon Sep 17 00:00:00 2001 From: Timothy Nikkel Date: Thu, 18 Jun 2026 03:45:29 -0500 Subject: [PATCH] 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 Reviewed-by: Frank Barchard Reviewed-by: Mirko Bonadei Reviewed-by: Wan-Teh Chang --- include/libyuv/row.h | 1 - 1 file changed, 1 deletion(-) diff --git a/include/libyuv/row.h b/include/libyuv/row.h index 835342acd..b58ed56eb 100644 --- a/include/libyuv/row.h +++ b/include/libyuv/row.h @@ -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