[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