mbox series

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

Message ID 20220719165656.640869-1-emil.l.velikov@gmail.com
Headers show
Series hwcontext_vaapi: dlopen libva-x11 and libva-drm | expand

Message

Emil Velikov July 19, 2022, 4:56 p.m. UTC
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(-)

Comments

Emil Velikov July 19, 2022, 5:20 p.m. UTC | #1
On Tue, 19 Jul 2022 at 17:56, Emil Velikov <emil.l.velikov@gmail.com> wrote:
>
> Greetings everyone,
>

Sincere apologies for accidentally sending this out multiple times. I
may have found a bug where `git send-email --dry-run` does not work
correctly.

Thanks
Emil