[FFmpeg-devel] [PATCH] lsws/ppc/yuv2rgb_altivec: Fix build in non-VSX environments with Clang
Brad Smith
brad at comstyle.com
Sat Aug 12 02:49:39 EEST 2023
Just FYI, we have had this in the OpenBSD and FreeBSD packages for quite
awhile
to be able to build on powerpc64.
On 2023-08-07 9:02 p.m., 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__ */
>
> #define DEFCSP420_CVT(name, out_pixels) \
> static int altivec_ ## name(SwsContext *c, const unsigned char **in, \
More information about the ffmpeg-devel
mailing list