[FFmpeg-devel] [PATCH] lsws/ppc/yuv2rgb_altivec: Fix build in non-VSX environments with Clang

Michael Niedermayer michael at niedermayer.cc
Sat Aug 12 18:19:18 EEST 2023


On Mon, Aug 07, 2023 at 09:02:19PM -0400, Brad Smith wrote:
> lsws/ppc/yuv2rgb_altivec: Fix build in non-VSX environments with Clang
> 
> libswscale/ppc/yuv2rgb_altivec.c:288:36: error: redeclaration of 'vec_xl' must have the 'overloadable' attribute
> ---
>  libswscale/ppc/yuv2rgb_altivec.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/libswscale/ppc/yuv2rgb_altivec.c b/libswscale/ppc/yuv2rgb_altivec.c
> index 5e1033a973..6ef2441d8a 100644
> --- a/libswscale/ppc/yuv2rgb_altivec.c
> +++ b/libswscale/ppc/yuv2rgb_altivec.c
> @@ -284,7 +284,7 @@ static inline void cvtyuvtoRGB(SwsContext *c, vector signed short Y,
>   * ------------------------------------------------------------------------------
>   */
>  
> -#if !HAVE_VSX
> +#if !HAVE_VSX && !defined(__clang__)
>  static inline vector unsigned char vec_xl(signed long long offset, const ubyte *addr)
>  {
>      const vector unsigned char *v_addr = (const vector unsigned char *) (addr + offset);
> @@ -292,7 +292,7 @@ static inline vector unsigned char vec_xl(signed long long offset, const ubyte *
>  
>      return (vector unsigned char) vec_perm(v_addr[0], v_addr[1], align_perm);
>  }
> -#endif /* !HAVE_VSX */
> +#endif /* !HAVE_VSX && !__clang__ */

Iam not altivec maintainer but i think the correct way to do this is to
test for vec_xl() in configure and have some sort of HAVE_VEC_XL
thats more robust than such chain of conditional checks

thx

[...]
-- 
Michael     GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

Elect your leaders based on what they did after the last election, not
based on what they say before an election.

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 195 bytes
Desc: not available
URL: <https://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20230812/16bd8248/attachment.sig>


More information about the ffmpeg-devel mailing list