一:FFMPEG 支持的硬解方式有很多:
DXVA2、D3D11VA、CUDA、QSV、OPENCL、DRM、VAAPI、VDPAU、VIDEOTOOLBOX、MEDIACODEC。
有的支持 Windows 平台,有的支持 linux 平台,有的支持 apple ios 平台,有的支持 android 平台。
二:Windows 平台,我们可以使用利用 DXVA2、DX11、OpenGL、Vulkan、等技术,直接显示 GPU 显卡中的数据。
FFPLAY 最新源码,使用 Vulkan 的方式来进行硬解加速渲染的。
为什么使用 Vulkan ?
A:Vulkan 跨平台;
B:Vulkan 可以做渲染;
C:Vulkan 可以做计算,做图像处理;
D:Vulkan 可以做视频解码编码;
E:Vulkan 可以和 CUDA、DRM、VAAPI 互操作;
三:使用 DXVA2 硬解加速渲染:
没有了内存复制(av_hwframe_transfer_data)。