LibvaVA-API 参考实现

联合创作 · 2023-09-29 19:47

Libva 是 VA-API 的实现,VA-API (视频加速 API,全称 Video and Audio  API )是一个开源库和API规范,它为视频处理提供了图形硬件加速功能,由每个受支持硬件供应商的主库和特定于驱动程序的加速后端组成。

VA-API(视频加速 API)的主要动机是为流行的编码标准(MPEG-2、MPEG-4)在各种入口点(VLD、IDCT、运动补偿等)启用硬件加速视频解码和编码ASP/H.263、MPEG-4 AVC/H.264、VC-1/VMW3 和 JPEG、HEVC/H265、VP8、VP9)和视频前/后处理。

Doxygen 文件通过 Github Pages 定期更新,可通过 libva pages 直接访问。

多线程指南

libva 中实现的所有 VAAPI 函数都是线程安全的。对于任何需要实现后端(例如硬件驱动程序)的 VAAPI 函数,后端必须确保其实现也是线程安全的。如果 VAAPI 函数的后端实现不是线程安全的,则应该被视为针对后端实现的错误。

假定不会从信号处理程序调用任何 VAAPI 函数。在这种情况下,线程安全意味着当多个并发线程调用 VAAPI 时,它不会崩溃或挂起操作系统,并且 VAAPI 内部数据结构不会被破坏。

当多个线程对同一个 VAAPI 对象进行操作时,应用程序负责同步这些操作,以生成预期的结果。

浏览 6
点赞
评论
收藏
分享

手机扫一扫分享

编辑
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

编辑
举报