Vulkan是一套跨平台的图形API,由Khronos组织牵头进行制定,普遍被看作是OpenGL的后继者,目前版本已经来到1.2.175,仍然在不停地进行更新,其在非Windows平台上面已经逐渐变成了首选使用的图形API。在未来,Vulkan甚至会提供模拟DirectX等其他图形API的功能,有很大的发展前景。
文 / Michael Larabel
整理、审校 / LiveVideoStack
多年来,我们一直渴望了解更多关于Vulkan Video API的信息,该API本应在2020年上半年推出,现在终于推出了1.2.175临时更新版。新的Vulkan Video扩展允许GPU加速视频编解码。最初的公共工程被视为一个临时规范,编解码器覆盖范围有限,但会随着时间的推移而迭代更新。
Vulkan Video允许GPU加速编解码,并通过调度、同步和其他Vulkan功能与Vulkan API集成。Vulkan Video的主要新扩展是VK_KHR_video_queue,VK_KHR_video_decode _queue和VK_KHR_video_encode_queue。
Vulkan Video被设计在编解码器覆盖范围方面是可扩展性的,而最初的新扩展有VK_EXT_video_encode_h264,VK_EXT_video_decode_h264和VK_EXT _video_decode_h265。
目前还没有VP9和AV1开源/免费视频编解码器。庆幸的是Khronos组织[1]声明,他们将在未来的Vulkan更新中推出。他们最初的重点是确保核心架构组件准备就绪,一旦这一切解决,他们将扩大编解码器的支持。很遗憾它们没能在今天的首次亮相中登场,但将来不久就能看到。Vulkan H.265编码扩展也仍在开发中。
Khronos组织在Khronos.org上发布了一篇博客文章,其中更详细地概述了Vulkan Video功能,可以从中了解Vulkan视频编码/解码/转码。
最早可以使用Vulkan驱动程序覆盖视频扩展的是NVIDIA。NVIDIA发布了一个新的测试版Vulkan驱动程序,支持这些Vulkan Video扩展。AMD或Intel暂时还未计划,通过其(开源)Linux Vulkan驱动程序引入Vulkan Video支持。至少在Intel,鉴于ANV的资源和已经拥有的领先的开源多媒体堆栈,有望很快就会引入。在AMD方面,到目前为止,他们一直依赖于基于Gallium3D的视频加速技术,他们是否/何时将AMDVLK应用于Vulkan Video,以及独立的RADV驱动程序是否也能支持这些视频扩展,这将是一个值得期待的问题。
NVIDIA已经发布了一个Vulkan Video解码器的开源示例[2]。Khronos组织和他们的合作伙伴还致力于一致性测试套件、更多的代码样本,以及围绕Vulkan Video的其他补充内容。
相比现在不同视频接口(尤其是Windows和Linux之间支持不同API)的碎片化,希望一旦Vulkan Video 1.0规范定稿,我们将看到更多的多媒体软件使用此视频编码/解码API。有了Vulkan Video 1.0,当扩展的编解码器支持出现时,它很有可能成为GPU加速视频编码/解码的主流接口,希望它比OpenMAX做得更好热度更高。
临时的Vulkan Video扩展是目前规范更新中最重要的工作,不过在Vulkan 1.2.175中还有其他新扩展。
参考链接
[1]https://www.khronos.org/blog/an-introduction-to-vulkan-video
[2]https://github.com/nvpro-samples/vk_video_samples
本文分享自 LiveVideoStack 微信公众号,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。
本文参与 腾讯云自媒体同步曝光计划 ,欢迎热爱写作的你一起参与!