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 对象进行操作时,应用程序负责同步这些操作,以生成预期的结果。

浏览 11
点赞
评论
收藏
分享

手机扫一扫分享

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

手机扫一扫分享

编辑 分享
举报