open-standards/wai/format-probe-conformance/README.md
Transaction Science da3c09c5a1
Some checks failed
wai-web wasm32 / does this change touch it (pull_request) Has been cancelled
wai-web wasm32 / wai-web wasm32 build · corpus, menu and writers (pull_request) Has been cancelled
wai-web reach builds / wai-web reach · does this change touch it (pull_request) Has been cancelled
wai-web reach builds / wai-web reach builds · the package of record, every output as recorded (pull_request) Has been cancelled
wai-web reach builds / wai-web reach builds · this tree's wai-web, every rung on its engine line (pull_request) Has been cancelled
wai-quantum studio and desktop / does this change touch it (pull_request) Has been cancelled
wai-quantum studio and desktop / studio · browser (pull_request) Has been cancelled
wai-quantum studio and desktop / desktop app · macos (pull_request) Has been cancelled
wai-pack / wai-pack · does this change touch it (pull_request) Has been cancelled
wai-pack / wai-pack · linux (pull_request) Has been cancelled
wai-pack / wai-pack · linux-arm64 (pull_request) Has been cancelled
wai-pack / wai-pack · macos (pull_request) Has been cancelled
wai-pack / wai-pack · independent verifier (Python) (pull_request) Has been cancelled
wai-pack / wai-pack · the floor through a media prober (pull_request) Has been cancelled
wai-pack / wai-pack · dependency licences (pull_request) Has been cancelled
wai-ops integer operators / does this change touch it (pull_request) Has been cancelled
wai-ops integer operators / linux-aarch64 (pull_request) Has been cancelled
wai-ops integer operators / linux-x86_64 (pull_request) Has been cancelled
wai-ops integer operators / macos-arm64 (pull_request) Has been cancelled
wai-ops integer operators / wasm32-wasip2 (wasmtime) (pull_request) Has been cancelled
wai-ops integer operators / wasm32 under Node (pull_request) Has been cancelled
wai-ops integer operators / independent checker (Python) (pull_request) Has been cancelled
wai-ops-gpu integer operators on GPUs / does this change touch it (pull_request) Has been cancelled
wai-ops-gpu integer operators on GPUs / builds · no adapter is not a pass (linux) (pull_request) Has been cancelled
wai-ops-gpu integer operators on GPUs / Metal GPU and browser WebGPU (macos) (pull_request) Has been cancelled
WAI neural sink gates / does this change touch it (pull_request) Has been cancelled
WAI neural sink gates / model-free refusals of the neural sink (pull_request) Has been cancelled
WAI HTTP delivery / WAI HTTP · does this change touch it (pull_request) Has been cancelled
WAI HTTP delivery / HTTP corpus · falsify mutations 0/3 (pull_request) Has been cancelled
WAI HTTP delivery / HTTP corpus · falsify mutations 1/3 (pull_request) Has been cancelled
WAI HTTP delivery / HTTP corpus · falsify mutations 2/3 (pull_request) Has been cancelled
WAI HTTP delivery / HTTP corpus · falsify patches 0/3 (pull_request) Has been cancelled
WAI HTTP delivery / HTTP corpus · falsify patches 1/3 (pull_request) Has been cancelled
WAI HTTP delivery / HTTP corpus · falsify patches 2/3 (pull_request) Has been cancelled
WAI HTTP delivery / HTTP corpus · every patch and mutation in exactly one shard (pull_request) Has been cancelled
WAI HTTP delivery / HTTP corpus · verified both ways, and the differential (pull_request) Has been cancelled
WAI HTTP delivery / cache rules · controls and labelled caches (pull_request) Has been cancelled
WAI energy receipts / does this change touch it (pull_request) Has been cancelled
WAI energy receipts / energy receipts · linux (pull_request) Has been cancelled
WAI energy receipts / energy receipts · linux-arm64 (pull_request) Has been cancelled
WAI energy receipts / energy receipts · macos (pull_request) Has been cancelled
WAI conformance / does this change touch it (pull_request) Has been cancelled
WAI conformance / cargo-class corpora · linux (pull_request) Has been cancelled
WAI conformance / cargo-class corpora · linux-arm64 (pull_request) Has been cancelled
WAI conformance / cargo-class corpora · macos (pull_request) Has been cancelled
WAI conformance / quantum core and corpus under wasm32-wasip2 (wasmtime) (pull_request) Has been cancelled
WAI conformance / v2 vocabulary · manifests validate as stated (pull_request) Has been cancelled
WAI conformance / independent verifiers · claims, JWP, key discovery and integer payloads (Python) (pull_request) Has been cancelled
WAI conformance / delivery telemetry · CMCD and CMSD against an independent library (pull_request) Has been cancelled
WAI conformance / cross-arch byte-equality · linux (pull_request) Has been cancelled
WAI conformance / cross-arch byte-equality · linux-arm64 (pull_request) Has been cancelled
WAI conformance / cross-arch byte-equality · macos (pull_request) Has been cancelled
WAI conformance / codec wrappers · fuzz smoke, text decode limits, C entry points, provenance, the semantic path (pull_request) Has been cancelled
WAI conformance / C2PA manifest emission · signed, read back, validated (pull_request) Has been cancelled
standards workspaces build + test / which workspaces this change touches (pull_request) Has been cancelled
standards workspaces build + test / macOS energy backends (pull_request) Has been cancelled
repository checks / lockfiles, tests in CI, workflow hygiene, spec and section references, public text (pull_request) Has been cancelled
joule-moq-web browser client / joule-moq-web · does this change touch it (pull_request) Has been cancelled
joule-moq-web browser client / joule-moq-web · browser end-to-end (macos) (pull_request) Has been cancelled
joule-moq-room room service / joule-moq-room · does this change touch it (pull_request) Has been cancelled
joule-moq-room room service / joule-moq-room, every target (pull_request) Has been cancelled
joule-code conformance gate / Build + round-trip C1-C4 vectors (pull_request) Has been cancelled
joule-code conformance gate / joule-moq-relay, every target (pull_request) Has been cancelled
joule-code conformance gate / joule-moq-ingest, every target (pull_request) Has been cancelled
format-probe-conformance: README with the corpus's provenance, licences and what was measured
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-22 10:58:47 -04:00

