[FFmpeg-devel] [PATCH v2 0/3] hwcontext_vaapi: dlopen libva-x11 and libva-drm
Emil Velikov
emil.l.velikov at gmail.com
Tue Jul 19 20:53:07 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 this
king of issues.
Comments and suggestions are welcome, but please me gentle it's my first
time hacking on ffmpeg :-P
Thanks
Emil
Changes in v2:
- add linkage against libdl
Aside:
- Please consider backporting it to the stable branches in due time.
- I've noticed that we leak state in the error paths, happy to send
follow-up patches if you'd like those fixed.
- My TODO includes reducing the massive ABI between libva* and
backend drivers, to a single extra "registration" API entrypoint.
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