- Simple and powerful API set
- Cross platform: Windows, UWP, Linux, macOS, Android, iOS, Raspberry Pi
- Hardware accelerated decoders
- 0-copy GPU rendering for all platforms and all renderers(Vulkan is WIP.)
- Dynamic OpenGL
- OpenGL, D3D11, Vulkan and Metal rendering w/ or w/o user provided context
- Integrated with any platform native ui apps, gui toolkits or other apps via OpenGL, D3D11/12, Vulkan and Metal (OBS, Flutter, Qt, SDL, GLFW, SFML, .NET Avalonia etc.) easily
- HDR display, HDR to SDR and SDR to HDR tone mapping
- Dolby Vision rendering, including Profile 5. Support HEVC and AV1.
- Seamless/Gapless media and bitrate switch for any media
- Optimized Continuous seeking. As fast as mpv, but much lower cpu, memory and gpu load. Suitable for timeline preview
- Smart FFmpeg runtime, dynamic load, compatible with 4.0~7.0 abi
- Professional codecs: GPU accelerated HAP codec rendering, Blackmagic RAW, R3D
mdk sdk for linux sunxi, with allwinner cedarv and vdpau decoder support
SDK is cross built by clang 15.0 with
- cmake toolchain file https://github.com/wang-bin/cmake-tools/blob/master/sunxi.clang.cmake
- sysroot: https://sourceforge.net/projects/avbuild/files/sunxi/sunxi-sysroot.tar.xz/download
- ffmpeg: https://sourceforge.net/projects/avbuild/files/sunxi/ffmpeg-master-sunxi-clang-lite.tar.xz/download
- libc++ 16.0
SDK can be used by any C or C++11 compiler, e.g. g++, clang
tested device info
- pcdiuno, allwinner a10, sun4i, Linaro 12.11, Linux ubuntu 3.4.29+ #1 PREEMPT Tue Nov 26 15:20:06 CST 2013 armv7l armv7l armv7l GNU/Linux
- [Best performance] cedarv decoder via libvecore, texture uploading is accelerated by UMP:
./bin/mdkplay -c:v CedarX video_file
1080p@24fps 7637kb/s h264 decoding + rendering ~28% cpu
- cedarv decoder via libvecore, no UMP accelerated:
GLVA_HOST=1 ./bin/mdkplay -c:v CedarX video_file
1080p@24fps 7637kb/s h264 decoding + rendering ~96% cpu
- vdpau decoder copy mode:
GLVA_HOST=1 ./bin/mdkplay -c:v VDPAU video_file
1080p@24fps 7637kb/s h264 decoding + rendering ~97% cpu
-
vdpau decoder zero copy mode via nv interop extension(not tested, I have no working vdpau driver):
./bin/mdkplay -c:v VDPAU video_file
-
test decoder speed:
./bin/framereader -c:v CedarX video_file # 1080p h264 ~84fps
./bin/framereader -c:v FFmpeg video_file # 1080p h264 ~12fps
if default audio device does not sound correctly, try to change the device name via environment var ALSA_DEVICE
, e.g.
export ALSA_DEVICE="hw:0,0"
include(mdk-sdk-dir/lib/cmake/FindMDK.cmake)
target_link_libraries(your_target PRIVATE mdk)
- some examples using mdk sdk
- OBS Studio plugin
- QtMultimedia plugin
- MFT decoder module
- dav1d decoder module
Copyright (c) 2016-2025 WangBin(the author of QtAV) Free for opensource softwares, non-commercial softwares, flutter, QtAV donors and contributors.