Skip to content
HalhadusPublic

About

VA-API driver for stateful and stateless Linux V4L2 codecs, video processing and DMA-BUF sharing

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

2 stars

Watchers

1 watching

Forks

libva-v4l2

libva-v4l2 bridges VA-API and Linux V4L2 for hardware decoding, encoding, video processing and DMA-BUF sharing. Decoding uses stateful V4L2 memory-to-memory or stateless Request API interfaces; encoding and processing use memory-to-memory queues. Available operations are discovered at runtime.

See the support matrix for codecs, formats and limitations, and the hardware reports for results on tested devices.

Install

Build dependencies: a C11 compiler, Meson 0.63 or newer, Ninja, pkg-config, libva 2.23 or newer, GBM, libdrm headers with DRM_FORMAT_NV20, and Linux headers with stateless AV1 controls.

meson setup build --prefix=/usr --buildtype=release
meson compile -C build
meson test -C build --suite unit --print-errorlogs
sudo meson install -C build

Select the driver in the application environment:

export LIBVA_DRIVER_NAME=v4l2
vainfo --display drm --device /dev/dri/renderD128

Use your DRM node in place of the example path. The module installs to libdir/dri; -Ddriverdir overrides that location. Application settings cover browser and player configuration.

Debian packaging is included. Builds and hardware-free tests can run on a separate machine; no video device is needed to produce the package. Build and packaging includes cross-compilation.

Tests

python3 tools/test.py --suite unit
python3 tools/test.py --suite hardware --render-node /dev/dri/renderD128

The hardware suite checks available decode profiles, JPEG encoding, video processing and buffer sharing, with unavailable coverage recorded as SKIP. Each run prints a REPORT=...tar.gz path containing JSON, JUnit, TSV and logs. Testing describes test coverage, dependencies and report contents.

Reference

Acknowledgements

Maintained by Halhadus. The combined driver is licensed under GPL-3.0-or-later. Individual MIT and LGPL source notices are retained; see COPYING, AUTHORS and third-party notices.

About

VA-API driver for stateful and stateless Linux V4L2 codecs, video processing and DMA-BUF sharing

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

2 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages