WP-D parity A/B. gpu_parity (ignored) decodes the conformance vector, reads every frame back through the presenter's exact contract (wait, layout round-trip, signal-back, release), crops at the copy so pitch can never leak, and compares SHA-256s in display order against goldens from ffmpeg software decode — cross-checked bit-identical between ffmpeg 8.0.1 (linux) and 8.1.1 (macOS), so the reference is the spec, not one build. PF_VKD_TEST_READBACK=1 is the one test-only hook (ORs TRANSFER_SRC into pool usage; production pools stay zero-copy-tight). Fleet verdict: 250/250 frames bit-identical to libavcodec on RADV (Mesa 26.0.3, distinct), AMD proprietary Windows (25.10.30.02, distinct) and NVIDIA Windows (610.88, coincide) — H.264 decode is exactly specified, and the native path meets the spec on every driver and both DPB arrangements.
28 lines
1.1 KiB
TOML
28 lines
1.1 KiB
TOML
[package]
|
|
name = "pf-vkdecode"
|
|
description = "Native Vulkan Video H.264 decode for the clients (M2): StdVideo parameter-set/picture conversion and DPB slot management over pf-bitstream's AuPlans — the CPU-testable half; session, memory and command recording follow in WP-B (design/client-native-decode.md §3.2)"
|
|
version.workspace = true
|
|
edition.workspace = true
|
|
rust-version.workspace = true
|
|
license.workspace = true
|
|
authors.workspace = true
|
|
repository.workspace = true
|
|
|
|
[dependencies]
|
|
ash = "0.38"
|
|
# Direct dependency on the vendored parser crate, not just pf-bitstream: the parameter-set
|
|
# conversion consumes the parser's `Sps`/`Pps` types wholesale (pf-bitstream re-exports only
|
|
# `Level`/`SliceHeader`), and the same path means the one crate instance the workspace already
|
|
# builds — no duplicate types.
|
|
cros-codecs = { path = "../pf-bitstream/vendor/cros-codecs" }
|
|
pf-bitstream = { path = "../pf-bitstream" }
|
|
tracing = "0.1"
|
|
|
|
[dev-dependencies]
|
|
# The GPU parity test hashes decoded frames against libavcodec goldens (already
|
|
# in the workspace lock via other crates).
|
|
sha2 = "0.10"
|
|
|
|
[lints]
|
|
workspace = true
|