| Filename | Latest commit message | Latest commit date |
|---|---|---|
tests/corpus_provenance.rs requires every corpus README to state its provenance on a **Provenance.** line; encode-conformance's said it in its table only. The line restates the table: what is generated, what an encoder made once and is kept, and which generator writes the rest. Co-Authored-By: Claude Opus 5.5 <[email protected]> |
||
| .. | ||
| mutated | ||
| records | ||
| rendition | ||
| streams | ||
| cases.json | ||
| encode_verify.py | ||
| plan.txt | ||
| README.md | ||
| source.y4m | ||
| streams.json | ||
encode-conformance/: the corpus of wai.video.encode
The corpus of platform-encode §10.1.
| path | what | how it is made |
|---|---|---|
streams/ |
AVC and HEVC elementary streams made through each encoder interface (§3): platform-* by the media framework's hardware engine, va-1-* and va-2-* by two GPUs' encode engines through the video acceleration API, gpu-driver-* by a GPU driver's encode interface, software-* by the runtime-loaded software library |
fixtures: made once by `wai encode avc |
streams.json |
each fixture's SHA-256 | wai_encode_vectors gen |
source.y4m, plan.txt |
the source every fixture was made from (256×144, 12 frames, 30 fps) and its IDR plan | generated |
mutated/ |
streams derived from a fixture by one edit, each breaking one rule of §4.3 | generated |
records/, cases.json |
a record per case, signed with the corpus key (32 bytes of 0x45), and every case's files and outcome |
generated |
rendition/ |
encoded renditions (§9) of the packaging golden pack-conformance/packs/video-base-01: streams/ fixtures made from its source with its plan, cases/ and cases.json, accepted and mutated |
wai-pack rendition-vectors gen (key: 32 bytes of 0x46) |
encode_verify.py |
the second implementation, written from the extension's text | — |
Provenance. Generated here, as the table states: source.y4m and plan.txt are
generated; each fixture under streams/ and rendition/streams/ was made once from that
source by wai encode through the encoder interface its name gives, and is kept, not
regenerated; streams.json, mutated/, records/ and cases.json are written by
wai_encode_vectors gen, and rendition/'s cases by wai-pack rendition-vectors gen. Every
input is generated in this repository.
The identities in the records are the corpus's, not the encoders' that made the streams. The software library made the same bytes on three hosts of two architectures; nothing here relies on that.
Check:
cd wai/wai-rs && cargo run --locked -q --no-default-features --features platform_encode --bin wai_encode_vectors -- verify ../encode-conformance
cd wai/wai-pack && cargo run --locked -q --bin wai-pack -- rendition-vectors check ../encode-conformance/rendition
python3 -I wai/encode-conformance/encode_verify.py wai/encode-conformance