- 
          
 - 
                Notifications
    
You must be signed in to change notification settings  - Fork 40
 
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.
| 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 |