[FFmpeg-devel] [PATCH 0/3] hwcontext_vaapi: dlopen libva-x11 and libva-drm

Emil Velikov emil.l.velikov at gmail.com
Tue Jul 19 19:56:53 EEST 2022


Greetings everyone,

As you may know the libva* set of libraries share an internal ABI
between them. In a resent libva commit, the va_fool API was removed.

Thus if one is to mix different versions of libva.so and libva-x11.so
they will get an error, leading to a crash of the whole stack.

The simple solution is to dlopen() the winsys components, like libva-x11
and libva-drm. The changes are pretty minor and allow us to handle most
of the issues.

Comments and suggestions are welcome, but please me gentle it's my first
time hacking on ffmpeg.

Thanks
Emil

Aside:
 - Please consider backporting it to the stable branches in due time.
 - My TODO includes to reducing the massive ABI between libva* and
backend drivers, which is likely to involve adding a "registration" API.

Emil Velikov (3):
  hwcontext_vaapi: do not link against libva-x11.so
  hwcontext_vaapi: do not link against libva-drm.so
  hwcontext_vaapi: #if guard VAAPI_DRM specifics

 configure                   |  2 +-
 libavutil/hwcontext_vaapi.c | 92 +++++++++++++++++++++++++++++++++++--
 2 files changed, 90 insertions(+), 4 deletions(-)

-- 
2.37.0



More information about the ffmpeg-devel mailing list