libva

intel活跃维护

VA-API 的官方实现库,让 Linux 上的播放器、转码工具和浏览器能调用 Intel GPU 做硬件视频解码、编码与处理,避免纯 CPU 软解的高占用。

Libva is an implementation for VA-API (Video Acceleration API)

2.24.1发布于 2026-07-08 08:41 UTC800star323fork同步于 2026-11-10 11:55 UTC

怎么上手

从 README 代码块原样提取,可能是其中一种安装方式
git clone https://github.com/intel/libva.git
硬件要求

README 没有说明硬件要求。

下载:源码 zip·GitHub Releases(安装包)本站不镜像安装包

项目说明

这个项目的说明还在生成中,先参考下面「最近发版」和 README。

最近发版

5 个版本2.24.1
  1. 2.24.1libva 2.24.1最新正式版2026-07-08 · 2026-07-08 08:41 UTC

    version 2.24.1 - 08.Jul.2026

    • va: include <unistd.h> for getuid/getgid in secure_getenv fallback
  2. 2.24.0libva 2.24.02026-07-02 · 2026-07-02 06:44 UTC
    查看更新说明
    • va: Add VA_PICTURE_H264_NON_EXISTING flag
    • va: use secure_getenv instead of getenv in va_x11.c
    • doc: fix libva av1 link for doxygen
    • trace: dump input/output data in va_TraceProtectedSessionExecute
    • trace: Add ProtectedSession Related Log in Trace
  3. 2.23.0libva 2.23.02025-12-22 · 2025-12-22 08:39 UTC
    查看更新说明
    • va: add VAProfileH264High422
    • va: add av1 profile2
    • va: correct the description of segment id map buffer for vp9e
    • va: encode segmentation map refine
    • va: add defintions for segment id block size
    • trace: support more format surface dump
    • trace:add vpp output surface dump support
    • trace: add Y410 support in dump surface
    • trace: add trace for vaDeriveImage
    • trace: add missing trace fields for VAProcPipelineParameterBuffer
    • doc: add backward compatibility declarison declaration
    • android: Remove unnecessary Android code
    • android: Include directories and generated header files in Android.bp
    • android: Update Android.bp to generate va_version.h and build only for x86_64
    • android: Add Android.bp to replace mk files
  4. 2.22.0libva 2.22.02024-07-02 · 2024-07-02 08:01 UTC
    查看更新说明
    • va:Add VVC decode LibVA interface.
    • va: fix --version-script detection for lld >= 17
    • wayland: add support for linux-dmabuf
    • meson:remove autogen.sh from the meson script
    • trace: Add bit_depth capturing in trace log
  5. 2.21.0libva 2.21.02024-03-26 · 2024-03-26 07:48 UTC
    查看更新说明
    • va: Add allow_content_tools and force_intger_mv to AV1 enc
    • va: add VASurfaceAttribAlignmentSize
    • va: Re-add drm_state and fd checks to VA_DRM_GetDriverNames
    • va: export symbol vaGetLibFunc for Windows
    • va: Add PRIME3 defination and correct the value
    • va: add driver name map for new intel KMD xe
    • va: export symbol vaMapBuffer2 for Windows
    • va: add new interface vaMapBuffer2 for map operation optimization
    • va: Add VAConfigAttribEncMaxTileRows and VAConfigAttribEncMaxTileCols
    • va: fix handling when all wayland backends fail
    • va_trace:add return value trace for vaPutSurfaces
    • ci: harden permissions for all github workflows
    • ci: update to vmactions/freebsd-vm from v0 to v1
    • ci: windows.yml: Add windows-msvc-debug
    • meson: create dist archives suitable for building with configure, too
    • autogen.sh: successfully detect if the autoreconf program is installed
    • build(deps): bump actions/upload-pages-artifact from 2 to 3
    • build(deps): bump actions/deploy-pages from 3 to 4
    • build(deps): bump actions/setup-python from 4 to 5
    • build(deps): bump actions/deploy-pages from 2 to 3
    • win32: Fix debug build break

用户点评

登录用户的真实使用记录,可按版本和硬件筛选
共 0 条

    还没有人点评。第一个说出真实体验的人最有价值。

    README 原文

    未翻译

    Libva Project

    Libva is an implementation for VA-API (Video Acceleration API)

    VA-API is an open-source library and API specification, which provides access to graphics hardware acceleration capabilities for video processing. It consists of a main library and driver-specific acceleration backends for each supported hardware vendor.

    If you would like to contribute to libva, check our Contributing guide.

    We also recommend taking a look at the 'janitorial' bugs in our list of open issues as these bugs can be solved without an extensive knowledge of libva.

    We would love to help you start contributing!

    Doxygen files are regularly updated through Github Pages and can be accessed directly through github pages libva

    The libva development team can be reached via github issues.

    Backward Compatibility

    No code changes may be introduced that would regress support for existing API. All contributions must ensure continued compatibility and functionality. Failure to maintain API compatibility may result in the rejection or reversion of the contribution.

    Any deliberate modifications or removal of existing API will be transparently communicated in the release notes.

    API options are solely considered as a stable interface. Any debug parameters, environmental variables, and internal data structures, are not considered as an interface and may be changed or removed at any time.

    Build and Install Libva

    This build documentation was tested under clear Ubuntu Server 18.04 (with gcc-7.3.0, gcc-8.1.0 and clang-6.0 compilers) but it should work on another OS distributions with various versions of gcc and clang.

    Install all required common packages:

    sudo apt-get install git cmake pkg-config meson libdrm-dev automake libtool
    

    Take latest libva version:

    git clone https://github.com/intel/libva.git
    cd libva
    

    Build with autogen and Meson

    When you install the libva from OSV package repositories, different OSV distro use different default location for libva. Basically, Debian/Ubuntu family install libva to /usr/lib/x86_64-linux-gnu and rpm family like Fedora/CentOS/SUSE/RHEL install libva to /usr/lib64. For Other media component default location, you could refer to Install from OSV package)

    Without prefix setting, libva will be install to /usr/local/lib as default. If you use other path as installation target folder or no prefix, you have to add the folder to your environment variable or use LD_LIBRARY_PATH to specify the location, like LD_LIBRARY_PATH=/usr/local/lib if no prefix.

    If you intent to overwrite system default libva, you could use same OSV distro prefix, then system libva will be replaced and also your new installed libva version will be overwrited when you upgrade it from OSV distro package repository.

    For debian family, you could use autogen

    ./autogen.sh --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu
    make
    sudo make install
    

    or build using Meson

    mkdir build 
    cd build 
    meson .. -Dprefix=/usr -Dlibdir=/usr/lib/x86_64-linux-gnu
    ninja
    sudo ninja install
    

    For rpm family, you could use autogen

    ./autogen.sh --prefix=/usr --libdir=/usr/lib64
    make
    sudo make install
    

    or build using Meson

    mkdir build 
    cd build 
    meson .. -Dprefix=/usr -Dlibdir=/usr/lib64
    ninja
    sudo ninja install