Opened 4 years ago
Closed 4 years ago
#8750 closed defect (fixed)
Patch to fix #7124 break the build for powerpc
Reported by: | marillat | Owned by: | |
---|---|---|---|
Priority: | important | Component: | swscale |
Version: | git-master | Keywords: | ppc regression |
Cc: | glaubitz@physik.fu-berlin.de | Blocked By: | |
Blocking: | Reproduced by developer: | no | |
Analyzed by developer: | no |
Description (last modified by )
commit 3a557c5d88b7b15b5954ba2743febb055549b536
break the build with gcc 9.3.0 (Debian 9.3.0-13) ffmpeg 4.3 powerpc
Altivec is enabled with "--cpu=g4"
CC libswscale/ppc/yuv2rgb_altivec.o libswscale/ppc/yuv2rgb_altivec.c: In function ‘altivec_yuv2_abgr’: libswscale/ppc/yuv2rgb_altivec.c:338:18: error: implicit declaration of function ‘vec_xl’; did you mean ‘vec_rl’? [-Werror=implicit-function-declaration] 338 | y0 = vec_xl(0, y1i); \ | ^~~~~~ libswscale/ppc/yuv2rgb_altivec.c:437:1: note: in expansion of macro ‘DEFCSP420_CVT’ 437 | DEFCSP420_CVT(yuv2_abgr, out_abgr) | ^~~~~~~~~~~~~ libswscale/ppc/yuv2rgb_altivec.c:338:18: error: incompatible types when assigning to type ‘__vector unsigned char’ {aka ‘__vector(16) unsigned char’} from type ‘int’ 338 | y0 = vec_xl(0, y1i); \ | ^~~~~~ libswscale/ppc/yuv2rgb_altivec.c:437:1: note: in expansion of macro ‘DEFCSP420_CVT’ 437 | DEFCSP420_CVT(yuv2_abgr, out_abgr) | ^~~~~~~~~~~~~ libswscale/ppc/yuv2rgb_altivec.c:340:18: error: incompatible types when assigning to type ‘__vector unsigned char’ {aka ‘__vector(16) unsigned char’} from type ‘int’ 340 | y1 = vec_xl(0, y2i); \ | ^~~~~~ libswscale/ppc/yuv2rgb_altivec.c:437:1: note: in expansion of macro ‘DEFCSP420_CVT’ 437 | DEFCSP420_CVT(yuv2_abgr, out_abgr) | ^~~~~~~~~~~~~ libswscale/ppc/yuv2rgb_altivec.c:437:1: error: can’t convert a value of type ‘int’ to vector type ‘__vector(16) signed char’ which has different size libswscale/ppc/yuv2rgb_altivec.c:437:1: error: can’t convert a value of type ‘int’ to vector type ‘__vector(16) signed char’ which has different size libswscale/ppc/yuv2rgb_altivec.c: In function ‘altivec_yuv2_bgra’: libswscale/ppc/yuv2rgb_altivec.c:338:18: error: incompatible types when assigning to type ‘__vector unsigned char’ {aka ‘__vector(16) unsigned char’} from type ‘int’ 338 | y0 = vec_xl(0, y1i); \ | ^~~~~~ libswscale/ppc/yuv2rgb_altivec.c:438:1: note: in expansion of macro ‘DEFCSP420_CVT’ 438 | DEFCSP420_CVT(yuv2_bgra, out_bgra) | ^~~~~~~~~~~~~ libswscale/ppc/yuv2rgb_altivec.c:340:18: error: incompatible types when assigning to type ‘__vector unsigned char’ {aka ‘__vector(16) unsigned char’} from type ‘int’ 340 | y1 = vec_xl(0, y2i); \ | ^~~~~~ libswscale/ppc/yuv2rgb_altivec.c:438:1: note: in expansion of macro ‘DEFCSP420_CVT’ 438 | DEFCSP420_CVT(yuv2_bgra, out_bgra) | ^~~~~~~~~~~~~ libswscale/ppc/yuv2rgb_altivec.c:438:1: error: can’t convert a value of type ‘int’ to vector type ‘__vector(16) signed char’ which has different size libswscale/ppc/yuv2rgb_altivec.c:438:1: error: can’t convert a value of type ‘int’ to vector type ‘__vector(16) signed char’ which has different size libswscale/ppc/yuv2rgb_altivec.c: In function ‘altivec_yuv2_rgba’: libswscale/ppc/yuv2rgb_altivec.c:338:18: error: incompatible types when assigning to type ‘__vector unsigned char’ {aka ‘__vector(16) unsigned char’} from type ‘int’ 338 | y0 = vec_xl(0, y1i); \ | ^~~~~~ libswscale/ppc/yuv2rgb_altivec.c:439:1: note: in expansion of macro ‘DEFCSP420_CVT’ 439 | DEFCSP420_CVT(yuv2_rgba, out_rgba) | ^~~~~~~~~~~~~ libswscale/ppc/yuv2rgb_altivec.c:340:18: error: incompatible types when assigning to type ‘__vector unsigned char’ {aka ‘__vector(16) unsigned char’} from type ‘int’ 340 | y1 = vec_xl(0, y2i); \ | ^~~~~~ libswscale/ppc/yuv2rgb_altivec.c:439:1: note: in expansion of macro ‘DEFCSP420_CVT’ 439 | DEFCSP420_CVT(yuv2_rgba, out_rgba) | ^~~~~~~~~~~~~ libswscale/ppc/yuv2rgb_altivec.c:439:1: error: can’t convert a value of type ‘int’ to vector type ‘__vector(16) signed char’ which has different size libswscale/ppc/yuv2rgb_altivec.c:439:1: error: can’t convert a value of type ‘int’ to vector type ‘__vector(16) signed char’ which has different size libswscale/ppc/yuv2rgb_altivec.c: In function ‘altivec_yuv2_argb’: libswscale/ppc/yuv2rgb_altivec.c:338:18: error: incompatible types when assigning to type ‘__vector unsigned char’ {aka ‘__vector(16) unsigned char’} from type ‘int’ 338 | y0 = vec_xl(0, y1i); \ | ^~~~~~ libswscale/ppc/yuv2rgb_altivec.c:440:1: note: in expansion of macro ‘DEFCSP420_CVT’ 440 | DEFCSP420_CVT(yuv2_argb, out_argb) | ^~~~~~~~~~~~~ libswscale/ppc/yuv2rgb_altivec.c:340:18: error: incompatible types when assigning to type ‘__vector unsigned char’ {aka ‘__vector(16) unsigned char’} from type ‘int’ 340 | y1 = vec_xl(0, y2i); \ | ^~~~~~ libswscale/ppc/yuv2rgb_altivec.c:440:1: note: in expansion of macro ‘DEFCSP420_CVT’ 440 | DEFCSP420_CVT(yuv2_argb, out_argb) | ^~~~~~~~~~~~~ libswscale/ppc/yuv2rgb_altivec.c:440:1: error: can’t convert a value of type ‘int’ to vector type ‘__vector(16) signed char’ which has different size libswscale/ppc/yuv2rgb_altivec.c:440:1: error: can’t convert a value of type ‘int’ to vector type ‘__vector(16) signed char’ which has different size libswscale/ppc/yuv2rgb_altivec.c: In function ‘altivec_yuv2_rgb24’: libswscale/ppc/yuv2rgb_altivec.c:338:18: error: incompatible types when assigning to type ‘__vector unsigned char’ {aka ‘__vector(16) unsigned char’} from type ‘int’ 338 | y0 = vec_xl(0, y1i); \ | ^~~~~~ libswscale/ppc/yuv2rgb_altivec.c:441:1: note: in expansion of macro ‘DEFCSP420_CVT’ 441 | DEFCSP420_CVT(yuv2_rgb24, out_rgb24) | ^~~~~~~~~~~~~ libswscale/ppc/yuv2rgb_altivec.c:340:18: error: incompatible types when assigning to type ‘__vector unsigned char’ {aka ‘__vector(16) unsigned char’} from type ‘int’ 340 | y1 = vec_xl(0, y2i); \ | ^~~~~~ libswscale/ppc/yuv2rgb_altivec.c:441:1: note: in expansion of macro ‘DEFCSP420_CVT’ 441 | DEFCSP420_CVT(yuv2_rgb24, out_rgb24) | ^~~~~~~~~~~~~ libswscale/ppc/yuv2rgb_altivec.c:441:1: error: can’t convert a value of type ‘int’ to vector type ‘__vector(16) signed char’ which has different size libswscale/ppc/yuv2rgb_altivec.c:441:1: error: can’t convert a value of type ‘int’ to vector type ‘__vector(16) signed char’ which has different size libswscale/ppc/yuv2rgb_altivec.c: In function ‘altivec_yuv2_bgr24’: libswscale/ppc/yuv2rgb_altivec.c:338:18: error: incompatible types when assigning to type ‘__vector unsigned char’ {aka ‘__vector(16) unsigned char’} from type ‘int’ 338 | y0 = vec_xl(0, y1i); \ | ^~~~~~ libswscale/ppc/yuv2rgb_altivec.c:442:1: note: in expansion of macro ‘DEFCSP420_CVT’ 442 | DEFCSP420_CVT(yuv2_bgr24, out_bgr24) | ^~~~~~~~~~~~~ libswscale/ppc/yuv2rgb_altivec.c:340:18: error: incompatible types when assigning to type ‘__vector unsigned char’ {aka ‘__vector(16) unsigned char’} from type ‘int’ 340 | y1 = vec_xl(0, y2i); \ | ^~~~~~ libswscale/ppc/yuv2rgb_altivec.c:442:1: note: in expansion of macro ‘DEFCSP420_CVT’ 442 | DEFCSP420_CVT(yuv2_bgr24, out_bgr24) | ^~~~~~~~~~~~~ libswscale/ppc/yuv2rgb_altivec.c:442:1: error: can’t convert a value of type ‘int’ to vector type ‘__vector(16) signed char’ which has different size libswscale/ppc/yuv2rgb_altivec.c:442:1: error: can’t convert a value of type ‘int’ to vector type ‘__vector(16) signed char’ which has different size cc1: some warnings being treated as errors
Attachments (1)
Change History (18)
comment:1 by , 4 years ago
Description: | modified (diff) |
---|
comment:2 by , 4 years ago
Component: | undetermined → swscale |
---|---|
Keywords: | ppc regression added |
Priority: | normal → important |
Version: | unspecified → git-master |
comment:3 by , 4 years ago
comment:4 by , 4 years ago
Still doesn't build
libswscale/ppc/yuv2rgb_altivec.c: In function ‘altivec_yuv2_abgr’: libswscale/ppc/yuv2rgb_altivec.c:348:18: error: too many arguments to function ‘vec_xl’ 348 | y0 = vec_xl(0, y1i); \ | ^~~~~~ libswscale/ppc/yuv2rgb_altivec.c:447:1: note: in expansion of macro ‘DEFCSP420_CVT’ 447 | DEFCSP420_CVT(yuv2_abgr, out_abgr) | ^~~~~~~~~~~~~ libswscale/ppc/yuv2rgb_altivec.c:287:36: note: declared here 287 | static inline vector unsigned char vec_xl(const ubyte *addr) | ^~~~~~ libswscale/ppc/yuv2rgb_altivec.c:350:18: error: too many arguments to function ‘vec_xl’ 350 | y1 = vec_xl(0, y2i); \ | ^~~~~~ libswscale/ppc/yuv2rgb_altivec.c:447:1: note: in expansion of macro ‘DEFCSP420_CVT’ 447 | DEFCSP420_CVT(yuv2_abgr, out_abgr) | ^~~~~~~~~~~~~ libswscale/ppc/yuv2rgb_altivec.c:287:36: note: declared here 287 | static inline vector unsigned char vec_xl(const ubyte *addr) | ^~~~~~ libswscale/ppc/yuv2rgb_altivec.c:352:38: error: too many arguments to function ‘vec_xl’ 352 | u = (vector signed char) vec_xl(0, ui); \ | ^~~~~~ libswscale/ppc/yuv2rgb_altivec.c:447:1: note: in expansion of macro ‘DEFCSP420_CVT’ 447 | DEFCSP420_CVT(yuv2_abgr, out_abgr) | ^~~~~~~~~~~~~ libswscale/ppc/yuv2rgb_altivec.c:287:36: note: declared here 287 | static inline vector unsigned char vec_xl(const ubyte *addr) | ^~~~~~ libswscale/ppc/yuv2rgb_altivec.c:354:38: error: too many arguments to function ‘vec_xl’ 354 | v = (vector signed char) vec_xl(0, vi); \ | ^~~~~~ libswscale/ppc/yuv2rgb_altivec.c:447:1: note: in expansion of macro ‘DEFCSP420_CVT’ 447 | DEFCSP420_CVT(yuv2_abgr, out_abgr) | ^~~~~~~~~~~~~ libswscale/ppc/yuv2rgb_altivec.c:287:36: note: declared here 287 | static inline vector unsigned char vec_xl(const ubyte *addr) | ^~~~~~ libswscale/ppc/yuv2rgb_altivec.c: In function ‘altivec_yuv2_bgra’: libswscale/ppc/yuv2rgb_altivec.c:348:18: error: too many arguments to function ‘vec_xl’ 348 | y0 = vec_xl(0, y1i); \ | ^~~~~~ libswscale/ppc/yuv2rgb_altivec.c:448:1: note: in expansion of macro ‘DEFCSP420_CVT’ 448 | DEFCSP420_CVT(yuv2_bgra, out_bgra) | ^~~~~~~~~~~~~ libswscale/ppc/yuv2rgb_altivec.c:287:36: note: declared here 287 | static inline vector unsigned char vec_xl(const ubyte *addr) | ^~~~~~ libswscale/ppc/yuv2rgb_altivec.c:350:18: error: too many arguments to function ‘vec_xl’ 350 | y1 = vec_xl(0, y2i); \ | ^~~~~~ libswscale/ppc/yuv2rgb_altivec.c:448:1: note: in expansion of macro ‘DEFCSP420_CVT’ 448 | DEFCSP420_CVT(yuv2_bgra, out_bgra) | ^~~~~~~~~~~~~ libswscale/ppc/yuv2rgb_altivec.c:287:36: note: declared here 287 | static inline vector unsigned char vec_xl(const ubyte *addr) | ^~~~~~ libswscale/ppc/yuv2rgb_altivec.c:352:38: error: too many arguments to function ‘vec_xl’ 352 | u = (vector signed char) vec_xl(0, ui); \ | ^~~~~~ libswscale/ppc/yuv2rgb_altivec.c:448:1: note: in expansion of macro ‘DEFCSP420_CVT’ 448 | DEFCSP420_CVT(yuv2_bgra, out_bgra) | ^~~~~~~~~~~~~ libswscale/ppc/yuv2rgb_altivec.c:287:36: note: declared here 287 | static inline vector unsigned char vec_xl(const ubyte *addr) | ^~~~~~ libswscale/ppc/yuv2rgb_altivec.c:354:38: error: too many arguments to function ‘vec_xl’ 354 | v = (vector signed char) vec_xl(0, vi); \ | ^~~~~~ libswscale/ppc/yuv2rgb_altivec.c:448:1: note: in expansion of macro ‘DEFCSP420_CVT’ 448 | DEFCSP420_CVT(yuv2_bgra, out_bgra) | ^~~~~~~~~~~~~ libswscale/ppc/yuv2rgb_altivec.c:287:36: note: declared here 287 | static inline vector unsigned char vec_xl(const ubyte *addr) | ^~~~~~ libswscale/ppc/yuv2rgb_altivec.c: In function ‘altivec_yuv2_rgba’: libswscale/ppc/yuv2rgb_altivec.c:348:18: error: too many arguments to function ‘vec_xl’ 348 | y0 = vec_xl(0, y1i); \ | ^~~~~~ libswscale/ppc/yuv2rgb_altivec.c:449:1: note: in expansion of macro ‘DEFCSP420_CVT’ 449 | DEFCSP420_CVT(yuv2_rgba, out_rgba) | ^~~~~~~~~~~~~ libswscale/ppc/yuv2rgb_altivec.c:287:36: note: declared here 287 | static inline vector unsigned char vec_xl(const ubyte *addr) | ^~~~~~ libswscale/ppc/yuv2rgb_altivec.c:350:18: error: too many arguments to function ‘vec_xl’ 350 | y1 = vec_xl(0, y2i); \ | ^~~~~~ libswscale/ppc/yuv2rgb_altivec.c:449:1: note: in expansion of macro ‘DEFCSP420_CVT’ 449 | DEFCSP420_CVT(yuv2_rgba, out_rgba) | ^~~~~~~~~~~~~ libswscale/ppc/yuv2rgb_altivec.c:287:36: note: declared here 287 | static inline vector unsigned char vec_xl(const ubyte *addr) | ^~~~~~ libswscale/ppc/yuv2rgb_altivec.c:352:38: error: too many arguments to function ‘vec_xl’ 352 | u = (vector signed char) vec_xl(0, ui); \ | ^~~~~~ libswscale/ppc/yuv2rgb_altivec.c:449:1: note: in expansion of macro ‘DEFCSP420_CVT’ 449 | DEFCSP420_CVT(yuv2_rgba, out_rgba) | ^~~~~~~~~~~~~ libswscale/ppc/yuv2rgb_altivec.c:287:36: note: declared here 287 | static inline vector unsigned char vec_xl(const ubyte *addr) | ^~~~~~ libswscale/ppc/yuv2rgb_altivec.c:354:38: error: too many arguments to function ‘vec_xl’ 354 | v = (vector signed char) vec_xl(0, vi); \ | ^~~~~~ libswscale/ppc/yuv2rgb_altivec.c:449:1: note: in expansion of macro ‘DEFCSP420_CVT’ 449 | DEFCSP420_CVT(yuv2_rgba, out_rgba) | ^~~~~~~~~~~~~ libswscale/ppc/yuv2rgb_altivec.c:287:36: note: declared here 287 | static inline vector unsigned char vec_xl(const ubyte *addr) | ^~~~~~ libswscale/ppc/yuv2rgb_altivec.c: In function ‘altivec_yuv2_argb’: libswscale/ppc/yuv2rgb_altivec.c:348:18: error: too many arguments to function ‘vec_xl’ 348 | y0 = vec_xl(0, y1i); \ | ^~~~~~ libswscale/ppc/yuv2rgb_altivec.c:450:1: note: in expansion of macro ‘DEFCSP420_CVT’ 450 | DEFCSP420_CVT(yuv2_argb, out_argb) | ^~~~~~~~~~~~~ libswscale/ppc/yuv2rgb_altivec.c:287:36: note: declared here 287 | static inline vector unsigned char vec_xl(const ubyte *addr) | ^~~~~~ libswscale/ppc/yuv2rgb_altivec.c:350:18: error: too many arguments to function ‘vec_xl’ 350 | y1 = vec_xl(0, y2i); \ | ^~~~~~ libswscale/ppc/yuv2rgb_altivec.c:450:1: note: in expansion of macro ‘DEFCSP420_CVT’ 450 | DEFCSP420_CVT(yuv2_argb, out_argb) | ^~~~~~~~~~~~~ libswscale/ppc/yuv2rgb_altivec.c:287:36: note: declared here 287 | static inline vector unsigned char vec_xl(const ubyte *addr) | ^~~~~~ libswscale/ppc/yuv2rgb_altivec.c:352:38: error: too many arguments to function ‘vec_xl’ 352 | u = (vector signed char) vec_xl(0, ui); \ | ^~~~~~ libswscale/ppc/yuv2rgb_altivec.c:450:1: note: in expansion of macro ‘DEFCSP420_CVT’ 450 | DEFCSP420_CVT(yuv2_argb, out_argb) | ^~~~~~~~~~~~~ libswscale/ppc/yuv2rgb_altivec.c:287:36: note: declared here 287 | static inline vector unsigned char vec_xl(const ubyte *addr) | ^~~~~~ libswscale/ppc/yuv2rgb_altivec.c:354:38: error: too many arguments to function ‘vec_xl’ 354 | v = (vector signed char) vec_xl(0, vi); \ | ^~~~~~ libswscale/ppc/yuv2rgb_altivec.c:450:1: note: in expansion of macro ‘DEFCSP420_CVT’ 450 | DEFCSP420_CVT(yuv2_argb, out_argb) | ^~~~~~~~~~~~~ libswscale/ppc/yuv2rgb_altivec.c:287:36: note: declared here 287 | static inline vector unsigned char vec_xl(const ubyte *addr) | ^~~~~~ libswscale/ppc/yuv2rgb_altivec.c: In function ‘altivec_yuv2_rgb24’: libswscale/ppc/yuv2rgb_altivec.c:348:18: error: too many arguments to function ‘vec_xl’ 348 | y0 = vec_xl(0, y1i); \ | ^~~~~~ libswscale/ppc/yuv2rgb_altivec.c:451:1: note: in expansion of macro ‘DEFCSP420_CVT’ 451 | DEFCSP420_CVT(yuv2_rgb24, out_rgb24) | ^~~~~~~~~~~~~ libswscale/ppc/yuv2rgb_altivec.c:287:36: note: declared here 287 | static inline vector unsigned char vec_xl(const ubyte *addr) | ^~~~~~ libswscale/ppc/yuv2rgb_altivec.c:350:18: error: too many arguments to function ‘vec_xl’ 350 | y1 = vec_xl(0, y2i); \ | ^~~~~~ libswscale/ppc/yuv2rgb_altivec.c:451:1: note: in expansion of macro ‘DEFCSP420_CVT’ 451 | DEFCSP420_CVT(yuv2_rgb24, out_rgb24) | ^~~~~~~~~~~~~ libswscale/ppc/yuv2rgb_altivec.c:287:36: note: declared here 287 | static inline vector unsigned char vec_xl(const ubyte *addr) | ^~~~~~ libswscale/ppc/yuv2rgb_altivec.c:352:38: error: too many arguments to function ‘vec_xl’ 352 | u = (vector signed char) vec_xl(0, ui); \ | ^~~~~~ libswscale/ppc/yuv2rgb_altivec.c:451:1: note: in expansion of macro ‘DEFCSP420_CVT’ 451 | DEFCSP420_CVT(yuv2_rgb24, out_rgb24) | ^~~~~~~~~~~~~ libswscale/ppc/yuv2rgb_altivec.c:287:36: note: declared here 287 | static inline vector unsigned char vec_xl(const ubyte *addr) | ^~~~~~ libswscale/ppc/yuv2rgb_altivec.c:354:38: error: too many arguments to function ‘vec_xl’ 354 | v = (vector signed char) vec_xl(0, vi); \ | ^~~~~~ libswscale/ppc/yuv2rgb_altivec.c:451:1: note: in expansion of macro ‘DEFCSP420_CVT’ 451 | DEFCSP420_CVT(yuv2_rgb24, out_rgb24) | ^~~~~~~~~~~~~ libswscale/ppc/yuv2rgb_altivec.c:287:36: note: declared here 287 | static inline vector unsigned char vec_xl(const ubyte *addr) | ^~~~~~ libswscale/ppc/yuv2rgb_altivec.c: In function ‘altivec_yuv2_bgr24’: libswscale/ppc/yuv2rgb_altivec.c:348:18: error: too many arguments to function ‘vec_xl’ 348 | y0 = vec_xl(0, y1i); \ | ^~~~~~ libswscale/ppc/yuv2rgb_altivec.c:452:1: note: in expansion of macro ‘DEFCSP420_CVT’ 452 | DEFCSP420_CVT(yuv2_bgr24, out_bgr24) | ^~~~~~~~~~~~~ libswscale/ppc/yuv2rgb_altivec.c:287:36: note: declared here 287 | static inline vector unsigned char vec_xl(const ubyte *addr) | ^~~~~~ libswscale/ppc/yuv2rgb_altivec.c:350:18: error: too many arguments to function ‘vec_xl’ 350 | y1 = vec_xl(0, y2i); \ | ^~~~~~ libswscale/ppc/yuv2rgb_altivec.c:452:1: note: in expansion of macro ‘DEFCSP420_CVT’ 452 | DEFCSP420_CVT(yuv2_bgr24, out_bgr24) | ^~~~~~~~~~~~~ libswscale/ppc/yuv2rgb_altivec.c:287:36: note: declared here 287 | static inline vector unsigned char vec_xl(const ubyte *addr) | ^~~~~~ libswscale/ppc/yuv2rgb_altivec.c:352:38: error: too many arguments to function ‘vec_xl’ 352 | u = (vector signed char) vec_xl(0, ui); \ | ^~~~~~ libswscale/ppc/yuv2rgb_altivec.c:452:1: note: in expansion of macro ‘DEFCSP420_CVT’ 452 | DEFCSP420_CVT(yuv2_bgr24, out_bgr24) | ^~~~~~~~~~~~~ libswscale/ppc/yuv2rgb_altivec.c:287:36: note: declared here 287 | static inline vector unsigned char vec_xl(const ubyte *addr) | ^~~~~~ libswscale/ppc/yuv2rgb_altivec.c:354:38: error: too many arguments to function ‘vec_xl’ 354 | v = (vector signed char) vec_xl(0, vi); \ | ^~~~~~ libswscale/ppc/yuv2rgb_altivec.c:452:1: note: in expansion of macro ‘DEFCSP420_CVT’ 452 | DEFCSP420_CVT(yuv2_bgr24, out_bgr24) | ^~~~~~~~~~~~~ libswscale/ppc/yuv2rgb_altivec.c:287:36: note: declared here 287 | static inline vector unsigned char vec_xl(const ubyte *addr)
comment:6 by , 4 years ago
Replying to marillat:
The latest patch is the same than the first one.
Changed the compiler directive to !HAVE_VSX (also I replaced the patch so you are NOT seeing the old one). Plus I added a missing offset parameter from the 1st patch.
by , 4 years ago
Attachment: | ffmpeg_altivec_yuv2rgb_novsx.patch added |
---|
follow-ups: 10 11 comment:8 by , 4 years ago
Hello!
I just ran into this issue as well. Any chance it can be fixed?
comment:9 by , 4 years ago
Cc: | added |
---|
comment:10 by , 4 years ago
Replying to glaubitz:
Hello!
I just ran into this issue as well. Any chance it can be fixed?
This bug has been fixed in the patch ffmpeg_altivec_yuv2rgb_novsx.patch
comment:11 by , 4 years ago
Replying to glaubitz:
Hello!
I just ran into this issue as well. Any chance it can be fixed?
This bug has been fixed in comment 7 ffmpeg_altivec_yuv2rgb_novsx.patch
comment:12 by , 4 years ago
Yes, but has the patch has not been merged yet.
See: https://github.com/FFmpeg/FFmpeg/commits/master/libswscale/ppc
comment:13 by , 4 years ago
Hi!
Is there a chance this fix could get merged into ffmpeg master?
The build is still broken on older POWER systems.
Thanks,
Adrian
comment:15 by , 4 years ago
comment:16 by , 4 years ago
Hi!
Any news on this? The ffmpeg package is still broken on powerpc and ppc64 in Debian unstable:
https://buildd.debian.org/status/package.php?p=ffmpeg&suite=sid
Would be great if this could be fixed before the next point release. I think the fix is trival enough to be added without further testing besides the tests from Debian.
Adrian
comment:17 by , 4 years ago
Resolution: | → fixed |
---|---|
Status: | new → closed |
Should be fixed by e7f53d6ac961011db6e97c255677a984b3c228fd
I suggest adding an inline function for the vec_xl intrinsic in non-VSX environments - see above patch.