Opened 3 years ago

Closed 3 years ago

Last modified 3 years ago

#8591 closed defect (fixed)

vf_deshake_opencl fails to compile on ppc64le/POWER8

Reported by: Dominik Mierzejewski Owned by:
Priority: normal Component: avfilter
Version: git-master Keywords: ppc opencl
Cc: Blocked By:
Blocking: Reproduced by developer: no
Analyzed by developer: no

Description

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

Change History (10)

comment:1 by Carl Eugen Hoyos, 3 years ago

Some of the configure flags look invalid to me (don't worry, OpenBSD has the same issue), please test current FFmpeg git head with a simplified configure line to make this a valid ticket.

comment:2 by Dominik Mierzejewski, 3 years ago

Which ones in particular are invalid and why are they not rejected by configure? The current option set has been working for years.

comment:3 by Carl Eugen Hoyos, 3 years ago

Using arch is only defined for cross-compilation, optflags should only be used with strange compilers.

comment:4 by Dominik Mierzejewski, 3 years ago

Ok, fair enough. I'll try to reproduce without those two, though I'm not convinced they are the culprit.

comment:5 by Dominik Mierzejewski, 3 years ago

Just did, exact same errors without specifying --arch and --optflags.

comment:6 by Carl Eugen Hoyos, 3 years ago

Sorry for the misunderstanding: This isn't about removing some options but providing the console output of ./configure && make V=1 libavfilter/vf_deshake_opencl.o to simplify reproducing the error for everybody.

comment:7 by Dominik Mierzejewski, 3 years ago

Sure thing. Here you go:

$ ./configure  && make V=1 libavfilter/vf_deshake_opencl.o
install prefix            /usr/local
source path               .
C compiler                gcc
C library                 glibc
ARCH                      ppc (generic)
big-endian                no
runtime cpu detection     yes
AltiVec enabled           yes
VSX enabled               yes
POWER8 enabled            yes
PPC 4xx optimizations     no
dcbzl available           yes
debug symbols             yes
strip symbols             yes
optimize for size         no
optimizations             yes
static                    yes
shared                    no
postprocessing support    no
network support           yes
threading support         pthreads
safe bitstream reader     yes
texi2html enabled         no
perl enabled              yes
pod2man enabled           yes
makeinfo enabled          yes
makeinfo supports HTML    yes

External libraries:
alsa                    iconv                   libxcb_shape            libxcb_xfixes           sdl2
bzlib                   libxcb                  libxcb_shm              lzma                    zlib

External libraries providing hardware acceleration:
v4l2_m2m                vaapi                   vdpau

Libraries:
avcodec                 avfilter                avutil                  swscale
avdevice                avformat                swresample

Programs:
ffmpeg                  ffplay                  ffprobe

Enabled decoders:
aac                     bitpacked               hq_hqa                  pcm_f32be               subviewer
aac_fixed               bmp                     hqx                     pcm_f32le               subviewer1
aac_latm                bmv_audio               huffyuv                 pcm_f64be               sunrast
aasc                    bmv_video               hymt                    pcm_f64le               svq1
ac3                     brender_pix             iac                     pcm_lxf                 svq3
ac3_fixed               c93                     idcin                   pcm_mulaw               tak
acelp_kelvin            cavs                    idf                     pcm_s16be               targa
adpcm_4xm               ccaption                iff_ilbm                pcm_s16be_planar        targa_y216
adpcm_adx               cdgraphics              ilbc                    pcm_s16le               tdsc
adpcm_afc               cdtoons                 imc                     pcm_s16le_planar        text
adpcm_agm               cdxl                    imm4                    pcm_s24be               theora
adpcm_aica              cfhd                    imm5                    pcm_s24daud             thp
adpcm_argo              cinepak                 indeo2                  pcm_s24le               tiertexseqvideo
adpcm_ct                clearvideo              indeo3                  pcm_s24le_planar        tiff
adpcm_dtk               cljr                    indeo4                  pcm_s32be               tmv
adpcm_ea                cllc                    indeo5                  pcm_s32le               truehd
adpcm_ea_maxis_xa       comfortnoise            interplay_acm           pcm_s32le_planar        truemotion1
adpcm_ea_r1             cook                    interplay_dpcm          pcm_s64be               truemotion2
adpcm_ea_r2             cpia                    interplay_video         pcm_s64le               truemotion2rt
adpcm_ea_r3             cscd                    jacosub                 pcm_s8                  truespeech
adpcm_ea_xas            cyuv                    jpeg2000                pcm_s8_planar           tscc
adpcm_g722              dca                     jpegls                  pcm_u16be               tscc2
adpcm_g726              dds                     jv                      pcm_u16le               tta
adpcm_g726le            derf_dpcm               kgv1                    pcm_u24be               twinvq
adpcm_ima_alp           dfa                     kmvc                    pcm_u24le               txd
adpcm_ima_amv           dirac                   lagarith                pcm_u32be               ulti
adpcm_ima_apc           dnxhd                   loco                    pcm_u32le               utvideo
adpcm_ima_apm           dolby_e                 lscr                    pcm_u8                  v210
adpcm_ima_dat4          dpx                     m101                    pcm_vidc                v210x
adpcm_ima_dk3           dsd_lsbf                mace3                   pcx                     v308
adpcm_ima_dk4           dsd_lsbf_planar         mace6                   pgm                     v408
adpcm_ima_ea_eacs       dsd_msbf                magicyuv                pgmyuv                  v410
adpcm_ima_ea_sead       dsd_msbf_planar         mdec                    pgssub                  vb
adpcm_ima_iss           dsicinaudio             metasound               pictor                  vble
adpcm_ima_mtf           dsicinvideo             microdvd                pixlet                  vc1
adpcm_ima_oki           dss_sp                  mimic                   pjs                     vc1_v4l2m2m
adpcm_ima_qt            dst                     mjpeg                   png                     vc1image
adpcm_ima_rad           dvaudio                 mjpegb                  ppm                     vcr1
adpcm_ima_smjpeg        dvbsub                  mlp                     prores                  vmdaudio
adpcm_ima_ssi           dvdsub                  mmvideo                 prosumer                vmdvideo
adpcm_ima_wav           dvvideo                 motionpixels            psd                     vmnc
adpcm_ima_ws            dxa                     movtext                 ptx                     vorbis
adpcm_ms                dxtory                  mp1                     qcelp                   vp3
adpcm_mtaf              dxv                     mp1float                qdm2                    vp4
adpcm_psx               eac3                    mp2                     qdmc                    vp5
adpcm_sbpro_2           eacmv                   mp2float                qdraw                   vp6
adpcm_sbpro_3           eamad                   mp3                     qpeg                    vp6a
adpcm_sbpro_4           eatgq                   mp3adu                  qtrle                   vp6f
adpcm_swf               eatgv                   mp3adufloat             r10k                    vp7
adpcm_thp               eatqi                   mp3float                r210                    vp8
adpcm_thp_le            eightbps                mp3on4                  ra_144                  vp8_v4l2m2m
adpcm_vima              eightsvx_exp            mp3on4float             ra_288                  vp9
adpcm_xa                eightsvx_fib            mpc7                    ralf                    vp9_v4l2m2m
adpcm_yamaha            escape124               mpc8                    rasc                    vplayer
adpcm_zork              escape130               mpeg1_v4l2m2m           rawvideo                vqa
agm                     evrc                    mpeg1video              realtext                wavpack
aic                     exr                     mpeg2_v4l2m2m           rl2                     wcmv
alac                    ffv1                    mpeg2video              roq                     webp
alias_pix               ffvhuff                 mpeg4                   roq_dpcm                webvtt
als                     ffwavesynth             mpeg4_v4l2m2m           rpza                    wmalossless
amrnb                   fic                     mpegvideo               rscc                    wmapro
amrwb                   fits                    mpl2                    rv10                    wmav1
amv                     flac                    msa1                    rv20                    wmav2
anm                     flashsv                 mscc                    rv30                    wmavoice
ansi                    flashsv2                msmpeg4v1               rv40                    wmv1
ape                     flic                    msmpeg4v2               s302m                   wmv2
apng                    flv                     msmpeg4v3               sami                    wmv3
aptx                    fmvc                    msrle                   sanm                    wmv3image
aptx_hd                 fourxm                  mss1                    sbc                     wnv1
arbc                    fraps                   mss2                    scpr                    wrapped_avframe
ass                     frwu                    msvideo1                screenpresso            ws_snd1
asv1                    g2m                     mszh                    sdx2_dpcm               xan_dpcm
asv2                    g723_1                  mts2                    sgi                     xan_wc3
atrac1                  g729                    mvc1                    sgirle                  xan_wc4
atrac3                  gdv                     mvc2                    sheervideo              xbin
atrac3al                gif                     mvdv                    shorten                 xbm
atrac3p                 gremlin_dpcm            mvha                    sipr                    xface
atrac3pal               gsm                     mwsc                    siren                   xl
atrac9                  gsm_ms                  mxpeg                   smackaud                xma1
aura                    h261                    nellymoser              smacker                 xma2
aura2                   h263                    nuv                     smc                     xpm
avrn                    h263_v4l2m2m            on2avc                  smvjpeg                 xsub
avrp                    h263i                   opus                    snow                    xwd
avs                     h263p                   paf_audio               sol_dpcm                y41p
avui                    h264                    paf_video               sonic                   ylc
ayuv                    h264_v4l2m2m            pam                     sp5x                    yop
bethsoftvid             hap                     pbm                     speedhq                 yuv4
bfi                     hca                     pcm_alaw                srgc                    zero12v
bink                    hcom                    pcm_bluray              srt                     zerocodec
binkaudio_dct           hevc                    pcm_dvd                 ssa                     zlib
binkaudio_rdft          hevc_v4l2m2m            pcm_f16le               stl                     zmbv
bintext                 hnm4_video              pcm_f24le               subrip

Enabled encoders:
a64multi                dvbsub                  mpeg2_vaapi             pcm_u16be               subrip
a64multi5               dvdsub                  mpeg2video              pcm_u16le               sunrast
aac                     dvvideo                 mpeg4                   pcm_u24be               svq1
ac3                     eac3                    mpeg4_v4l2m2m           pcm_u24le               targa
ac3_fixed               ffv1                    msmpeg4v2               pcm_u32be               text
adpcm_adx               ffvhuff                 msmpeg4v3               pcm_u32le               tiff
adpcm_g722              fits                    msvideo1                pcm_u8                  truehd
adpcm_g726              flac                    nellymoser              pcm_vidc                tta
adpcm_g726le            flashsv                 opus                    pcx                     utvideo
adpcm_ima_qt            flashsv2                pam                     pgm                     v210
adpcm_ima_wav           flv                     pbm                     pgmyuv                  v308
adpcm_ms                g723_1                  pcm_alaw                png                     v408
adpcm_swf               gif                     pcm_dvd                 ppm                     v410
adpcm_yamaha            h261                    pcm_f32be               prores                  vc2
alac                    h263                    pcm_f32le               prores_aw               vorbis
alias_pix               h263_v4l2m2m            pcm_f64be               prores_ks               vp8_v4l2m2m
amv                     h263p                   pcm_f64le               qtrle                   vp8_vaapi
apng                    h264_v4l2m2m            pcm_mulaw               r10k                    vp9_vaapi
aptx                    h264_vaapi              pcm_s16be               r210                    wavpack
aptx_hd                 hevc_v4l2m2m            pcm_s16be_planar        ra_144                  webvtt
ass                     hevc_vaapi              pcm_s16le               rawvideo                wmav1
asv1                    huffyuv                 pcm_s16le_planar        roq                     wmav2
asv2                    jpeg2000                pcm_s24be               roq_dpcm                wmv1
avrp                    jpegls                  pcm_s24daud             rv10                    wmv2
avui                    ljpeg                   pcm_s24le               rv20                    wrapped_avframe
ayuv                    magicyuv                pcm_s24le_planar        s302m                   xbm
bmp                     mjpeg                   pcm_s32be               sbc                     xface
cinepak                 mjpeg_vaapi             pcm_s32le               sgi                     xsub
cljr                    mlp                     pcm_s32le_planar        snow                    xwd
comfortnoise            movtext                 pcm_s64be               sonic                   y41p
dca                     mp2                     pcm_s64le               sonic_ls                yuv4
dnxhd                   mp2fixed                pcm_s8                  srt                     zlib
dpx                     mpeg1video              pcm_s8_planar           ssa                     zmbv

Enabled hwaccels:
h263_vaapi              hevc_vdpau              mpeg2_vdpau             vc1_vdpau               wmv3_vaapi
h264_vaapi              mjpeg_vaapi             mpeg4_vaapi             vp8_vaapi               wmv3_vdpau
h264_vdpau              mpeg1_vdpau             mpeg4_vdpau             vp9_vaapi
hevc_vaapi              mpeg2_vaapi             vc1_vaapi               vp9_vdpau

Enabled parsers:
aac                     dca                     g723_1                  mlp                     sbc
aac_latm                dirac                   g729                    mpeg4video              sipr
ac3                     dnxhd                   gif                     mpegaudio               tak
adx                     dpx                     gsm                     mpegvideo               vc1
av1                     dvaudio                 h261                    opus                    vorbis
avs2                    dvbsub                  h263                    png                     vp3
bmp                     dvd_nav                 h264                    pnm                     vp8
cavsvideo               dvdsub                  hevc                    rv30                    vp9
cook                    flac                    mjpeg                   rv40                    xma

Enabled demuxers:
aa                      dnxhd                   image_pbm_pipe          mxf                     shorten
aac                     dsf                     image_pcx_pipe          mxg                     siff
ac3                     dsicin                  image_pgm_pipe          nc                      sln
acm                     dss                     image_pgmyuv_pipe       nistsphere              smacker
act                     dts                     image_pictor_pipe       nsp                     smjpeg
adf                     dtshd                   image_png_pipe          nsv                     smush
adp                     dv                      image_ppm_pipe          nut                     sol
ads                     dvbsub                  image_psd_pipe          nuv                     sox
adx                     dvbtxt                  image_qdraw_pipe        ogg                     spdif
aea                     dxa                     image_sgi_pipe          oma                     srt
afc                     ea                      image_sunrast_pipe      paf                     stl
aiff                    ea_cdata                image_svg_pipe          pcm_alaw                str
aix                     eac3                    image_tiff_pipe         pcm_f32be               subviewer
alp                     epaf                    image_webp_pipe         pcm_f32le               subviewer1
amr                     ffmetadata              image_xpm_pipe          pcm_f64be               sup
amrnb                   filmstrip               image_xwd_pipe          pcm_f64le               svag
amrwb                   fits                    ingenient               pcm_mulaw               swf
anm                     flac                    ipmovie                 pcm_s16be               tak
apc                     flic                    ircam                   pcm_s16le               tedcaptions
ape                     flv                     iss                     pcm_s24be               thp
apm                     fourxm                  iv8                     pcm_s24le               threedostr
apng                    frm                     ivf                     pcm_s32be               tiertexseq
aptx                    fsb                     ivr                     pcm_s32le               tmv
aptx_hd                 fwse                    jacosub                 pcm_s8                  truehd
aqtitle                 g722                    jv                      pcm_u16be               tta
argo_asf                g723_1                  kux                     pcm_u16le               tty
asf                     g726                    kvag                    pcm_u24be               txd
asf_o                   g726le                  live_flv                pcm_u24le               ty
ass                     g729                    lmlm4                   pcm_u32be               v210
ast                     gdv                     loas                    pcm_u32le               v210x
au                      genh                    lrc                     pcm_u8                  vag
av1                     gif                     lvf                     pcm_vidc                vc1
avi                     gsm                     lxf                     pjs                     vc1t
avr                     gxf                     m4v                     pmp                     vividas
avs                     h261                    matroska                pva                     vivo
avs2                    h263                    mgsts                   pvf                     vmd
bethsoftvid             h264                    microdvd                qcp                     vobsub
bfi                     hca                     mjpeg                   r3d                     voc
bfstm                   hcom                    mjpeg_2000              rawvideo                vpk
bink                    hevc                    mlp                     realtext                vplayer
bintext                 hls                     mlv                     redspark                vqf
bit                     hnm                     mm                      rl2                     w64
bmv                     ico                     mmf                     rm                      wav
boa                     idcin                   mov                     roq                     wc3
brstm                   idf                     mp3                     rpl                     webm_dash_manifest
c93                     iff                     mpc                     rsd                     webvtt
caf                     ifv                     mpc8                    rso                     wsaud
cavsvideo               ilbc                    mpegps                  rtp                     wsd
cdg                     image2                  mpegts                  rtsp                    wsvqa
cdxl                    image2_alias_pix        mpegtsraw               s337m                   wtv
cine                    image2_brender_pix      mpegvideo               sami                    wv
codec2                  image2pipe              mpjpeg                  sap                     wve
codec2raw               image_bmp_pipe          mpl2                    sbc                     xa
concat                  image_dds_pipe          mpsub                   sbg                     xbin
data                    image_dpx_pipe          msf                     scc                     xmv
daud                    image_exr_pipe          msnwc_tcp               sdp                     xvag
dcstr                   image_gif_pipe          mtaf                    sdr2                    xwma
derf                    image_j2k_pipe          mtv                     sds                     yop
dfa                     image_jpeg_pipe         musx                    sdx                     yuv4mpegpipe
dhav                    image_jpegls_pipe       mv                      segafilm
dirac                   image_pam_pipe          mvi                     ser

Enabled muxers:
a64                     fifo                    lrc                     pcm_alaw                segment
ac3                     fifo_test               m4v                     pcm_f32be               singlejpeg
adts                    filmstrip               matroska                pcm_f32le               smjpeg
adx                     fits                    matroska_audio          pcm_f64be               smoothstreaming
aiff                    flac                    md5                     pcm_f64le               sox
amr                     flv                     microdvd                pcm_mulaw               spdif
apng                    framecrc                mjpeg                   pcm_s16be               spx
aptx                    framehash               mkvtimestamp_v2         pcm_s16le               srt
aptx_hd                 framemd5                mlp                     pcm_s24be               stream_segment
asf                     g722                    mmf                     pcm_s24le               streamhash
asf_stream              g723_1                  mov                     pcm_s32be               sup
ass                     g726                    mp2                     pcm_s32le               swf
ast                     g726le                  mp3                     pcm_s8                  tee
au                      gif                     mp4                     pcm_u16be               tg2
avi                     gsm                     mpeg1system             pcm_u16le               tgp
avm2                    gxf                     mpeg1vcd                pcm_u24be               truehd
avs2                    h261                    mpeg1video              pcm_u24le               tta
bit                     h263                    mpeg2dvd                pcm_u32be               uncodedframecrc
caf                     h264                    mpeg2svcd               pcm_u32le               vc1
cavsvideo               hash                    mpeg2video              pcm_u8                  vc1t
codec2                  hds                     mpeg2vob                pcm_vidc                voc
codec2raw               hevc                    mpegts                  psp                     w64
crc                     hls                     mpjpeg                  rawvideo                wav
dash                    ico                     mxf                     rm                      webm
data                    ilbc                    mxf_d10                 roq                     webm_chunk
daud                    image2                  mxf_opatom              rso                     webm_dash_manifest
dirac                   image2pipe              null                    rtp                     webp
dnxhd                   ipod                    nut                     rtp_mpegts              webvtt
dts                     ircam                   oga                     rtsp                    wtv
dv                      ismv                    ogg                     sap                     wv
eac3                    ivf                     ogv                     sbc                     yuv4mpegpipe
f4v                     jacosub                 oma                     scc
ffmetadata              latm                    opus                    segafilm

Enabled protocols:
async                   file                    icecast                 rtmp                    tee
cache                   ftp                     md5                     rtmpt                   udp
concat                  gopher                  mmsh                    rtp                     udplite
crypto                  hls                     mmst                    srtp                    unix
data                    http                    pipe                    subfile
ffrtmphttp              httpproxy               prompeg                 tcp

Enabled filters:
abench                  atadenoise              earwax                  maskedmerge             showspectrumpic
abitscope               atempo                  ebur128                 maskedmin               showvolume
acompressor             atrim                   edgedetect              maskfun                 showwaves
acontrast               avectorscope            elbg                    mcompand                showwavespic
acopy                   avgblur                 entropy                 median                  shuffleframes
acrossfade              axcorrelate             equalizer               mergeplanes             shuffleplanes
acrossover              bandpass                erosion                 mestimate               sidechaincompress
acrusher                bandreject              extractplanes           metadata                sidechaingate
acue                    bass                    extrastereo             midequalizer            sidedata
addroi                  bbox                    fade                    minterpolate            sierpinski
adeclick                bench                   fftdnoiz                mix                     signalstats
adeclip                 bilateral               fftfilt                 movie                   silencedetect
adelay                  biquad                  field                   negate                  silenceremove
aderivative             bitplanenoise           fieldhint               nlmeans                 sinc
adrawgraph              blackdetect             fieldmatch              noformat                sine
aecho                   blend                   fieldorder              noise                   smptebars
aemphasis               bm3d                    fifo                    normalize               smptehdbars
aeval                   bwdif                   fillborders             null                    sobel
aevalsrc                cas                     firequalizer            nullsink                spectrumsynth
afade                   cellauto                flanger                 nullsrc                 split
afftdn                  channelmap              floodfill               oscilloscope            sr
afftfilt                channelsplit            format                  overlay                 ssim
afifo                   chorus                  fps                     pad                     stereotools
afir                    chromahold              framepack               pal100bars              stereowiden
afirsrc                 chromakey               framerate               pal75bars               streamselect
aformat                 chromashift             framestep               palettegen              superequalizer
agate                   ciescope                freezedetect            paletteuse              surround
agraphmonitor           codecview               freezeframes            pan                     swaprect
ahistogram              color                   gblur                   perms                   swapuv
aiir                    colorbalance            geq                     photosensitivity        tblend
aintegral               colorchannelmixer       gradfun                 pixdesctest             telecine
ainterleave             colorhold               graphmonitor            pixscope                testsrc
alimiter                colorkey                greyedge                premultiply             testsrc2
allpass                 colorlevels             haas                    prewitt                 thistogram
allrgb                  colorspace              haldclut                procamp_vaapi           threshold
allyuv                  compand                 haldclutsrc             pseudocolor             thumbnail
aloop                   compensationdelay       hdcd                    psnr                    tile
alphaextract            concat                  headphone               qp                      tlut2
alphamerge              convolution             hflip                   random                  tmix
amerge                  convolve                highpass                readeia608              tonemap
ametadata               copy                    highshelf               readvitc                tonemap_vaapi
amix                    crop                    hilbert                 realtime                tpad
amovie                  crossfeed               histogram               remap                   transpose
amplify                 crystalizer             hqx                     removegrain             transpose_vaapi
amultiply               cue                     hstack                  removelogo              treble
anequalizer             curves                  hue                     replaygain              tremolo
anlmdn                  datascope               hwdownload              reverse                 trim
anlms                   dcshift                 hwmap                   rgbashift               unpremultiply
anoisesrc               dctdnoiz                hwupload                rgbtestsrc              unsharp
anull                   deband                  hysteresis              roberts                 v360
anullsink               deblock                 idet                    rotate                  vectorscope
anullsrc                decimate                il                      scale                   vflip
apad                    deconvolve              inflate                 scale2ref               vfrdet
aperms                  dedot                   interleave              scale_vaapi             vibrance
aphasemeter             deesser                 join                    scroll                  vibrato
aphaser                 deflate                 lagfun                  select                  vignette
apulsator               deflicker               lenscorrection          selectivecolor          vmafmotion
arealtime               deinterlace_vaapi       life                    sendcmd                 volume
aresample               dejudder                limiter                 separatefields          volumedetect
areverse                denoise_vaapi           loop                    setdar                  vstack
arnndn                  derain                  loudnorm                setfield                w3fdif
aselect                 deshake                 lowpass                 setparams               waveform
asendcmd                despill                 lowshelf                setpts                  weave
asetnsamples            detelecine              lumakey                 setrange                xbr
asetpts                 dilation                lut                     setsar                  xfade
asetrate                displace                lut1d                   settb                   xmedian
asettb                  dnn_processing          lut2                    sharpness_vaapi         xstack
ashowinfo               doubleweave             lut3d                   showcqt                 yadif
asidedata               drawbox                 lutrgb                  showfreqs               yaepblur
asoftclip               drawgraph               lutyuv                  showinfo                yuvtestsrc
asplit                  drawgrid                mandelbrot              showpalette             zoompan
astats                  drmeter                 maskedclamp             showspatial
astreamselect           dynaudnorm              maskedmax               showspectrum

Enabled bsfs:
aac_adtstoasc           eac3_core               hevc_metadata           mpeg2_metadata          trace_headers
av1_frame_merge         extract_extradata       hevc_mp4toannexb        mpeg4_unpack_bframes    truehd_core
av1_frame_split         filter_units            imx_dump_header         noise                   vp9_metadata
av1_metadata            h264_metadata           mjpeg2jpeg              null                    vp9_raw_reorder
chomp                   h264_mp4toannexb        mjpega_dump_header      prores_metadata         vp9_superframe
dca_core                h264_redundant_pps      mov2textsub             remove_extradata        vp9_superframe_split
dump_extradata          hapqa_extract           mp3_header_decompress   text2movsub

Enabled indevs:
alsa                    lavfi                   v4l2
fbdev                   oss                     xcbgrab

Enabled outdevs:
alsa                    fbdev                   oss                     sdl2                    v4l2

License: LGPL version 2.1 or later
libavutil/avconfig.h is unchanged
libavcodec/codec_list.c is unchanged
libavcodec/parser_list.c is unchanged
libavcodec/bsf_list.c is unchanged
libavformat/demuxer_list.c is unchanged
libavformat/muxer_list.c is unchanged
libavdevice/indev_list.c is unchanged
libavdevice/outdev_list.c is unchanged
libavformat/protocol_list.c is unchanged
touch .version
gcc -I. -I./ -D_ISOC99_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_POSIX_C_SOURCE=200112 -D_XOPEN_SOURCE=600 -DZLIB_CONST -std=c11 -fomit-frame-pointer -maltivec -mabi=altivec -mvsx -pthread         -g -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 -O3 -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
$

comment:8 by Dominik Mierzejewski, 3 years ago

I guess these are also relevant:

$ gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/libexec/gcc/ppc64le-redhat-linux/10/lto-wrapper
OFFLOAD_TARGET_NAMES=nvptx-none
OFFLOAD_TARGET_DEFAULT=1
Target: ppc64le-redhat-linux
Configured with: ../configure --enable-bootstrap --enable-languages=c,c++,fortran,objc,obj-c++,ada,go,lto --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-shared --enable-threads=posix --enable-checking=release --enable-targets=powerpcle-linux --disable-multilib --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-linker-build-id --with-gcc-major-version-only --with-linker-hash-style=gnu --enable-plugin --enable-initfini-array --with-isl --enable-offload-targets=nvptx-none --without-cuda-driver --enable-gnu-indirect-function --enable-secureplt --with-long-double-128 --with-cpu-32=power8 --with-tune-32=power8 --with-cpu-64=power8 --with-tune-64=power8 --build=ppc64le-redhat-linux
Thread model: posix
Supported LTO compression algorithms: zlib zstd
gcc version 10.0.1 20200328 (Red Hat 10.0.1-0.11) (GCC) 
$ rpm -q gcc opencl-headers ocl-icd-devel
gcc-10.0.1-0.11.fc33.ppc64le
opencl-headers-2.2-7.20200218git96f5bde.fc33.noarch
ocl-icd-devel-2.2.12-9.fc32.ppc64le

comment:9 by Carl Eugen Hoyos, 3 years ago

Keywords: ppc opencl added
Resolution: fixed
Status: newclosed

Fixed in 00ce1ec6a5d301b4075e2e7e5c9ea3b37c9c4be5, thank you for the report!

comment:10 by Dominik Mierzejewski, 3 years ago

You're welcome, thanks for the quick fix.

Note: See TracTickets for help on using tickets.