Skip to content

Zero Copy Renderer

WangBin edited this page May 11, 2025 · 25 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(V4L2,rpi) Y(EGL) Y(EGL) N/A N/A
rkmpp(drm fd) ? Y(EGL)
8/10bit nv12/15/20
w/o rga format conversion
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