Falsification found two cases that did not hold their rule alone: - floor-opens-on-inter rotated the piece, which also put a key frame inside it, so the extra-key-frame rule refused it whatever the opening rule did. The case (and its packer-side twin in refusals.rs) is now a piece whose first unit is an inter frame and which holds no key frame at all. - patent-pool-floor put royalty_free_only in policy.toml, which the policy reader already refuses in pack_verify.py, so the check under the effective policy was never reached alone. patent-pool-floor-by-override leaves it out of policy.toml and states it in policy.json, the packer's override (§3.2); reseal keeps policy.json's royalty_free_only, as the verifier reads it. New cases floor-motif (floor-motif-mismatch) and floor-cmaf (floor-cmaf-mismatch) give every floor reason a verifier names a package case, in Rust and Python. Co-Authored-By: Claude Opus 5.5 <[email protected]>
45 lines
727 B
TOML
45 lines
727 B
TOML
schema = "wai.pack.policy/1"
|
|
asset_id = "video-base-01"
|
|
lead = "v"
|
|
|
|
[[component]]
|
|
id = "v"
|
|
media = "video"
|
|
source = "video-base-01.y4m"
|
|
|
|
[component.timebase]
|
|
num = 25
|
|
den = 1
|
|
|
|
[segmentation]
|
|
target_ms = 2000
|
|
min_ms = 1000
|
|
max_ms = 4000
|
|
|
|
[[ladder]]
|
|
id = "b0"
|
|
component = "v"
|
|
capability = "wai.video.int_motion"
|
|
role = "base"
|
|
params = { block = 16, search = 4, mv_precision = 1, q_candidates = [16, 12, 8], max_sse_px_milli = 30000 }
|
|
|
|
[[ladder]]
|
|
id = "f0"
|
|
component = "v"
|
|
capability = "wai.video.avc"
|
|
role = "floor"
|
|
|
|
[floor]
|
|
supplied_listing = "6b5ed967f771b936390b4101743a6f6fec8bf0fa2abd1165add3e750b0b86dab"
|
|
|
|
[[class]]
|
|
id = "tv"
|
|
max_layer = 0
|
|
|
|
[[class]]
|
|
id = "mobile"
|
|
max_kbps = 100
|
|
|
|
[[class]]
|
|
id = "legacy"
|
|
floor_only = true
|