open-standards/wai/platform-decode-conformance/README.md
Transaction Science 4c1f640588 platform-decode: keep the query, move the order into browser-sink's routing, drop the budget
The review of #452 (M4–M9) found its platform-decode part at odds with
browser-sink on main. Reworked inside EN-C:

- Kept: the query read from the payload (AV1-ISOBMFF codec string from the
  sequence header, Annex E.3 from an HEVC SPS) with queries.json; the rule that
  powerEfficient and prefer-hardware are hints, never energy and never evidence
  of hardware.
- Reworked: the answers enter browser-sink §3's report, one shape
  (report_answer): supported from isConfigSupported() alone, smooth and
  power_efficient from decodingInfo() only once WebCodecs said supported, so a
  Media Capabilities supported:false overrides nothing (http-delivery §12.2).
  The extension defines no order and no second meaning of advertising: the order
  is SPEC §4's energy order inside browser-sink §4.7, where an answer counts only
  for an object routed ua (AV1's user-agent tier is none; a decode-equivalence
  need with no probe run routes elsewhere).
- Dropped: rank/order/select, advertise_for_envelope (a second advertising
  definition that could make a decodable WAI1 inert), the EnergyBudget and its
  ceiling, and order.json. A learned entry's measurement is browser-sink §6's
  energy entry.
- wai-web: the platform bundle binds platformQuery, platformAnswer and
  platformChoose (browser-sink §4.7) on the browser_sink feature; the demo builds
  every query from a payload (the hand-written 1920x1080 query is gone), asks
  Media Capabilities after WebCodecs, and marks its one figure synthetic. The
  wording calls the HEVC source the platform's encoder configured with
  prefer-hardware. wai-web-wasm.yml builds the bundle.
- int_kernels_vectors: the two new corpora's sidecar exclusions (review M1).

Co-Authored-By: Claude Opus 5.5 <[email protected]>
(cherry picked from commit ce38948dad)
2026-10-26 08:31:14 -04:00

22 lines
1.2 KiB
Markdown

# platform-decode-conformance — the query a sink asks a web platform
Vectors for [`extensions/platform-decode.md`](../extensions/platform-decode.md): the query
a sink reads from an entry's payload for a web platform's Media Capabilities and WebCodecs
(§2). The order the platform's answers feed is SPEC §4's energy order inside browser-sink's
routing, and its vectors are the `choices` of [`../live-conformance/browser/`](../live-conformance/browser/).
**Provenance.** `queries.json` names two floor objects of the packaging corpus
(`../pack-conformance/packs/`), whose codec strings are the ones the packager wrote into
the packs' HLS masters, and carries one HEVC SPS that the platform's encoder wrote through
WebCodecs, configured with `prefer-hardware`, a hint the user agent may ignore (§6 of the
extension records the run).
## Layout
- `queries.json` — `cases`: a `capability`, a `payload_file` (a `WAI1` envelope, relative
to `wai/`) or an `sps_hex`, and the query's members.
## Equivalence
An implementation conforms when it gives every query's members. The reference is
`wai::platform_decode` (`wai-rs/src/platform_decode.rs`), whose tests read this file.