About this project

MDK SDK is a cross-platform multimedia playback development kit for embedding video decoding and rendering into native and GUI applications. It supports Windows x86/ARM, UWP, Linux, macOS, Android, OpenHarmony, iOS, tvOS, visionOS, Raspberry Pi, and RockChip, and provides player APIs plus integration paths for Qt, SDL, GLFW, SFML, Flutter, OBS, WinUI3, and .NET Avalonia, among others. The SDK emphasizes hardware-accelerated decoding and zero-copy GPU rendering. Rendering backends include OpenGL, D3D11, D3D12, Vulkan, and Metal, with or without an application-provided context; Vulkan support is documented as work in progress. It supports HDR metadata passthrough and HDR/SDR tone mapping, Dolby Vision Profile 5 for HEVC and AV1, alpha-channel HEVC and VP8/VP9, and subtitles including ASS, plain text, bitmap, and closed captions. Playback features include seamless or gapless media and bitrate switching, continuous seeking for timeline previews, and professional codec support such as HAP, ProRes Raw, Blackmagic RAW, R3D/N-RAW, and nvJPEG2000. FFmpeg is loaded dynamically at runtime, with documented binary compatibility across FFmpeg 4.0 through 9.x. Packages can be consumed through CMake, qmake, CocoaPods, Swift Package Manager, NuGet, and OpenHarmony ohpm. Language bindings cover Swift, Flutter/Dart, C#, and ArkTS. Distribution requires the MDK library and FFmpeg; libass, dav1d AV1 decoding, Blackmagic RAW, and R3D components are optional depending on the features used. The project provides wiki documentation, SDK headers, examples, platform-specific decoder recommendations, changelogs, and nightly builds. Licensing is key-based: no-cost use is described for qualifying open-source, non-commercial, Flutter, contributor, and donor use, while commercial licenses are offered for other applications.