Skip to content

Zero Copy Renderer

WangBin edited this page Jul 10, 2024 · 24 revisions

All hardware decoders in mdk supports interop with at least 1 gpu render api. It's the most effecient way to render video.

Supported Hardware Decoder and GPU Renderer API Interop

Decode\Render OpenGL OpenGL ES D3D11 D3D12 Metal Vulkan
VideoToolbox, VT Y Y(macOS ANGLE,iOS) N/A Y
QSV(d3d11/9) Y Y Y Y
D3D12, MFT:d3d=12 Y
D3D11, MFT:d3d=11 Y(wgl ext) Y(eglpbuf,stream) Y Y
DXVA, MFT:d3d=9 Y(wgl ext) Y(eglpbuf) Y(dxgi) Y
CUDA, NVDEC Y Y(linux) Y Y
VAAPI X11 display Y(pixmap,egl drm/drm2) Y(GLX:pixmap,EGL drm/drm2) N/A N/A
VAAPI DRM display Y(EGL, GLX dri3) Y(EGL, GLX dri3) N/A N/A
VAAPI Win32 Y
DRM Prime decoders(V4L2M2M,rkmpp,rpi) Y(EGL) Y(EGL) N/A N/A
VDPAU Y(video,output,pixmap
EGL,GLX)
Y(EGL?, GLX pixmap) N/A N/A
AMediaCodec ? Y(surfacetexture,ahardwarebuf) N/A N/A
MMAL Y N/A N/A
CedarV Y(UMP) N/A N/A
Clone this wiki locally