[FFmpeg-trac] #8750(undetermined:new): Patch to fix #7124 break the build for powerpc

FFmpeg trac at avcodec.org
Sun Jun 21 11:27:32 EEST 2020


#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


More information about the FFmpeg-trac mailing list