MPTmulti purpose toolthe part you actually check
demov0.8.1 · beta

cat specs.md

spec sheet · per platform · formats · shortcuts

The part you actually check.

Every claim on this site traces to the beta build. If a format isn't here, MPT doesn't read it — and where a capability is experimental, opt-in or platform-specific, it says so.

Spec sheet

Version
0.8.1 (beta) — every package is build-id stamped and expires 30 days after it was built
Language
C++20 on Qt RHI — one colour and display implementation compiled for Direct3D 11, Metal and OpenGL / Vulkan
Same on all three
The colour pipeline, scopes, OCIO / LUT / CDL, session files and audio carry zero platform guards — identical code on Windows, macOS and Linux
Colour
Fully GPU, scene-linear working space, OCIO 2.5 with ACES 2.0 built in on every platform; the default stays pinned to ACES 1.3
Core deps
Qt 6.9+ · FFmpeg (LGPL, dynamically linked) · OpenColorIO 2.5 · OpenEXR/Imath · OpenUSD 26.x + Hydra · OpenVDB 13 · OpenImageIO (not in the Linux AppImage) · LibRaw · Alembic · MaterialX · Embree · OIDN · OpenCV (DIS optical flow)
Vendor SDKs
RED R3D, Blackmagic RAW and NVIDIA OptiX are runtime dependencies that ship with the driver or under their own terms — see the third-party notices
Startup
About 612 ms. Every package is gated on a launch-and-open-media smoke test; macOS and Linux packages also pass hard licence gates that fail the build rather than warn

uname -a — per platform

· three packages, two with hdr on glass
windowsmacoslinux
OSWindows 11macOS 26 · Apple siliconglibc 2.35+ (Ubuntu 22.04 / 24.04, Arch) · OpenGL 4.5 · Wayland or X11
PackageInstaller .exe + portable .zipDrag-install .dmg (ad-hoc signed)Portable AppImage, x86_64
Graphics (Qt RHI)Direct3D 11MetalOpenGL · Vulkan (owned window, opt-in)
HDR on glassYes — owned scRGB FP16 swapchainYes — CAMetalLayer EDR; HDR10 / HLG / Dolby Vision P8 verifiedNot yet — SDR presentation, correctly tone-mapped; HDR exports work
HW video decodeD3D11VA, zero-copyVideoToolbox → MetalVAAPI or NVDEC; NVDEC → GL zero-copy opt-in
REDCODECUDA / OpenCL, zero-copyMetal (REDMetal), bit-identical to CPUCUDA / OpenCL
Blackmagic RAWCUDA → D3D11 zero-copySDK Metal pipeline, zero-copyCPU / CUDA
3D rasteriserHydra Storm (HgiGL), off-thread, flip presentHydra Storm (HgiMetal)Hydra Storm (HgiGL)
GPU ray tracerhdRt on OptiX (NVIDIA RTX)hdRt on Metal RT — all Apple silicon; hardware RT on M3 and laterhdRt on OptiX (NVIDIA RTX)
CPU ray tracerEmbree + OIDNEmbree + OIDNEmbree + OIDN
H.264 exportMedia Foundation, 8-bitVideoToolbox, 8-bitNVENC, 8- or 10-bit
Crash / hang reportsMinidump + readable report · hang watchdogSymbolised backtraceSymbolised backtrace · hang watchdog

windows Feature peer with macOS. hdRt needs an NVIDIA RTX GPU; AMD and Intel get Storm and Embree. Every 0.8.1 package is a 30-day beta build.

macos Floor is macOS 26 on Apple silicon. Ad-hoc signed, so Gatekeeper needs right-click ▸ Open. HDR10, HLG and Dolby Vision P8 verified on glass.

linux Full peer except HDR on glass — presents SDR today, correctly tone-mapped; HDR exports already work. OpenImageIO is not in the AppImage.

ls -la~/reads

· the format matrix

68 entries

Camera raw & cinema20 entries

Debayered on the GPU — CUDA, OpenCL or Metal — delivered in ACES AP0.

  • .r3d (REDCODE)
  • .braw (Blackmagic RAW)
  • .nev (Nikon N-RAW)
  • CinemaDNG
  • .cr2 .cr3 .crw
  • .nef .nrw
  • .arw .srf .sr2
  • .raf
  • .rw2
  • .orf
  • .pef
  • .srw
  • .dng .rwl
  • .3fr
  • .iiq
  • .erf
  • .mrw
  • .mos
  • .dcr .kdc
  • .x3f

Video15 entries

