Compatibility results: hardware decoding
The same 55 samples with hardware decoding allowed (auto-copy).
As writtenPublished unedited from the NOVA repository. Links to other repository files open on GitHub.
Generated by crates/nova-playback-mpv/tests/compat.rs on the real engine (mpv v0.41.0-1175-g492bae076), headless (vo=null, ao=null). Synthetic corpus from scripts/generate-compat-corpus.sh.
| Sample | Expect | Result | Pass | Container | Video | Depth / chroma | HDR | Decoder | Audio | Open→play ms | Seek ms (err) | 1 s advance | Drops | Private MiB | Notes |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
h264_aac.mp4 | play | playing | ✅ | mov | h264 1920x1080 | 8-bit 4:2:0 | — | d3d11va-copy | aac 2ch | 288 | 146 (0 ms) | 1033 ms | 0 | 139 | H.264 High, AAC, MP4 |
hevc_main10_hdr10.mp4 | play | playing | ✅ | mov | hevc 1280x720 | 10-bit 4:2:0 | HDR10 | d3d11va-copy | aac 2ch | 242 | 37 (0 ms) | 1033 ms | 0 | 139 | HEVC Main10, PQ, BT.2020, mastering metadata |
hevc_hlg.mov | play | playing | ✅ | mov | hevc 1280x720 | 10-bit 4:2:0 | HLG | d3d11va-copy | aac 2ch | 219 | 34 (0 ms) | 1060 ms | 0 | 139 | HEVC Main10, HLG |
hevc_422_10.mov | play | playing | ✅ | mov | hevc 1280x720 | 10-bit 4:2:2 | — | software | pcm_s24le 2ch | 694 | 42 (0 ms) | 1033 ms | 0 | 174 | HEVC 4:2:2 10-bit (XAVC HS / Panasonic HEVC 422 profile) |
av1_10bit.mkv | play | playing | ✅ | mkv | av1 1280x720 | 10-bit 4:2:0 | — | software | opus 2ch | 497 | 61 (0 ms) | 1029 ms | 0 | 194 | AV1 10-bit (SVT-AV1), Opus |
vp9_alpha.webm | play | playing | ✅ | mkv | vp9 1280x720 | 8-bit 4:2:0 | — | d3d11va-copy | opus 2ch | 225 | 52 (0 ms) | 1029 ms | 0 | 172 | VP9 with alpha (WebM). PARTIAL: plays, but the engine’s VP9 decoder drops the alpha plane |
vp8.webm | play | playing | ✅ | mkv | vp8 1280x720 | 8-bit 4:2:0 | — | nvdec-copy | vorbis 2ch | 92 | 38 (0 ms) | 1032 ms | 0 | 264 | VP8, Vorbis |
mpeg4_asp.avi | play | playing | ✅ | avi | mpeg4 720x480 | 8-bit 4:2:0 | — | software | mp3 2ch | 15 | 32 (0 ms) | 1051 ms | 0 | 177 | MPEG-4 Part 2 ASP, MP3, AVI |
theora.ogv | play | playing | ✅ | ogg | theora 640x360 | 8-bit 4:2:0 | — | software | vorbis 2ch | 18 | 3 (0 ms) | 902 ms | 0 | 176 | Theora, Vorbis, Ogg |
h264.3gp | play | playing | ✅ | mov | h264 640x360 | 8-bit 4:2:0 | — | d3d11va-copy | aac 1ch | 219 | 32 (0 ms) | 1000 ms | 0 | 128 | 3GP |
mpeg2_ac3.vob | play | playing | ✅ | mpeg | mpeg2video 720x480 | 8-bit 4:2:0 | — | software | ac3 2ch | 15 | 33 (0 ms) | 1139 ms | 0 | 89 | DVD-style MPEG-2 + AC-3 in VOB |
mpeg2_ts.ts | play | playing | ✅ | mpegts | mpeg2video 1920x1080 | 8-bit 4:2:0 | — | software | ac3 2ch | 20 | 34 (0 ms) | 1135 ms | 0 | 96 | MPEG-2 in MPEG-TS (broadcast) |
avchd.m2ts | play | playing | ✅ | mpegts | h264 1920x1080 | 8-bit 4:2:0 | — | d3d11va-copy | ac3 2ch | 250 | 7 (0 ms) | 995 ms | 0 | 146 | AVCHD-style H.264 + AC-3 in M2TS |
vfr.mkv | play | playing | ✅ | mkv | h264 1280x720 | 8-bit 4:2:0 | — | d3d11va-copy | — | 219 | 107 (33 ms) | 1000 ms | 0 | 144 | Variable frame rate (30/60/15 fps segments) |
h264_120fps.mp4 | play | playing | ✅ | mov | h264 1920x1080 | 8-bit 4:2:0 | — | d3d11va-copy | — | 240 | 353 (0 ms) | 992 ms | 0 | 156 | 1080p120 high frame rate |
xavc_intra_like.mxf | play | playing | ✅ | mxf | h264 1920x1080 | 10-bit 4:2:2 | — | software | pcm_s24le 2ch | 523 | 17 (0 ms) | 1060 ms | 0 | 252 | H.264 High 4:2:2 Intra 10-bit in MXF (XAVC-I / XF-AVC Intra profile) |
avc_intra100.mxf | play | playing | ✅ | mxf | h264 1920x1080 | 10-bit 4:2:2 | — | software | pcm_s24le 2ch | 600 | 18 (0 ms) | 1060 ms | 0 | 255 | AVC-Intra 100 class (x264 avcintra-class) in MXF |
xdcam_mpeg2_422.mxf | play | playing | ✅ | mxf | mpeg2video 1920x1080 | 8-bit 4:2:2 | — | software | pcm_s24le 2ch | 19 | 19 (0 ms) | 1060 ms | 0 | 154 | MPEG-2 4:2:2 50 Mb/s in MXF (XDCAM HD422 profile) |
dv_pal.dv | play | playing | ✅ | dv | dvvideo 720x576 | 8-bit 4:2:0 | — | software | pcm_s16le 2ch | 15 | 20 (0 ms) | 1060 ms | 0 | 102 | DV PAL raw stream |
mjpeg.avi | play | playing | ✅ | avi | mjpeg 1280x720 | 8-bit 4:2:2 | — | software | pcm_s16le 2ch | 14 | 20 (0 ms) | 1033 ms | 0 | 95 | Motion JPEG (consumer cameras), AVI |
prores_422hq.mov | play | playing | ✅ | mov | prores 1920x1080 | 10-bit 4:2:2 | — | software | pcm_s24le 2ch | 22 | 42 (0 ms) | 1020 ms | 0 | 165 | Apple ProRes 422 HQ |
prores_4444_alpha.mov | play | playing | ✅ | mov | prores 1920x1080 | 12-bit 4:4:4 +α | — | software | — | 38 | 20 (20 ms) | 1000 ms | 0 | 265 | Apple ProRes 4444 with alpha |
dnxhr_hqx.mxf | play | playing | ✅ | mxf | dnxhd 1920x1080 | 10-bit 4:2:2 | — | software | pcm_s24le 2ch | 34 | 19 (60 ms) | 1000 ms | 0 | 221 | Avid DNxHR HQX 10-bit in MXF OP1a |
dnxhd_36.mov | play | playing | ✅ | mov | dnxhd 1920x1080 | 8-bit 4:2:2 | — | software | — | 14 | 19 (20 ms) | 1000 ms | 0 | 151 | Avid DNxHD 36 in MOV |
cineform.mov | play | playing | ✅ | mov | cfhd 1920x1080 | 10-bit 4:2:2 | — | software | — | 83 | 48 (20 ms) | 1040 ms | 0 | 373 | GoPro CineForm |
ffv1.mkv | play | playing | ✅ | mkv | ffv1 1280x720 | 10-bit 4:2:2 | — | software | flac 2ch | 31 | 48 (0 ms) | 1060 ms | 0 | 116 | FFV1 v3 10-bit lossless (archival) |
huffyuv.avi | play | playing | ✅ | avi | huffyuv 640x360 | 8-bit 4:2:2 | — | software | — | 12 | 19 (60 ms) | 1000 ms | 0 | 78 | HuffYUV lossless |
utvideo.avi | play | playing | ✅ | avi | utvideo 640x360 | 8-bit 4:2:2 | — | software | — | 10 | 19 (20 ms) | 1040 ms | 0 | 59 | Ut Video lossless |
v210.mov | play | playing | ✅ | mov | v210 1280x720 | 10-bit 4:2:2 | — | software | — | 21 | 19 (0 ms) | 960 ms | 0 | 123 | Uncompressed 10-bit 4:2:2 (v210) |
qtrle_alpha.mov | play | playing | ✅ | mov | qtrle 640x360 | 8-bit 4:4:4 +α | — | software | — | 8 | 19 (0 ms) | 960 ms | 0 | 62 | QuickTime Animation (RLE) with alpha |
hap.mov | play | playing | ✅ | mov | hap 1280x720 | 8-bit 4:4:4 | — | software | — | 12 | 32 (0 ms) | 1000 ms | 0 | 132 | HAP (VJ / media servers); decodes to RGB |
hevc_4k60.mp4 | play | playing | ✅ | mov | hevc 3840x2160 | 10-bit 4:2:0 | — | d3d11va-copy | — | 264 | 303 (0 ms) | 983 ms | 0 | 422 | 4K60 HEVC Main10 |
hevc_8k.mp4 | play | playing | ✅ | mov | hevc 7680x4320 | 8-bit 4:2:0 | — | d3d11va-copy | — | 421 | 388 (0 ms) | — | 0 | 1147 | 8K24 HEVC |
prores_4k_hq.mov | play | playing | ✅ | mov | prores 3840x2160 | 10-bit 4:2:2 | — | software | pcm_s24le 2ch | 68 | 58 (0 ms) | 1040 ms | 0 | 693 | 4K ProRes 422 HQ (high bitrate) |
pcm24_51.wav | play | playing | ✅ | wav | — | — | — | — | pcm_s24le 6ch | 13 | 0 (0 ms) | 992 ms | — | 292 | 24-bit PCM 5.1 WAV |
flac_71.flac | play | playing | ✅ | flac | — | — | — | — | flac 8ch | 10 | 0 (0 ms) | 940 ms | — | 77 | FLAC 7.1 |
alac.m4a | play | playing | ✅ | mov | — | — | — | — | alac 2ch | 9 | 0 (0 ms) | 992 ms | — | 77 | Apple Lossless (ALAC) |
ac3_51.ac3 | play | playing | ✅ | ac3 | — | — | — | — | ac3 6ch | 10 | 0 (0 ms) | 952 ms | — | 77 | Dolby Digital (AC-3) 5.1 |
eac3_51.mka | play | playing | ✅ | mkv | — | — | — | — | eac3 6ch | 6 | 0 (0 ms) | 952 ms | — | 77 | Dolby Digital Plus (E-AC-3) 5.1 |
dts_51.mka | play | playing | ✅ | mkv | — | — | — | — | dts 6ch | 8 | 1 (0 ms) | 956 ms | — | 77 | DTS core 5.1 (FFmpeg experimental encoder) |
truehd.mka | play | playing | ✅ | mkv | — | — | — | — | truehd 6ch | 8 | 2 (0 ms) | 951 ms | — | 54 | Dolby TrueHD 5.1 |
opus.opus | play | playing | ✅ | ogg | — | — | — | — | opus 2ch | 11 | 1 (0 ms) | 951 ms | — | 54 | Opus |
mp3.mp3 | play | playing | ✅ | mp3 | — | — | — | — | mp3 2ch | 9 | 0 (0 ms) | 956 ms | — | 54 | MP3 |
frame.dpx | play | playing | ✅ | dpx_pipe | dpx 1920x1080 | 10-bit 4:4:4 | — | software | — | 53 | — | — | 0 | 76 | Single 10-bit DPX frame |
frame.exr | play | playing | ✅ | exr_pipe | exr 1920x1080 | 32-bit 4:4:4 | — | software | — | 27 | — | — | 0 | 87 | Single OpenEXR float frame |
unknown_fourcc.avi | video-decoder-missing | playing | ✅ | avi | — | — | — | — | pcm_s16le 2ch | 10 | 0 (0 ms) | — | — | 63 | AVI with an unknown video FourCC; audio must still play |
truncated.mov | no-hang | error | ✅ | — | — | — | — | — | — | — | — | — | — | 64 | ProRes MOV cut to 300 KB (moov missing) — LoadFailed: unrecognized file format |
midcorrupt.mp4 | no-hang | playing | ✅ | mov | h264 1920x1080 | 8-bit 4:2:0 | — | d3d11va-copy | aac 2ch | 226 | 143 (0 ms) | 1033 ms | 0 | 170 | 20 KB of garbage in the middle of the stream |
zero.mkv | load-failed | error | ✅ | — | — | — | — | — | — | — | — | — | — | 124 | Zero-byte file — LoadFailed: unrecognized file format |
random.mxf | load-failed | error | ✅ | — | — | — | — | — | — | — | — | — | — | 124 | Random bytes with a media extension — LoadFailed: unrecognized file format |
project.prproj | editing-project | rejected | ✅ | — | — | — | — | — | — | — | — | — | — | 123 | Premiere Pro project (gzip XML) — EditingProject: This is a project file for Adobe Premiere Pro, not a video. Open it there, |
timeline.fcpxml | editing-project | rejected | ✅ | — | — | — | — | — | — | — | — | — | — | 124 | Final Cut Pro XML timeline — EditingProject: This is a project file for Final Cut Pro, not a video. Open it there, or e |
renamed_mkv.mp4 | play | playing | ✅ | mkv | ffv1 1280x720 | 10-bit 4:2:2 | — | software | flac 2ch | 33 | 39 (0 ms) | 1020 ms | 0 | 163 | Matroska file with a misleading .mp4 extension |
standin.braw | requires-external | error | ✅ | — | — | — | — | — | — | — | — | — | — | 128 | Stand-in: undecodable video with .braw extension — RequiresExternalDecoder: Blackmagic RAW can't be decoded by NOVA's built-in engine. Decodi |
standin.r3d | requires-external | error | ✅ | — | — | — | — | — | — | — | — | — | — | 128 | Stand-in: unreadable data with .r3d extension — RequiresExternalDecoder: RED R3D (REDCODE RAW) can't be decoded by NOVA's built-in engine. |