Files
filmcraft/docs/hardware-parity.md
Brandon ThomasandClaude Opus 5.5 3ad5a59321 Progress docs: target-app parity, gaps, alpha gate, readiness by audience (#700)
Progress docs per craftrules standards/progress-docs.md: target-app parity, gaps, roadmap with alpha gate, readiness by audience (full / mainstream / essentials) with Opus 5.5 hours, and feature, format, hardware, UI and localization parity docs.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-10 14:09:14 -04:00

6.0 KiB
Raw Permalink Blame History

Hardware parity

Last reviewed: 2026-10-10 · Last updated: 2026-10-10 · Change: major (new file: hardware decode / encode per platform and codec, GPU effects, devices; re-measured after NVDEC #549 and GPU export #421) · Target: Adobe Premiere Pro 2026 (26.5.2)

Each hardware feature Premiere uses, per platform, against ours. Implementation detail lives in crates/platform/README.md (decode / encode backends, the one crate allowed unsafe, ADR 0001), the GPU compositor in architecture.md, and timings in performance.md. Hardware paths are always optional: our software codecs are the tested fallback, and a hardware decoder that fails mid-stream hands over to software (HybridDecoder).

Premiere's side is from Adobe's published GPU and hardware-acceleration documentation and release notes (Premiere does not run on Linux).

Hardware decode

Codec / profile Premiere macOS Ours macOS (VideoToolbox) Premiere Windows Ours Windows (Media Foundation / D3D11) Ours Linux (NVDEC, VA-API)
H.264 8-bit 4:2:0 yes yes Intel, NVIDIA, AMD yes (Baseline / Main / High) yes (NVDEC; VA-API Intel / AMD / Mesa)
H.264 10-bit / 4:2:2 Apple silicon yes where the chip decodes it Intel; NVIDIA Blackwell (MXF too) no (declined; no software fallback, G3) no
HEVC Main / Main 10 4:2:0 yes yes yes yes yes (NVDEC 8/10; VA-API Main / Main 10)
HEVC 4:2:2 10-bit Apple silicon yes where supported Intel; NVIDIA Blackwell no no
VP9 profile 0 / 2 — software — yes software (VA-API VP9 not yet)
AV1 main 8 / 10 — software yes yes software
ProRes Apple silicon (M1 Pro / Max and later) software (fast: 318 fps) software software software
Field-coded H.264 yes no yes no no

Measured (cargo xtask bench --hw off|auto): M4 Pro, CPU per 2160p frame H.264 119 → 4.2 ms, HEVC 86 → 3.7 ms, 4K plays with no dropped frames at Full; Intel Iris Xe VA-API H.264 2160p 417 → 11.4 ms, HEVC Main 10 2160p 212 → 18.4 ms. Every decoded picture is read back to the CPU and re-uploaded to wgpu (no zero-copy yet), which Premiere avoids.

Hardware encode

Codec Premiere macOS Ours macOS Premiere Windows Ours Windows Ours Linux
H.264 8-bit yes yes (VideoToolbox, opt-in, no B-frames) Intel QSV, NVENC, AMD NVENC only (opt-in) NVENC only
H.264 10-bit / 4:2:2 yes (Apple silicon) no Intel no no
HEVC Main 8-bit yes yes (hardware-only format) QSV, NVENC, AMD NVENC only no
HEVC Main 10 / HDR (PQ, HLG) yes no (tone-mapped to 8-bit SDR) yes NVENC yes (HDR10 SEI, mdcv / clli) no
ProRes Apple silicon software only software software software
AV1 — no via plug-ins / newer GPUs no no

Measured: VideoToolbox H.264 1080p25 encode 200 fps on M1; a 9:29 timeline exported in 311 s against 793 s with our software encoder (SSIM 0.990). NVENC HEVC round trip 48.9 dB luma PSNR (8-bit), 71.1 dB (10-bit) on an RTX 5060.

GPU rendering

Feature Premiere (Mercury Playback Engine: Metal, CUDA, OpenCL) Ours (wgpu: Metal, D3D12, Vulkan) %
Compositing, blend modes, transforms GPU GPU (#32), CPU compositor is the oracle 90%
Accelerated video effects ~82 of ~92 effects marked Accelerated (reference list plan/premiere/10-effects-list.md) 34 effect ids (render::gpufx::GPU_EFFECTS): colour, levels, blurs, sharpen, crop, transform, flips, vignette, video limiter, ASC CDL, channel mix, Lumetri basic / creative / vignette ~40%
Lumetri curves, wheels, HSL secondary GPU CPU 0%
Keys (Ultra Key), masks, distortions, transitions GPU CPU (masks have WGSL parity tests, not in the live path) 10%
Export rendering on the GPU yes yes (#421; Export ▸ GPU Rendering, Auto): 2.4× (1080p) to 3.2× (4K) faster on effects-heavy timelines 80%
Thumbnails on the GPU (26.0) yes CPU 0%
Software adapter fallback warns silently renders everything on the CPU (#632) —
Intel integrated graphics supported start-up crash on Intel UHD (#512) —

Devices and I/O

Hardware Premiere Ours %
Audio interfaces CoreAudio, ASIO, WASAPI; multichannel mapping cpal (CoreAudio, WASAPI, ALSA); no ASIO; device reports #605, #602 60%
Voice-over microphone yes yes (punch-in); macOS privacy declaration missing (#659) 80%
External video monitoring (Mercury Transmit, Blackmagic DeckLink, AJA) yes no 0%
Second computer monitor full-screen playback yes full screen inside the app window; no separate-display output or floating windows on other screens (#466) 40%
HDR / EDR display macOS EDR, Windows HDR no (SDR display of HDR sequences) 0%
Control surfaces (EUCON, Mackie HUI / MCU) yes no 0%
LTC timecode input yes no 0%
Tape / deck control legacy no n/a

Summary

Hardware dimension: ~45%, 120–200 h. Ahead of Premiere: hardware decode on Linux (VA-API, NVDEC) and FreeBSD builds. Behind, by user impact: zero-copy upload; GPU effects beyond 34 (Lumetri curves / wheels / HSL, keys, masks, transitions); Quick Sync and AMD encoders on Windows; VideoToolbox Main 10 HDR encode; 10-bit / 4:2:2 decode off macOS; HDR display; external video I/O and control surfaces (need hardware we don't own). Calibration: one decode backend ~3–5 h, one encoder ~4–8 h (target-app-parity.md).

Revision history

Date Change Summary
2026-10-10 major Created from ROADMAP.md's performance-and-hardware row and crates/platform/README.md; added Linux NVDEC (#549), GPU export and Lumetri on the GPU (#421), Premiere's per-platform hardware list, devices and I/O