FFmpeg with no artificial allow-list; hardware decode on every platform.

  • .mov .mp4 .m4v
  • .mkv .webm
  • .mxf
  • .m2ts .mts .ts .m2t
  • .mpg .mpeg .m2v .vob
  • .avi .wmv .flv .ogv
  • .3gp .3g2
  • .apv (OpenAPV)
  • .h264 .hevc .av1 .y4m
  • H.264 · HEVC
  • ProRes 422 / 4444 + alpha
  • AV1 · VP9
  • DNxHD/HR
  • MPEG-2/4
  • HLS .m3u8 · http(s) URLs

Stills & sequences8 entries

Numbered runs auto-play as clips from a RAM cache; gaps are shown, never skipped.

  • .exr (multi-part, AOVs, Cryptomatte)
  • .dpx (SMPTE 268M)
  • .tif .tiff
  • .hdr (Radiance)
  • .tga
  • .png .jpg .bmp
  • .ppm .pgm .pbm
  • + OpenImageIO fallback

3D scenes & geometry7 entries

One viewport: Hydra Storm, the Embree CPU tracer, and hdRt on the GPU.

  • .usd .usda .usdc .usdz
  • .abc (Alembic)
  • .fbx .obj .dae .3ds .x3d .lwo .blend
  • .gltf .glb .ply .stl
  • .bgeo .bgeo.sc .geo (Houdini, no install)
  • .bvh (mocap)
  • .mtlx (MaterialX)

Volumes & splats8 entries

Look-dev panel; splats are experimental, and ray traced under both tracers.

  • .vdb (fog / pyro / level-set)
  • .vdb sequences
  • volumes in .bgeo
  • 3DGS .ply
  • .splat
  • splats in .bgeo
  • USD splat prim
  • animated splat sequences

Subtitles, sessions & sidecars10 entries

State lives beside the media — atomic saves, portable sessions, .bak backups.

  • .srt .vtt
  • SubRip · ASS/SSA · mov_text · WebVTT
  • PGS · DVD · DVB · VobSub
  • .m3u .m3u8 .otio
  • .mpts session
  • .mpta annotations
  • .mptdev develop
  • .mptcolor colour
  • .mptpeak measured peak
  • .mptprefs preferences

Numbered runs (name.####.ext) auto-play as clips; missing frames are shown as gaps, never skipped. WebP is not supported.

OpenImageIO catches stills the native readers don't claim — not in the Linux AppImage, where exotic DPX variants report the native reader's error.

ci — tested on all three

· what the build proves before it ships · every push

windows

  • Full app build + ctest, two legs
  • GPU golden suites on D3D11 — HDR, scopes, Post FX, scaler, OCIO video input, P3, export tap, motion blur
  • Ray-tracer seam test on OptiX

macos

  • Full app build + ctest, two legs
  • GPU golden suites on Metal
  • Ray-tracer seam test on Metal RT
  • Splat relighting golden matrix (splats are experimental) — Storm, RT and Embree

linux

  • Full app build + ctest, three legs including the only Debug leg
  • GPU golden suites on OpenGL
  • Ray-tracer seam test on OptiX

Self-hosted runners on each OS. Every package is gated on a launch-and-open-media smoke test that requires a responding window — not merely a live process.

nvim

~/.config/mpt/bindings.conf — keyboard shortcuts

ctrl = ⌘ on macos
  1. bind Space / K Play · pause
  2. bind Shift+Space Reverse playback
  3. bind I / O Loop in · out
  4. bind Ctrl+drag Drag the nearer loop point on the ruler
  5. bind L Scopes drawer
  6. bind Shift+F False-colour validation
  7. bind N Pixel inspector
  8. bind [ / ] Cycle EXR layer / AOV
  9. bind Alt+click Pick a Cryptomatte object
  10. bind Ctrl+Shift+I Toggle IPP2 colour on a REDCODE clip
  11. bind C A/B compare
  12. bind Shift+A Annotate — pen, arrow, text
  13. bind Ctrl+E Export a frame range
  14. bind Ctrl+C Copy colour-managed frame
  15. bind F Frame selection (3D)
  16. bind F1 The full sheet, from the live keymap

For the facility

for the facility

Settings that behave

Eleven searchable pages, each row badged with when it takes effect. env var → stored → default; a pinned row names its variable. .mptprefs pushes one house default.

for the pipeline

A real CLI, portable state

Paths and URLs, --on-top, --version with build id, --list-settings, headless export hooks. Sessions resolve relative to their root.

for the long day

Built not to lose your work

Crash reports on every platform, a hang watchdog on Windows and Linux, atomic sidecar saves with .bak generations, and newer files refused cleanly.