#8750: Patch to fix #7124 break the build for powerpc -------------------------------------+------------------------------------- Reporter: marillat | Owner: Type: defect | Status: new Priority: normal | Component: | undetermined Version: unspecified | Resolution: Keywords: | Blocked By: Blocking: | Reproduced by developer: 0 Analyzed by developer: 0 | -------------------------------------+------------------------------------- Description changed by marillat:
Old description: > 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 New description: 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 }}} -- -- Ticket URL: <https://trac.ffmpeg.org/ticket/8750#comment:1> FFmpeg <https://ffmpeg.org> FFmpeg issue tracker _______________________________________________ FFmpeg-trac mailing list FFmpeg-trac@avcodec.org https://ffmpeg.org/mailman/listinfo/ffmpeg-trac To unsubscribe, visit link above, or email ffmpeg-trac-requ...@ffmpeg.org with subject "unsubscribe".