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