[FFmpeg-trac] #8591(avfilter:new): vf_deshake_opencl fails to compile on ppc64le/POWER8

FFmpeg trac at avcodec.org
Tue Mar 31 15:59:34 EEST 2020


#8591: vf_deshake_opencl fails to compile on ppc64le/POWER8
----------------------------------+--------------------------------------
             Reporter:  rathann   |                     Type:  defect
               Status:  new       |                 Priority:  normal
            Component:  avfilter  |                  Version:  git-master
             Keywords:            |               Blocked By:
             Blocking:            |  Reproduced by developer:  0
Analyzed by developer:  0         |
----------------------------------+--------------------------------------
 Summary of the bug:

 FFmpeg snapshot from 2020-02-20 fails to compile on ppc64le/POWER8 on
 Fedora rawhide with gcc 10.0.1. There were no commits to
 libavfilter/vf_deshake_opencl.c since then, so this applies to git master
 HEAD, too.

 How to reproduce:
 {{{
 $ ./configure --prefix=/usr --bindir=/usr/bin --datadir=/usr/share/ffmpeg
 --docdir=/usr/share/doc/ffmpeg --incdir=/usr/include/ffmpeg
 --libdir=/usr/lib64 --mandir=/usr/share/man --arch=ppc64le '--optflags=-O2
 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2
 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-
 gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1
 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mcpu=power8
 -mtune=power8 -fasynchronous-unwind-tables -fstack-clash-protection'
 '--extra-ldflags=-Wl,-z,relro -Wl,--as-needed  -Wl,-z,now
 -specs=/usr/lib/rpm/redhat/redhat-hardened-ld  ' '--extra-cflags= '
 --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libvo-
 amrwbenc --enable-version3 --enable-bzlib --disable-crystalhd --enable-
 fontconfig --enable-frei0r --enable-gcrypt --enable-gnutls --enable-ladspa
 --enable-libaom --enable-libdav1d --enable-libass --enable-libbluray
 --enable-libcdio --enable-libdrm --enable-libjack --enable-libfreetype
 --enable-libfribidi --enable-libgsm --enable-libmp3lame --enable-openal
 --enable-opencl --enable-opengl --enable-libopenjpeg --enable-libopus
 --enable-libpulse --enable-librsvg --enable-libsoxr --enable-libspeex
 --enable-libssh --enable-libtheora --enable-libvorbis --enable-libv4l2
 --enable-libvidstab --enable-libvpx --enable-libx264 --enable-libx265
 --enable-libxvid --enable-libzimg --enable-libzvbi --enable-avfilter
 --enable-avresample --enable-postproc --enable-pthreads --disable-static
 --enable-shared --enable-gpl --disable-debug --disable-stripping
 --shlibdir=/usr/lib64 --enable-runtime-cpudetect --cpu=power8 --enable-pic
 ...
 $ /usr/bin/make -O -j2 V=1 VERBOSE=1 V=1
 ...
 gcc -I. -I./ -D_ISOC99_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE
 -D_POSIX_C_SOURCE=200112 -D_XOPEN_SOURCE=600 -DPIC -DZLIB_CONST
 -DHAVE_AV_CONFIG_H -DBUILDING_avfilter -mcpu=power8 -std=c11 -fomit-frame-
 pointer -fPIC -maltivec -mabi=altivec -mvsx -pthread
 -I/usr/include/p11-kit-1  -I/usr/include/harfbuzz -I/usr/include/glib-2.0
 -I/usr/lib64/glib-2.0/include -I/usr/include/freetype2
 -I/usr/include/libpng16 -I/usr/include/fribidi -I/usr/include/libxml2
 -I/usr/include/freetype2 -I/usr/include/libpng16  -I/usr/include/libdrm
 -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/freetype2
 -I/usr/include/libpng16 -I/usr/include/fribidi -I/usr/include/openjpeg-2.3
 -I/usr/include/opus -I/usr/include/opus -D_REENTRANT
 -I/usr/include/librsvg-2.0 -I/usr/include/glib-2.0
 -I/usr/lib64/glib-2.0/include -I/usr/include/libmount -I/usr/include/blkid
 -I/usr/include/gdk-pixbuf-2.0 -pthread -I/usr/include/cairo
 -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng16
 -DX264_API_IMPORTS        -I/usr/include/cdio       -Wdeclaration-after-
 statement -Wall -Wdisabled-optimization -Wpointer-arith -Wredundant-decls
 -Wwrite-strings -Wtype-limits -Wundef -Wmissing-prototypes -Wno-pointer-
 to-int-cast -Wstrict-prototypes -Wempty-body -Wno-parentheses -Wno-switch
 -Wno-format-zero-length -Wno-pointer-sign -Wno-unused-const-variable -Wno-
 bool-operation -Wno-char-subscripts -O2 -g -pipe -Wall -Werror=format-
 security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions
 -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat
 /redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64
 -mcpu=power8 -mtune=power8 -fasynchronous-unwind-tables -fstack-clash-
 protection -fno-math-errno -fno-signed-zeros -fno-tree-vectorize -Werror
 =format-security -Werror=implicit-function-declaration -Werror=missing-
 prototypes -Werror=return-type -Werror=vla -Wformat -fdiagnostics-
 color=auto -Wno-maybe-uninitialized -I/usr/include/SDL2 -D_REENTRANT  -MMD
 -MF libavfilter/vf_deshake_opencl.d -MT libavfilter/vf_deshake_opencl.o -c
 -o libavfilter/vf_deshake_opencl.o libavfilter/vf_deshake_opencl.c
 In file included from /usr/include/CL/cl.h:32,
                  from ./libavutil/hwcontext_opencl.h:25,
                  from libavfilter/opencl.h:31,
                  from libavfilter/vf_deshake_opencl.c:64:
 /usr/include/CL/cl_version.h:34:9: note: '#pragma message: cl_version.h:
 CL_TARGET_OPENCL_VERSION is not defined. Defaulting to 220 (OpenCL 2.2)'
    34 | #pragma message("cl_version.h: CL_TARGET_OPENCL_VERSION is not
 defined. Defaulting to 220 (OpenCL 2.2)")
       |         ^~~~~~~
 libavfilter/vf_deshake_opencl.c: In function 'points_not_collinear':
 libavfilter/vf_deshake_opencl.c:376:24: error: incompatible types when
 returning type 'int' but '__vector __bool int' {aka '__vector(4) __bool
 int'} was expected
   376 |                 return false;
       |                        ^~~~~
 libavfilter/vf_deshake_opencl.c:381:12: error: incompatible types when
 returning type 'int' but '__vector __bool int' {aka '__vector(4) __bool
 int'} was expected
   381 |     return true;
       |            ^~~~
 libavfilter/vf_deshake_opencl.c: In function 'check_subset':
 libavfilter/vf_deshake_opencl.c:400:12: error: used vector type where
 scalar is required
   400 |     return points_not_collinear(prev_points) &&
 points_not_collinear(curr_points);
       |            ^~~~~~~~~~~~~~~~~~~~
 libavfilter/vf_deshake_opencl.c: In function 'get_subset':
 libavfilter/vf_deshake_opencl.c:436:23: error: wrong type argument to
 unary exclamation mark
   436 |         if (i == 3 && !check_subset(pairs_subset)) {
       |                       ^
 libavfilter/vf_deshake_opencl.c:442:19: error: incompatible types when
 returning type 'int' but '__vector __bool int' {aka '__vector(4) __bool
 int'} was expected
   442 |     return i == 3 && iters < max_attempts;
       |            ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~
 libavfilter/vf_deshake_opencl.c: In function 'estimate_affine_2d':
 libavfilter/vf_deshake_opencl.c:538:19: error: incompatible types when
 initializing type '__vector __bool int' {aka '__vector(4) __bool int'}
 using type 'int'
   538 |     bool result = false;
       |                   ^~~~~
 libavfilter/vf_deshake_opencl.c:547:16: error: incompatible types when
 returning type 'int' but '__vector __bool int' {aka '__vector(4) __bool
 int'} was expected
   547 |         return false;
       |                ^~~~~
 libavfilter/vf_deshake_opencl.c:556:16: error: incompatible types when
 returning type 'int' but '__vector __bool int' {aka '__vector(4) __bool
 int'} was expected
   556 |         return true;
       |                ^~~~
 libavfilter/vf_deshake_opencl.c:562:13: error: wrong type argument to
 unary exclamation mark
   562 |         if (!found) {
       |             ^
 libavfilter/vf_deshake_opencl.c:564:24: error: incompatible types when
 returning type 'int' but '__vector __bool int' {aka '__vector(4) __bool
 int'} was expected
   564 |                 return false;
       |                        ^~~~~
 In file included from libavfilter/vf_deshake_opencl.c:48:
 libavfilter/vf_deshake_opencl.c:603:18: error: incompatible types when
 assigning to type '__vector __bool int' {aka '__vector(4) __bool int'}
 from type 'int'
   603 |         result = true;
       |                  ^~~~
 libavfilter/vf_deshake_opencl.c: In function 'optimize_model':
 libavfilter/vf_deshake_opencl.c:621:19: error: incompatible types when
 initializing type '__vector __bool int' {aka '__vector(4) __bool int'}
 using type 'int'
   621 |     bool move_x = true;
       |                   ^~~~
 libavfilter/vf_deshake_opencl.c:629:13: error: used vector type where
 scalar is required
   629 |         if (move_x) {
       |             ^~~~~~
 libavfilter/vf_deshake_opencl.c:651:17: error: used vector type where
 scalar is required
   651 |             if (move_x) {
       |                 ^~~~~~
 libavfilter/vf_deshake_opencl.c:664:17: error: used vector type where
 scalar is required
   664 |             if (move_x) {
       |                 ^~~~~~
 In file included from libavfilter/vf_deshake_opencl.c:48:
 libavfilter/vf_deshake_opencl.c:671:26: error: incompatible types when
 assigning to type '__vector __bool int' {aka '__vector(4) __bool int'}
 from type 'int'
   671 |                 move_x = false;
       |                          ^~~~~
 libavfilter/vf_deshake_opencl.c:673:26: error: incompatible types when
 assigning to type '__vector __bool int' {aka '__vector(4) __bool int'}
 from type 'int'
   673 |                 move_x = true;
       |                          ^~~~
 libavfilter/vf_deshake_opencl.c:621:10: warning: variable 'move_x' set but
 not used [-Wunused-but-set-variable]
   621 |     bool move_x = true;
       |          ^~~~~~
 libavfilter/vf_deshake_opencl.c: In function 'minimize_error':
 libavfilter/vf_deshake_opencl.c:692:19: error: incompatible types when
 initializing type '__vector __bool int' {aka '__vector(4) __bool int'}
 using type 'int'
   692 |     bool result = false;
       |                   ^~~~~
 libavfilter/vf_deshake_opencl.c:701:13: error: wrong type argument to
 unary exclamation mark
   701 |         if (!found) {
       |             ^
 libavfilter/vf_deshake_opencl.c:703:24: error: incompatible types when
 returning type 'int' but '__vector __bool int' {aka '__vector(4) __bool
 int'} was expected
   703 |                 return false;
       |                        ^~~~~
 In file included from libavfilter/vf_deshake_opencl.c:48:
 libavfilter/vf_deshake_opencl.c:737:14: error: incompatible types when
 assigning to type '__vector __bool int' {aka '__vector(4) __bool int'}
 from type 'int'
   737 |     result = true;
       |              ^~~~
 libavfilter/vf_deshake_opencl.c: In function 'deshake_opencl_uninit':
 libavfilter/vf_deshake_opencl.c:1106:9: error: wrong type argument to
 unary exclamation mark
  1106 |     if (!ctx->is_yuv)
       |         ^
 In file included from libavfilter/vf_deshake_opencl.c:48:
 libavfilter/vf_deshake_opencl.c: In function 'deshake_opencl_init':
 libavfilter/vf_deshake_opencl.c:1173:16: error: incompatible types when
 assigning to type '__vector __bool int' {aka '__vector(4) __bool int'}
 from type 'int'
  1173 |     ctx->eof = false;
       |                ^~~~~
 libavfilter/vf_deshake_opencl.c:1265:23: error: incompatible types when
 assigning to type '__vector __bool int' {aka '__vector(4) __bool int'}
 from type 'int'
  1265 |         ctx->is_yuv = false;
       |                       ^~~~~
 libavfilter/vf_deshake_opencl.c:1267:23: error: incompatible types when
 assigning to type '__vector __bool int' {aka '__vector(4) __bool int'}
 from type 'int'
  1267 |         ctx->is_yuv = true;
       |                       ^~~~
 libavfilter/vf_deshake_opencl.c:1298:9: error: wrong type argument to
 unary exclamation mark
  1298 |     if (!ctx->is_yuv) {
       |         ^
 libavfilter/vf_deshake_opencl.c: In function 'filter_frame':
 libavfilter/vf_deshake_opencl.c:1570:34: error: wrong type argument to
 unary exclamation mark
  1570 |     if (deshake_ctx->debug_on && !deshake_ctx->is_yuv &&
 debug_matches.num_matches > 0) {
       |                                  ^
 libavfilter/vf_deshake_opencl.c: In function 'queue_frame':
 libavfilter/vf_deshake_opencl.c:1796:9: error: used vector type where
 scalar is required
  1796 |     if (deshake_ctx->is_yuv) {
       |         ^~~~~~~~~~~
 libavfilter/vf_deshake_opencl.c:1902:9: error: wrong type argument to
 unary exclamation mark
  1902 |     if (!estimate_affine_2d(
       |         ^
 libavfilter/vf_deshake_opencl.c:1922:9: error: wrong type argument to
 unary exclamation mark
  1922 |     if (!minimize_error(
       |         ^
 libavfilter/vf_deshake_opencl.c:1954:13: error: wrong type argument to
 unary exclamation mark
  1954 |         if (!deshake_ctx->is_yuv) {
       |             ^
 libavfilter/vf_deshake_opencl.c: In function 'activate':
 libavfilter/vf_deshake_opencl.c:2051:9: error: wrong type argument to
 unary exclamation mark
  2051 |     if (!deshake_ctx->eof) {
       |         ^
 libavfilter/vf_deshake_opencl.c:2086:9: error: wrong type argument to
 unary exclamation mark
  2086 |     if (!deshake_ctx->eof && ff_inlink_acknowledge_status(inlink,
 &status, &pts)) {
       |         ^
 In file included from libavfilter/vf_deshake_opencl.c:48:
 libavfilter/vf_deshake_opencl.c:2088:32: error: incompatible types when
 assigning to type '__vector __bool int' {aka '__vector(4) __bool int'}
 from type 'int'
  2088 |             deshake_ctx->eof = true;
       |                                ^~~~
 libavfilter/vf_deshake_opencl.c:2092:9: error: used vector type where
 scalar is required
  2092 |     if (deshake_ctx->eof) {
       |         ^~~~~~~~~~~
 libavfilter/vf_deshake_opencl.c:2132:9: error: wrong type argument to
 unary exclamation mark
  2132 |     if (!deshake_ctx->eof) {
       |         ^
 make: *** [ffbuild/common.mak:59: libavfilter/vf_deshake_opencl.o] Error 1
 }}}
 Installed packages versions:
 http://koji.rpmfusion.org/kojifiles/work/tasks/8422/388422/root.log
 Full build log:
 http://koji.rpmfusion.org/kojifiles/work/tasks/8422/388422/build.log

--
Ticket URL: <https://trac.ffmpeg.org/ticket/8591>
FFmpeg <https://ffmpeg.org>
FFmpeg issue tracker


More information about the FFmpeg-trac mailing list