[FFmpeg-user] VAAPI filters defined in source not available in my compiled ffmpeg?

John Allard john at jhallard.com
Sat Jun 13 00:36:07 EEST 2020


I have compiled FFMPEG from release/4.3 branch with vaapi enabled. This is
the buildconf of my ffmpeg binary

ffmpeg version N-98129-g0b182ff Copyright (c) 2000-2020 the FFmpeg
  built with gcc 5.4.0 (Ubuntu 5.4.0-6ubuntu1~16.04.12) 20160609
  configuration: --disable-debug --disable-doc --disable-ffplay
--enable-shared --enable-avresample --enable-libopencore-amrnb
--enable-libopencore-amrwb --enable-gpl --enable-libass --enable-fontconfig
--enable-libfreetype --enable-libvidstab --enable-libmp3lame
--enable-libopus --enable-libtheora --enable-libvorbis --enable-libvpx
--enable-libwebp --enable-libx265 --enable-libxvid --enable-libx264
--enable-nonfree --enable-openssl --enable-libfdk_aac --enable-postproc
--enable-small --enable-version3 --enable-libzmq --extra-libs=-ldl
--prefix=/opt/ffmpeg --enable-libopenjpeg --enable-libkvazaar
--enable-libaom --extra-libs=-lpthread --enable-libsrt --enable-vaapi
--extra-cflags=-I/opt/ffmpeg/include --extra-ldflags=-L/opt/ffmpeg/lib
  libavutil      56. 54.100 / 56. 54.100
  libavcodec     58. 92.100 / 58. 92.100
  libavformat    58. 46.101 / 58. 46.101
  libavdevice    58. 11.100 / 58. 11.100
  libavfilter     7. 86.100 /  7. 86.100
  libavresample   4.  0.  0 /  4.  0.  0
  libswscale      5.  8.100 /  5.  8.100
  libswresample   3.  8.100 /  3.  8.100
  libpostproc    55.  8.100 / 55.  8.100


VAAPI works fine on my build, it shows up under the -hwaccels options and
I'm able to use it to decode and encode h264 video just fine.

$ ffmpeg -hwaccels
Hardware acceleration methods:

$ ffmpeg -filters | grep vaapi
 ... deinterlace_vaapi V->V       (null)
 ... denoise_vaapi     V->V       (null)
 ... procamp_vaapi     V->V       (null)
 ... scale_vaapi       V->V       (null)
 ... sharpness_vaapi   V->V       (null)

The issue is that some of the filters that should be there appear to be
missing, namely, the `transpose_vaapi` filter is defined in the source tree
but is not available for me to use.

If you look in `libavfilter/allfilters.c` you see

extern AVFilter ff_vf_transpose_vaapi;
And the file vf_transpose_vaapi.c exists. I can't figure out, why then,
this filter is not available for me to use.

While we're on this subject, why does the ffmpeg documentation lack entries
for the majority of the VAAPI filters?


This link only shows a single VAAPI filter, tonemap_vaapi, and funny
enough, that filter isn't showing up as one of my enabled filters for my
ffmpeg build under the -filters option.

Can someone help me sort out

1. What determines is a defined filter (allfilters.c) makes it into the
-filters option on a compiled ffmpeg
2. How do I get a working build with the transpose_vaapi filter recognized
and usable?
3. Where do I find documentation for the vaapi filters that are missing
from the documentation link that I provided.

John Allard.

More information about the ffmpeg-user mailing list