A VAAPI backend driver for NVIDIA Tegra SoC's, based on multimedia units accessed through Host1x. This driver is experimental, don't expect it to work in every situation.
Currently supported features:
- NV12 to RGB colorspace conversion
- MPEG2 decoding
- H264 decoding (very experimental, known issues)
- X11/DRI2 surface presentation
Currently supported SoC's:
- Tegra210
- Tegra186
- Tegra194
- C++14-capable compiler
- libva headers
- libdrm headers
- Kernel with new TegraDRM UAPI support (v5.15 or newer) and NVDEC support (only in linux-next at time of writing)
Building:
mkdir build
cd build
cmake ..
make
Testing:
export LIBVA_DRIVERS_PATH=<build directory>
export LIBVA_DRIVER_NAME=tegra
mpv --hwdec=vaapi-copy --hwdec-codecs=all video.m2v
The project is licensed under the MIT license. To contribute, you need to add a Signed-off-by tag to each of your commits, certifying the following:
By making a contribution to this project, I certify that:
- The contribution was created in whole or in part by me and I have the right to submit it under the open source license indicated in the file; or
- The contribution is based upon previous work that, to the best of my knowledge, is covered under an appropriate open source license and I have the right under that license to submit that work with modifications, whether created in whole or in part by me, under the same open source license (unless I am permitted to submit under a different license), as indicated in the file; or
- The contribution was provided directly to me by some other person who certified (a), (b) or (c) and I have not modified it.
- I understand and agree that this project and the contribution are public and that a record of the contribution (including all personal information I submit with it, including my sign-off) is maintained indefinitely and may be redistributed consistent with this project or the open source license(s) involved.
(This is the same process as for the Linux kernel itself.)