4.6 KiB
Raw Permalink Blame History

format-probe-conformance — header probes

The corpus of extensions/format-probes.md §13 and of extensions/projection.md §7.

Feature equivalence. A conforming probe of a capability, given a vector's file, reaches the outcome vectors.json states for it: the parameters ({"accept": {...}}, the members each section of format-probes names) or the refusal ({"refuse": code}, a code of its §12). A conforming reader of the projection descriptor gives each binding of bindings its outcome (projection.md §5). Each fact of facts holds of its file's probe: what its encoder was asked for.

  • ext/ — vectors written by encoders, from synthetic pictures (tools/yuv.py):
    • vvc/ H.266 Main 10 at 64×64 and at 100×58 (a conformance window);
    • mvhevc/ an MV-HEVC bitstream of two views, and hevc/ its base layer;
    • jxs/ JPEG XS codestreams: 4:2:2 at 10 bits, R, G and B under the reversible colour transform, and a lossless 4:4:4 one; jxs-video/ three frames in wai.video.jxs's framing;
    • avs3/ an AVS3 video stream of three pictures.
  • gen/ — what wai_format_probe gen writes: LCEVC streams, MHAS streams, AVS3 audio frame headers, IEEE 1857.11 picture headers and projection descriptors from fixed values, and the negative controls, each a change to one vector, every code of §12 given.
  • vectors.json — every vector's capability, file, SHA-256, origin and outcome; the bindings; the facts; the probes and codes of §2.4 and §12; and the fetched LCEVC streams with what their encoder was asked for.
  • provenance.json — every external vector's encoder, input and command, its decodes (the output's size and SHA-256 under each decoder) and, for JPEG XS, whether the decoders agree.
  • fetch.sh — fetches five LCEVC streams by digest (format-probes §13.3).

Provenance. ext/ is written by tools/make_external.sh on the build host, from synthetic pictures tools/yuv.py writes (a ramp, a checker and a moving bar per plane; the second view of the stereo pair is the first shifted four columns), with these encoders and decoders, each at the revision the script pins and refuses to run without:

key role licence
vvc_enc, vvc_dec an open H.266 encoder and decoder BSD-3-Clause-Clear
jxs an open JPEG XS encoder and decoder BSD-2-Clause-Patent
jxs2 a second, independent JPEG XS decoder (a crate, without default features) MIT
mvhevc the MV-HEVC reference encoder and decoder of the joint video team BSD-3-Clause
avs3_enc an open AVS3 video encoder BSD-4-Clause
avs3_dec an open AVS3 video decoder BSD-3-Clause

The script names each repository and revision. None of their code or data is in this corpus: only the bitstreams they wrote from the synthetic pictures. gen/ is written by wai_format_probe gen from fixed values and from ext/; no permissively licensed encoder writes LCEVC, MPEG-H 3D Audio or AVS3 audio, so those vectors are the generator's, laid out as format-probes §6, §7 and §9 read them, and are not decodable streams. The fetched LCEVC streams are an open LCEVC decoder's unit-test streams (BSD-3-Clause-Clear), written by an LCEVC encoder from a short test sequence; their licence notice names their owner, so they are fetched by SHA-256 and not committed.

Measured (provenance.json, on the arm64 build host): every H.266, MV-HEVC, H.265 and AVS3 vector decodes with its decoder, and the base layer of the MV-HEVC vector decodes to the same bytes alone as within the two-view stream. Every JPEG XS codestream decodes to identical bytes along the first decoder's C path and its SIMD path. The second decoder gives the same bytes on five of the six codestreams; it does not implement the MLS.12 profile of the lossless one (it refuses its Ppih), and on a copy whose Ppih and Plev are 0 its output differs, while the first decoder's output equals that vector's source picture, byte for byte. No x86 decode was measured.

Checks.

  • wai_format_probe verify . (from ../wai-rs, feature format_probe) and wai-rs/tests/format_probe.rs: every vector's digest and outcome, every binding and fact, the generated files byte for byte and no other file under gen/, and the extension's tables; with --fetched <dir>, the five fetched streams, every one required.

  • format_probe_verify.py, written from the two extensions and sharing no code with wai-rs: probes every vector, binding, fact and fetched stream itself, and requires every mutated copy of the corpus to fail:

    bash fetch.sh /tmp/lcevc && python3 -I format_probe_verify.py . --fetched /tmp/lcevc