FA-52216 / Raster memory layout / Open access
Independent Chroma Planes: V origin uses truncated U height or V pitch for U span · case 01
The returned physical layout descriptor disagrees with the declared buffer mapping at v_origin.
ROOT CAUSE
V origin uses truncated U height or V pitch for U span The faulty expression is u_origin+u_pitch*(p["h"]//2)+3.
VERIFIED REPAIR
Apply the stipulated layout rule at v_origin: u_origin+u_pitch*chroma_height+3.
Unsuccessful approach: The attempted repair uses u_origin+v_pitch*chroma_height+3 and still violates the layout contract.
Case contract
A 4:2:0 toy image has a byte luma plane plus independent U and V planes with distinct row guards. Chroma rounds odd dimensions up; plane headers are [1,2,3] bytes. Return physical sample locations for in-bounds luma coordinate. Return the named intermediate layout descriptor and final address fields; all quantities are integer byte offsets unless explicitly stated.
Why this case matters
Offline raster resource, upload, readback, and storage-layout regression model.
1 / The failure
Exit 1"""Failure Map reference implementation. Python standard library only."""
import json
N = 1
observations = []
def solve(p):
p = dict(p)
chroma_width = (p["w"]+1)//2
chroma_height = (p["h"]+1)//2
u_pitch = chroma_width+p["ug"]
v_pitch = chroma_width+p["vg"]
u_origin = p["base"]+1+p["w"]*p["h"]+2
v_origin = u_origin+u_pitch*(p["h"]//2)+3
luma_address = p["base"]+1+p["y"]*p["w"]+p["x"]
u_address = u_origin+(p["y"]//2)*u_pitch+p["x"]//2
v_address = v_origin+(p["y"]//2)*v_pitch+p["x"]//2
allocation_end = v_origin+v_pitch*chroma_height
return {'chroma_width': chroma_width, 'chroma_height': chroma_height, 'u_pitch': u_pitch, 'v_pitch': v_pitch, 'u_origin': u_origin, 'v_origin': v_origin, 'luma_address': luma_address, 'u_address': u_address, 'v_address': v_address, 'allocation_end': allocation_end}
def check(label, actual, expected):
observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
cases = {1: [({'w': 1, 'h': 1, 'x': 0, 'y': 0, 'b': 2, 'base': 11, 'ug': 2, 'vg': 3}, {'chroma_width': 1, 'chroma_height': 1, 'u_pitch': 3, 'v_pitch': 4, 'u_origin': 15, 'v_origin': 21, 'luma_address': 12, 'u_address': 15, 'v_address': 21, 'allocation_end': 25}), ({'w': 6, 'h': 4, 'x': 1, 'y': 2, 'b': 2, 'base': 11, 'ug': 2, 'vg': 3}, {'chroma_width': 3, 'chroma_height': 2, 'u_pitch': 5, 'v_pitch': 6, 'u_origin': 38, 'v_origin': 51, 'luma_address': 25, 'u_address': 43, 'v_address': 57, 'allocation_end': 63}), ({'w': 10, 'h': 8, 'x': 8, 'y': 6, 'b': 2, 'base': 11, 'ug': 2, 'vg': 3}, {'chroma_width': 5, 'chroma_height': 4, 'u_pitch': 7, 'v_pitch': 8, 'u_origin': 94, 'v_origin': 125, 'luma_address': 80, 'u_address': 119, 'v_address': 153, 'allocation_end': 157}), ({'w': 16, 'h': 8, 'x': 15, 'y': 7, 'b': 2, 'base': 11, 'ug': 2, 'vg': 3}, {'chroma_width': 8, 'chroma_height': 4, 'u_pitch': 10, 'v_pitch': 11, 'u_origin': 142, 'v_origin': 185, 'luma_address': 139, 'u_address': 179, 'v_address': 225, 'allocation_end': 229}), ({'w': 18, 'h': 10, 'x': 16, 'y': 8, 'b': 2, 'base': 11, 'ug': 2, 'vg': 3}, {'chroma_width': 9, 'chroma_height': 5, 'u_pitch': 11, 'v_pitch': 12, 'u_origin': 194, 'v_origin': 252, 'luma_address': 172, 'u_address': 246, 'v_address': 308, 'allocation_end': 312}), ({'w': 7, 'h': 13, 'x': 3, 'y': 12, 'b': 2, 'base': 11, 'ug': 2, 'vg': 3}, {'chroma_width': 4, 'chroma_height': 7, 'u_pitch': 6, 'v_pitch': 7, 'u_origin': 105, 'v_origin': 150, 'luma_address': 99, 'u_address': 142, 'v_address': 193, 'allocation_end': 199})], 2: [({'w': 1, 'h': 1, 'x': 0, 'y': 0, 'b': 3, 'base': 22, 'ug': 3, 'vg': 4}, {'chroma_width': 1, 'chroma_height': 1, 'u_pitch': 4, 'v_pitch': 5, 'u_origin': 26, 'v_origin': 33, 'luma_address': 23, 'u_address': 26, 'v_address': 33, 'allocation_end': 38}), ({'w': 7, 'h': 5, 'x': 1, 'y': 2, 'b': 3, 'base': 22, 'ug': 3, 'vg': 4}, {'chroma_width': 4, 'chroma_height': 3, 'u_pitch': 7, 'v_pitch': 8, 'u_origin': 60, 'v_origin': 84, 'luma_address': 38, 'u_address': 67, 'v_address': 92, 'allocation_end': 108}), ({'w': 11, 'h': 9, 'x': 8, 'y': 6, 'b': 3, 'base': 22, 'ug': 3, 'vg': 4}, {'chroma_width': 6, 'chroma_height': 5, 'u_pitch': 9, 'v_pitch': 10, 'u_origin': 124, 'v_origin': 172, 'luma_address': 97, 'u_address': 155, 'v_address': 206, 'allocation_end': 222}), ({'w': 16, 'h': 8, 'x': 15, 'y': 7, 'b': 3, 'base': 22, 'ug': 3, 'vg': 4}, {'chroma_width': 8, 'chroma_height': 4, 'u_pitch': 11, 'v_pitch': 12, 'u_origin': 153, 'v_origin': 200, 'luma_address': 150, 'u_address': 193, 'v_address': 243, 'allocation_end': 248}), ({'w': 19, 'h': 11, 'x': 16, 'y': 8, 'b': 3, 'base': 22, 'ug': 3, 'vg': 4}, {'chroma_width': 10, 'chroma_height': 6, 'u_pitch': 13, 'v_pitch': 14, 'u_origin': 234, 'v_origin': 315, 'luma_address': 191, 'u_address': 294, 'v_address': 379, 'allocation_end': 399}), ({'w': 7, 'h': 13, 'x': 3, 'y': 12, 'b': 3, 'base': 22, 'ug': 3, 'vg': 4}, {'chroma_width': 4, 'chroma_height': 7, 'u_pitch': 7, 'v_pitch': 8, 'u_origin': 116, 'v_origin': 168, 'luma_address': 110, 'u_address': 159, 'v_address': 217, 'allocation_end': 224})], 3: [({'w': 1, 'h': 1, 'x': 0, 'y': 0, 'b': 4, 'base': 33, 'ug': 4, 'vg': 5}, {'chroma_width': 1, 'chroma_height': 1, 'u_pitch': 5, 'v_pitch': 6, 'u_origin': 37, 'v_origin': 45, 'luma_address': 34, 'u_address': 37, 'v_address': 45, 'allocation_end': 51}), ({'w': 8, 'h': 6, 'x': 1, 'y': 2, 'b': 4, 'base': 33, 'ug': 4, 'vg': 5}, {'chroma_width': 4, 'chroma_height': 3, 'u_pitch': 8, 'v_pitch': 9, 'u_origin': 84, 'v_origin': 111, 'luma_address': 51, 'u_address': 92, 'v_address': 120, 'allocation_end': 138}), ({'w': 12, 'h': 10, 'x': 8, 'y': 6, 'b': 4, 'base': 33, 'ug': 4, 'vg': 5}, {'chroma_width': 6, 'chroma_height': 5, 'u_pitch': 10, 'v_pitch': 11, 'u_origin': 156, 'v_origin': 209, 'luma_address': 114, 'u_address': 190, 'v_address': 246, 'allocation_end': 264}), ({'w': 16, 'h': 8, 'x': 15, 'y': 7, 'b': 4, 'base': 33, 'ug': 4, 'vg': 5}, {'chroma_width': 8, 'chroma_height': 4, 'u_pitch': 12, 'v_pitch': 13, 'u_origin': 164, 'v_origin': 215, 'luma_address': 161, 'u_address': 207, 'v_address': 261, 'allocation_end': 267}), ({'w': 20, 'h': 12, 'x': 16, 'y': 8, 'b': 4, 'base': 33, 'ug': 4, 'vg': 5}, {'chroma_width': 10, 'chroma_height': 6, 'u_pitch': 14, 'v_pitch': 15, 'u_origin': 276, 'v_origin': 363, 'luma_address': 210, 'u_address': 340, 'v_address': 431, 'allocation_end': 453}), ({'w': 7, 'h': 13, 'x': 3, 'y': 12, 'b': 4, 'base': 33, 'ug': 4, 'vg': 5}, {'chroma_width': 4, 'chroma_height': 7, 'u_pitch': 8, 'v_pitch': 9, 'u_origin': 127, 'v_origin': 186, 'luma_address': 121, 'u_address': 176, 'v_address': 241, 'allocation_end': 249})], 4: [({'w': 1, 'h': 1, 'x': 0, 'y': 0, 'b': 5, 'base': 44, 'ug': 5, 'vg': 6}, {'chroma_width': 1, 'chroma_height': 1, 'u_pitch': 6, 'v_pitch': 7, 'u_origin': 48, 'v_origin': 57, 'luma_address': 45, 'u_address': 48, 'v_address': 57, 'allocation_end': 64}), ({'w': 9, 'h': 7, 'x': 1, 'y': 2, 'b': 5, 'base': 44, 'ug': 5, 'vg': 6}, {'chroma_width': 5, 'chroma_height': 4, 'u_pitch': 10, 'v_pitch': 11, 'u_origin': 110, 'v_origin': 153, 'luma_address': 64, 'u_address': 120, 'v_address': 164, 'allocation_end': 197}), ({'w': 13, 'h': 11, 'x': 8, 'y': 6, 'b': 5, 'base': 44, 'ug': 5, 'vg': 6}, {'chroma_width': 7, 'chroma_height': 6, 'u_pitch': 12, 'v_pitch': 13, 'u_origin': 190, 'v_origin': 265, 'luma_address': 131, 'u_address': 230, 'v_address': 308, 'allocation_end': 343}), ({'w': 16, 'h': 8, 'x': 15, 'y': 7, 'b': 5, 'base': 44, 'ug': 5, 'vg': 6}, {'chroma_width': 8, 'chroma_height': 4, 'u_pitch': 13, 'v_pitch': 14, 'u_origin': 175, 'v_origin': 230, 'luma_address': 172, 'u_address': 221, 'v_address': 279, 'allocation_end': 286}), ({'w': 21, 'h': 13, 'x': 16, 'y': 8, 'b': 5, 'base': 44, 'ug': 5, 'vg': 6}, {'chroma_width': 11, 'chroma_height': 7, 'u_pitch': 16, 'v_pitch': 17, 'u_origin': 320, 'v_origin': 435, 'luma_address': 229, 'u_address': 392, 'v_address': 511, 'allocation_end': 554}), ({'w': 7, 'h': 13, 'x': 3, 'y': 12, 'b': 5, 'base': 44, 'ug': 5, 'vg': 6}, {'chroma_width': 4, 'chroma_height': 7, 'u_pitch': 9, 'v_pitch': 10, 'u_origin': 138, 'v_origin': 204, 'luma_address': 132, 'u_address': 193, 'v_address': 265, 'allocation_end': 274})], 5: [({'w': 1, 'h': 1, 'x': 0, 'y': 0, 'b': 6, 'base': 55, 'ug': 6, 'vg': 7}, {'chroma_width': 1, 'chroma_height': 1, 'u_pitch': 7, 'v_pitch': 8, 'u_origin': 59, 'v_origin': 69, 'luma_address': 56, 'u_address': 59, 'v_address': 69, 'allocation_end': 77}), ({'w': 10, 'h': 8, 'x': 1, 'y': 2, 'b': 6, 'base': 55, 'ug': 6, 'vg': 7}, {'chroma_width': 5, 'chroma_height': 4, 'u_pitch': 11, 'v_pitch': 12, 'u_origin': 138, 'v_origin': 185, 'luma_address': 77, 'u_address': 149, 'v_address': 197, 'allocation_end': 233}), ({'w': 14, 'h': 12, 'x': 8, 'y': 6, 'b': 6, 'base': 55, 'ug': 6, 'vg': 7}, {'chroma_width': 7, 'chroma_height': 6, 'u_pitch': 13, 'v_pitch': 14, 'u_origin': 226, 'v_origin': 307, 'luma_address': 148, 'u_address': 269, 'v_address': 353, 'allocation_end': 391}), ({'w': 16, 'h': 8, 'x': 15, 'y': 7, 'b': 6, 'base': 55, 'ug': 6, 'vg': 7}, {'chroma_width': 8, 'chroma_height': 4, 'u_pitch': 14, 'v_pitch': 15, 'u_origin': 186, 'v_origin': 245, 'luma_address': 183, 'u_address': 235, 'v_address': 297, 'allocation_end': 305}), ({'w': 22, 'h': 14, 'x': 16, 'y': 8, 'b': 6, 'base': 55, 'ug': 6, 'vg': 7}, {'chroma_width': 11, 'chroma_height': 7, 'u_pitch': 17, 'v_pitch': 18, 'u_origin': 366, 'v_origin': 488, 'luma_address': 248, 'u_address': 442, 'v_address': 568, 'allocation_end': 614}), ({'w': 7, 'h': 13, 'x': 3, 'y': 12, 'b': 6, 'base': 55, 'ug': 6, 'vg': 7}, {'chroma_width': 4, 'chroma_height': 7, 'u_pitch': 10, 'v_pitch': 11, 'u_origin': 149, 'v_origin': 222, 'luma_address': 143, 'u_address': 210, 'v_address': 289, 'allocation_end': 299})]}
for i, (p, expected) in enumerate(cases[N]):
check("layout fixture " + str(i + 1), solve(p), expected)
print(json.dumps({"observations": observations, "passed": all(x["passed"] for x in observations)}, ensure_ascii=False))
raise SystemExit(0 if all(x["passed"] for x in observations) else 1)
| Boundary fixture | Actual | Expected | Outcome |
|---|---|---|---|
| layout fixture 1 | {'allocation_end': 22, 'chroma_height': 1, 'chroma_width': 1, 'luma_address': 12, 'u_address': 15, 'u_origin': 15, 'u_pitch': 3, 'v_address': 18, 'v_origin': 18, 'v_pitch': 4} | {'allocation_end': 25, 'chroma_height': 1, 'chroma_width': 1, 'luma_address': 12, 'u_address': 15, 'u_origin': 15, 'u_pitch': 3, 'v_address': 21, 'v_origin': 21, 'v_pitch': 4} | Failed |
| layout fixture 2 | {'allocation_end': 63, 'chroma_height': 2, 'chroma_width': 3, 'luma_address': 25, 'u_address': 43, 'u_origin': 38, 'u_pitch': 5, 'v_address': 57, 'v_origin': 51, 'v_pitch': 6} | {'allocation_end': 63, 'chroma_height': 2, 'chroma_width': 3, 'luma_address': 25, 'u_address': 43, 'u_origin': 38, 'u_pitch': 5, 'v_address': 57, 'v_origin': 51, 'v_pitch': 6} | Passed |
| layout fixture 3 | {'allocation_end': 157, 'chroma_height': 4, 'chroma_width': 5, 'luma_address': 80, 'u_address': 119, 'u_origin': 94, 'u_pitch': 7, 'v_address': 153, 'v_origin': 125, 'v_pitch': 8} | {'allocation_end': 157, 'chroma_height': 4, 'chroma_width': 5, 'luma_address': 80, 'u_address': 119, 'u_origin': 94, 'u_pitch': 7, 'v_address': 153, 'v_origin': 125, 'v_pitch': 8} | Passed |
| layout fixture 4 | {'allocation_end': 229, 'chroma_height': 4, 'chroma_width': 8, 'luma_address': 139, 'u_address': 179, 'u_origin': 142, 'u_pitch': 10, 'v_address': 225, 'v_origin': 185, 'v_pitch': 11} | {'allocation_end': 229, 'chroma_height': 4, 'chroma_width': 8, 'luma_address': 139, 'u_address': 179, 'u_origin': 142, 'u_pitch': 10, 'v_address': 225, 'v_origin': 185, 'v_pitch': 11} | Passed |
| layout fixture 5 | {'allocation_end': 312, 'chroma_height': 5, 'chroma_width': 9, 'luma_address': 172, 'u_address': 246, 'u_origin': 194, 'u_pitch': 11, 'v_address': 308, 'v_origin': 252, 'v_pitch': 12} | {'allocation_end': 312, 'chroma_height': 5, 'chroma_width': 9, 'luma_address': 172, 'u_address': 246, 'u_origin': 194, 'u_pitch': 11, 'v_address': 308, 'v_origin': 252, 'v_pitch': 12} | Passed |
| layout fixture 6 | {'allocation_end': 193, 'chroma_height': 7, 'chroma_width': 4, 'luma_address': 99, 'u_address': 142, 'u_origin': 105, 'u_pitch': 6, 'v_address': 187, 'v_origin': 144, 'v_pitch': 7} | {'allocation_end': 199, 'chroma_height': 7, 'chroma_width': 4, 'luma_address': 99, 'u_address': 142, 'u_origin': 105, 'u_pitch': 6, 'v_address': 193, 'v_origin': 150, 'v_pitch': 7} | Failed |
SHA-256 / aba588e3abde4bfd66f5322d45c73172daafb1c9dab15e6c9a9d48263cc4ad15
2 / The unsuccessful fix
Exit 1"""Failure Map reference implementation. Python standard library only."""
import json
N = 1
observations = []
def solve(p):
p = dict(p)
chroma_width = (p["w"]+1)//2
chroma_height = (p["h"]+1)//2
u_pitch = chroma_width+p["ug"]
v_pitch = chroma_width+p["vg"]
u_origin = p["base"]+1+p["w"]*p["h"]+2
v_origin = u_origin+v_pitch*chroma_height+3
luma_address = p["base"]+1+p["y"]*p["w"]+p["x"]
u_address = u_origin+(p["y"]//2)*u_pitch+p["x"]//2
v_address = v_origin+(p["y"]//2)*v_pitch+p["x"]//2
allocation_end = v_origin+v_pitch*chroma_height
return {'chroma_width': chroma_width, 'chroma_height': chroma_height, 'u_pitch': u_pitch, 'v_pitch': v_pitch, 'u_origin': u_origin, 'v_origin': v_origin, 'luma_address': luma_address, 'u_address': u_address, 'v_address': v_address, 'allocation_end': allocation_end}
def check(label, actual, expected):
observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
cases = {1: [({'w': 1, 'h': 1, 'x': 0, 'y': 0, 'b': 2, 'base': 11, 'ug': 2, 'vg': 3}, {'chroma_width': 1, 'chroma_height': 1, 'u_pitch': 3, 'v_pitch': 4, 'u_origin': 15, 'v_origin': 21, 'luma_address': 12, 'u_address': 15, 'v_address': 21, 'allocation_end': 25}), ({'w': 6, 'h': 4, 'x': 1, 'y': 2, 'b': 2, 'base': 11, 'ug': 2, 'vg': 3}, {'chroma_width': 3, 'chroma_height': 2, 'u_pitch': 5, 'v_pitch': 6, 'u_origin': 38, 'v_origin': 51, 'luma_address': 25, 'u_address': 43, 'v_address': 57, 'allocation_end': 63}), ({'w': 10, 'h': 8, 'x': 8, 'y': 6, 'b': 2, 'base': 11, 'ug': 2, 'vg': 3}, {'chroma_width': 5, 'chroma_height': 4, 'u_pitch': 7, 'v_pitch': 8, 'u_origin': 94, 'v_origin': 125, 'luma_address': 80, 'u_address': 119, 'v_address': 153, 'allocation_end': 157}), ({'w': 16, 'h': 8, 'x': 15, 'y': 7, 'b': 2, 'base': 11, 'ug': 2, 'vg': 3}, {'chroma_width': 8, 'chroma_height': 4, 'u_pitch': 10, 'v_pitch': 11, 'u_origin': 142, 'v_origin': 185, 'luma_address': 139, 'u_address': 179, 'v_address': 225, 'allocation_end': 229}), ({'w': 18, 'h': 10, 'x': 16, 'y': 8, 'b': 2, 'base': 11, 'ug': 2, 'vg': 3}, {'chroma_width': 9, 'chroma_height': 5, 'u_pitch': 11, 'v_pitch': 12, 'u_origin': 194, 'v_origin': 252, 'luma_address': 172, 'u_address': 246, 'v_address': 308, 'allocation_end': 312}), ({'w': 7, 'h': 13, 'x': 3, 'y': 12, 'b': 2, 'base': 11, 'ug': 2, 'vg': 3}, {'chroma_width': 4, 'chroma_height': 7, 'u_pitch': 6, 'v_pitch': 7, 'u_origin': 105, 'v_origin': 150, 'luma_address': 99, 'u_address': 142, 'v_address': 193, 'allocation_end': 199})], 2: [({'w': 1, 'h': 1, 'x': 0, 'y': 0, 'b': 3, 'base': 22, 'ug': 3, 'vg': 4}, {'chroma_width': 1, 'chroma_height': 1, 'u_pitch': 4, 'v_pitch': 5, 'u_origin': 26, 'v_origin': 33, 'luma_address': 23, 'u_address': 26, 'v_address': 33, 'allocation_end': 38}), ({'w': 7, 'h': 5, 'x': 1, 'y': 2, 'b': 3, 'base': 22, 'ug': 3, 'vg': 4}, {'chroma_width': 4, 'chroma_height': 3, 'u_pitch': 7, 'v_pitch': 8, 'u_origin': 60, 'v_origin': 84, 'luma_address': 38, 'u_address': 67, 'v_address': 92, 'allocation_end': 108}), ({'w': 11, 'h': 9, 'x': 8, 'y': 6, 'b': 3, 'base': 22, 'ug': 3, 'vg': 4}, {'chroma_width': 6, 'chroma_height': 5, 'u_pitch': 9, 'v_pitch': 10, 'u_origin': 124, 'v_origin': 172, 'luma_address': 97, 'u_address': 155, 'v_address': 206, 'allocation_end': 222}), ({'w': 16, 'h': 8, 'x': 15, 'y': 7, 'b': 3, 'base': 22, 'ug': 3, 'vg': 4}, {'chroma_width': 8, 'chroma_height': 4, 'u_pitch': 11, 'v_pitch': 12, 'u_origin': 153, 'v_origin': 200, 'luma_address': 150, 'u_address': 193, 'v_address': 243, 'allocation_end': 248}), ({'w': 19, 'h': 11, 'x': 16, 'y': 8, 'b': 3, 'base': 22, 'ug': 3, 'vg': 4}, {'chroma_width': 10, 'chroma_height': 6, 'u_pitch': 13, 'v_pitch': 14, 'u_origin': 234, 'v_origin': 315, 'luma_address': 191, 'u_address': 294, 'v_address': 379, 'allocation_end': 399}), ({'w': 7, 'h': 13, 'x': 3, 'y': 12, 'b': 3, 'base': 22, 'ug': 3, 'vg': 4}, {'chroma_width': 4, 'chroma_height': 7, 'u_pitch': 7, 'v_pitch': 8, 'u_origin': 116, 'v_origin': 168, 'luma_address': 110, 'u_address': 159, 'v_address': 217, 'allocation_end': 224})], 3: [({'w': 1, 'h': 1, 'x': 0, 'y': 0, 'b': 4, 'base': 33, 'ug': 4, 'vg': 5}, {'chroma_width': 1, 'chroma_height': 1, 'u_pitch': 5, 'v_pitch': 6, 'u_origin': 37, 'v_origin': 45, 'luma_address': 34, 'u_address': 37, 'v_address': 45, 'allocation_end': 51}), ({'w': 8, 'h': 6, 'x': 1, 'y': 2, 'b': 4, 'base': 33, 'ug': 4, 'vg': 5}, {'chroma_width': 4, 'chroma_height': 3, 'u_pitch': 8, 'v_pitch': 9, 'u_origin': 84, 'v_origin': 111, 'luma_address': 51, 'u_address': 92, 'v_address': 120, 'allocation_end': 138}), ({'w': 12, 'h': 10, 'x': 8, 'y': 6, 'b': 4, 'base': 33, 'ug': 4, 'vg': 5}, {'chroma_width': 6, 'chroma_height': 5, 'u_pitch': 10, 'v_pitch': 11, 'u_origin': 156, 'v_origin': 209, 'luma_address': 114, 'u_address': 190, 'v_address': 246, 'allocation_end': 264}), ({'w': 16, 'h': 8, 'x': 15, 'y': 7, 'b': 4, 'base': 33, 'ug': 4, 'vg': 5}, {'chroma_width': 8, 'chroma_height': 4, 'u_pitch': 12, 'v_pitch': 13, 'u_origin': 164, 'v_origin': 215, 'luma_address': 161, 'u_address': 207, 'v_address': 261, 'allocation_end': 267}), ({'w': 20, 'h': 12, 'x': 16, 'y': 8, 'b': 4, 'base': 33, 'ug': 4, 'vg': 5}, {'chroma_width': 10, 'chroma_height': 6, 'u_pitch': 14, 'v_pitch': 15, 'u_origin': 276, 'v_origin': 363, 'luma_address': 210, 'u_address': 340, 'v_address': 431, 'allocation_end': 453}), ({'w': 7, 'h': 13, 'x': 3, 'y': 12, 'b': 4, 'base': 33, 'ug': 4, 'vg': 5}, {'chroma_width': 4, 'chroma_height': 7, 'u_pitch': 8, 'v_pitch': 9, 'u_origin': 127, 'v_origin': 186, 'luma_address': 121, 'u_address': 176, 'v_address': 241, 'allocation_end': 249})], 4: [({'w': 1, 'h': 1, 'x': 0, 'y': 0, 'b': 5, 'base': 44, 'ug': 5, 'vg': 6}, {'chroma_width': 1, 'chroma_height': 1, 'u_pitch': 6, 'v_pitch': 7, 'u_origin': 48, 'v_origin': 57, 'luma_address': 45, 'u_address': 48, 'v_address': 57, 'allocation_end': 64}), ({'w': 9, 'h': 7, 'x': 1, 'y': 2, 'b': 5, 'base': 44, 'ug': 5, 'vg': 6}, {'chroma_width': 5, 'chroma_height': 4, 'u_pitch': 10, 'v_pitch': 11, 'u_origin': 110, 'v_origin': 153, 'luma_address': 64, 'u_address': 120, 'v_address': 164, 'allocation_end': 197}), ({'w': 13, 'h': 11, 'x': 8, 'y': 6, 'b': 5, 'base': 44, 'ug': 5, 'vg': 6}, {'chroma_width': 7, 'chroma_height': 6, 'u_pitch': 12, 'v_pitch': 13, 'u_origin': 190, 'v_origin': 265, 'luma_address': 131, 'u_address': 230, 'v_address': 308, 'allocation_end': 343}), ({'w': 16, 'h': 8, 'x': 15, 'y': 7, 'b': 5, 'base': 44, 'ug': 5, 'vg': 6}, {'chroma_width': 8, 'chroma_height': 4, 'u_pitch': 13, 'v_pitch': 14, 'u_origin': 175, 'v_origin': 230, 'luma_address': 172, 'u_address': 221, 'v_address': 279, 'allocation_end': 286}), ({'w': 21, 'h': 13, 'x': 16, 'y': 8, 'b': 5, 'base': 44, 'ug': 5, 'vg': 6}, {'chroma_width': 11, 'chroma_height': 7, 'u_pitch': 16, 'v_pitch': 17, 'u_origin': 320, 'v_origin': 435, 'luma_address': 229, 'u_address': 392, 'v_address': 511, 'allocation_end': 554}), ({'w': 7, 'h': 13, 'x': 3, 'y': 12, 'b': 5, 'base': 44, 'ug': 5, 'vg': 6}, {'chroma_width': 4, 'chroma_height': 7, 'u_pitch': 9, 'v_pitch': 10, 'u_origin': 138, 'v_origin': 204, 'luma_address': 132, 'u_address': 193, 'v_address': 265, 'allocation_end': 274})], 5: [({'w': 1, 'h': 1, 'x': 0, 'y': 0, 'b': 6, 'base': 55, 'ug': 6, 'vg': 7}, {'chroma_width': 1, 'chroma_height': 1, 'u_pitch': 7, 'v_pitch': 8, 'u_origin': 59, 'v_origin': 69, 'luma_address': 56, 'u_address': 59, 'v_address': 69, 'allocation_end': 77}), ({'w': 10, 'h': 8, 'x': 1, 'y': 2, 'b': 6, 'base': 55, 'ug': 6, 'vg': 7}, {'chroma_width': 5, 'chroma_height': 4, 'u_pitch': 11, 'v_pitch': 12, 'u_origin': 138, 'v_origin': 185, 'luma_address': 77, 'u_address': 149, 'v_address': 197, 'allocation_end': 233}), ({'w': 14, 'h': 12, 'x': 8, 'y': 6, 'b': 6, 'base': 55, 'ug': 6, 'vg': 7}, {'chroma_width': 7, 'chroma_height': 6, 'u_pitch': 13, 'v_pitch': 14, 'u_origin': 226, 'v_origin': 307, 'luma_address': 148, 'u_address': 269, 'v_address': 353, 'allocation_end': 391}), ({'w': 16, 'h': 8, 'x': 15, 'y': 7, 'b': 6, 'base': 55, 'ug': 6, 'vg': 7}, {'chroma_width': 8, 'chroma_height': 4, 'u_pitch': 14, 'v_pitch': 15, 'u_origin': 186, 'v_origin': 245, 'luma_address': 183, 'u_address': 235, 'v_address': 297, 'allocation_end': 305}), ({'w': 22, 'h': 14, 'x': 16, 'y': 8, 'b': 6, 'base': 55, 'ug': 6, 'vg': 7}, {'chroma_width': 11, 'chroma_height': 7, 'u_pitch': 17, 'v_pitch': 18, 'u_origin': 366, 'v_origin': 488, 'luma_address': 248, 'u_address': 442, 'v_address': 568, 'allocation_end': 614}), ({'w': 7, 'h': 13, 'x': 3, 'y': 12, 'b': 6, 'base': 55, 'ug': 6, 'vg': 7}, {'chroma_width': 4, 'chroma_height': 7, 'u_pitch': 10, 'v_pitch': 11, 'u_origin': 149, 'v_origin': 222, 'luma_address': 143, 'u_address': 210, 'v_address': 289, 'allocation_end': 299})]}
for i, (p, expected) in enumerate(cases[N]):
check("layout fixture " + str(i + 1), solve(p), expected)
print(json.dumps({"observations": observations, "passed": all(x["passed"] for x in observations)}, ensure_ascii=False))
raise SystemExit(0 if all(x["passed"] for x in observations) else 1)
| Boundary fixture | Actual | Expected | Outcome |
|---|---|---|---|
| layout fixture 1 | {'allocation_end': 26, 'chroma_height': 1, 'chroma_width': 1, 'luma_address': 12, 'u_address': 15, 'u_origin': 15, 'u_pitch': 3, 'v_address': 22, 'v_origin': 22, 'v_pitch': 4} | {'allocation_end': 25, 'chroma_height': 1, 'chroma_width': 1, 'luma_address': 12, 'u_address': 15, 'u_origin': 15, 'u_pitch': 3, 'v_address': 21, 'v_origin': 21, 'v_pitch': 4} | Failed |
| layout fixture 2 | {'allocation_end': 65, 'chroma_height': 2, 'chroma_width': 3, 'luma_address': 25, 'u_address': 43, 'u_origin': 38, 'u_pitch': 5, 'v_address': 59, 'v_origin': 53, 'v_pitch': 6} | {'allocation_end': 63, 'chroma_height': 2, 'chroma_width': 3, 'luma_address': 25, 'u_address': 43, 'u_origin': 38, 'u_pitch': 5, 'v_address': 57, 'v_origin': 51, 'v_pitch': 6} | Failed |
| layout fixture 3 | {'allocation_end': 161, 'chroma_height': 4, 'chroma_width': 5, 'luma_address': 80, 'u_address': 119, 'u_origin': 94, 'u_pitch': 7, 'v_address': 157, 'v_origin': 129, 'v_pitch': 8} | {'allocation_end': 157, 'chroma_height': 4, 'chroma_width': 5, 'luma_address': 80, 'u_address': 119, 'u_origin': 94, 'u_pitch': 7, 'v_address': 153, 'v_origin': 125, 'v_pitch': 8} | Failed |
| layout fixture 4 | {'allocation_end': 233, 'chroma_height': 4, 'chroma_width': 8, 'luma_address': 139, 'u_address': 179, 'u_origin': 142, 'u_pitch': 10, 'v_address': 229, 'v_origin': 189, 'v_pitch': 11} | {'allocation_end': 229, 'chroma_height': 4, 'chroma_width': 8, 'luma_address': 139, 'u_address': 179, 'u_origin': 142, 'u_pitch': 10, 'v_address': 225, 'v_origin': 185, 'v_pitch': 11} | Failed |
| layout fixture 5 | {'allocation_end': 317, 'chroma_height': 5, 'chroma_width': 9, 'luma_address': 172, 'u_address': 246, 'u_origin': 194, 'u_pitch': 11, 'v_address': 313, 'v_origin': 257, 'v_pitch': 12} | {'allocation_end': 312, 'chroma_height': 5, 'chroma_width': 9, 'luma_address': 172, 'u_address': 246, 'u_origin': 194, 'u_pitch': 11, 'v_address': 308, 'v_origin': 252, 'v_pitch': 12} | Failed |
| layout fixture 6 | {'allocation_end': 206, 'chroma_height': 7, 'chroma_width': 4, 'luma_address': 99, 'u_address': 142, 'u_origin': 105, 'u_pitch': 6, 'v_address': 200, 'v_origin': 157, 'v_pitch': 7} | {'allocation_end': 199, 'chroma_height': 7, 'chroma_width': 4, 'luma_address': 99, 'u_address': 142, 'u_origin': 105, 'u_pitch': 6, 'v_address': 193, 'v_origin': 150, 'v_pitch': 7} | Failed |
SHA-256 / 1b89a7a516db6d35271a6d1f75b5d80e9377255b3b2770b89e7f86acbb02fe88
3 / The verified repair
Exit 0"""Failure Map reference implementation. Python standard library only."""
import json
N = 1
observations = []
def solve(p):
p = dict(p)
chroma_width = (p["w"]+1)//2
chroma_height = (p["h"]+1)//2
u_pitch = chroma_width+p["ug"]
v_pitch = chroma_width+p["vg"]
u_origin = p["base"]+1+p["w"]*p["h"]+2
v_origin = u_origin+u_pitch*chroma_height+3
luma_address = p["base"]+1+p["y"]*p["w"]+p["x"]
u_address = u_origin+(p["y"]//2)*u_pitch+p["x"]//2
v_address = v_origin+(p["y"]//2)*v_pitch+p["x"]//2
allocation_end = v_origin+v_pitch*chroma_height
return {'chroma_width': chroma_width, 'chroma_height': chroma_height, 'u_pitch': u_pitch, 'v_pitch': v_pitch, 'u_origin': u_origin, 'v_origin': v_origin, 'luma_address': luma_address, 'u_address': u_address, 'v_address': v_address, 'allocation_end': allocation_end}
def check(label, actual, expected):
observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
cases = {1: [({'w': 1, 'h': 1, 'x': 0, 'y': 0, 'b': 2, 'base': 11, 'ug': 2, 'vg': 3}, {'chroma_width': 1, 'chroma_height': 1, 'u_pitch': 3, 'v_pitch': 4, 'u_origin': 15, 'v_origin': 21, 'luma_address': 12, 'u_address': 15, 'v_address': 21, 'allocation_end': 25}), ({'w': 6, 'h': 4, 'x': 1, 'y': 2, 'b': 2, 'base': 11, 'ug': 2, 'vg': 3}, {'chroma_width': 3, 'chroma_height': 2, 'u_pitch': 5, 'v_pitch': 6, 'u_origin': 38, 'v_origin': 51, 'luma_address': 25, 'u_address': 43, 'v_address': 57, 'allocation_end': 63}), ({'w': 10, 'h': 8, 'x': 8, 'y': 6, 'b': 2, 'base': 11, 'ug': 2, 'vg': 3}, {'chroma_width': 5, 'chroma_height': 4, 'u_pitch': 7, 'v_pitch': 8, 'u_origin': 94, 'v_origin': 125, 'luma_address': 80, 'u_address': 119, 'v_address': 153, 'allocation_end': 157}), ({'w': 16, 'h': 8, 'x': 15, 'y': 7, 'b': 2, 'base': 11, 'ug': 2, 'vg': 3}, {'chroma_width': 8, 'chroma_height': 4, 'u_pitch': 10, 'v_pitch': 11, 'u_origin': 142, 'v_origin': 185, 'luma_address': 139, 'u_address': 179, 'v_address': 225, 'allocation_end': 229}), ({'w': 18, 'h': 10, 'x': 16, 'y': 8, 'b': 2, 'base': 11, 'ug': 2, 'vg': 3}, {'chroma_width': 9, 'chroma_height': 5, 'u_pitch': 11, 'v_pitch': 12, 'u_origin': 194, 'v_origin': 252, 'luma_address': 172, 'u_address': 246, 'v_address': 308, 'allocation_end': 312}), ({'w': 7, 'h': 13, 'x': 3, 'y': 12, 'b': 2, 'base': 11, 'ug': 2, 'vg': 3}, {'chroma_width': 4, 'chroma_height': 7, 'u_pitch': 6, 'v_pitch': 7, 'u_origin': 105, 'v_origin': 150, 'luma_address': 99, 'u_address': 142, 'v_address': 193, 'allocation_end': 199})], 2: [({'w': 1, 'h': 1, 'x': 0, 'y': 0, 'b': 3, 'base': 22, 'ug': 3, 'vg': 4}, {'chroma_width': 1, 'chroma_height': 1, 'u_pitch': 4, 'v_pitch': 5, 'u_origin': 26, 'v_origin': 33, 'luma_address': 23, 'u_address': 26, 'v_address': 33, 'allocation_end': 38}), ({'w': 7, 'h': 5, 'x': 1, 'y': 2, 'b': 3, 'base': 22, 'ug': 3, 'vg': 4}, {'chroma_width': 4, 'chroma_height': 3, 'u_pitch': 7, 'v_pitch': 8, 'u_origin': 60, 'v_origin': 84, 'luma_address': 38, 'u_address': 67, 'v_address': 92, 'allocation_end': 108}), ({'w': 11, 'h': 9, 'x': 8, 'y': 6, 'b': 3, 'base': 22, 'ug': 3, 'vg': 4}, {'chroma_width': 6, 'chroma_height': 5, 'u_pitch': 9, 'v_pitch': 10, 'u_origin': 124, 'v_origin': 172, 'luma_address': 97, 'u_address': 155, 'v_address': 206, 'allocation_end': 222}), ({'w': 16, 'h': 8, 'x': 15, 'y': 7, 'b': 3, 'base': 22, 'ug': 3, 'vg': 4}, {'chroma_width': 8, 'chroma_height': 4, 'u_pitch': 11, 'v_pitch': 12, 'u_origin': 153, 'v_origin': 200, 'luma_address': 150, 'u_address': 193, 'v_address': 243, 'allocation_end': 248}), ({'w': 19, 'h': 11, 'x': 16, 'y': 8, 'b': 3, 'base': 22, 'ug': 3, 'vg': 4}, {'chroma_width': 10, 'chroma_height': 6, 'u_pitch': 13, 'v_pitch': 14, 'u_origin': 234, 'v_origin': 315, 'luma_address': 191, 'u_address': 294, 'v_address': 379, 'allocation_end': 399}), ({'w': 7, 'h': 13, 'x': 3, 'y': 12, 'b': 3, 'base': 22, 'ug': 3, 'vg': 4}, {'chroma_width': 4, 'chroma_height': 7, 'u_pitch': 7, 'v_pitch': 8, 'u_origin': 116, 'v_origin': 168, 'luma_address': 110, 'u_address': 159, 'v_address': 217, 'allocation_end': 224})], 3: [({'w': 1, 'h': 1, 'x': 0, 'y': 0, 'b': 4, 'base': 33, 'ug': 4, 'vg': 5}, {'chroma_width': 1, 'chroma_height': 1, 'u_pitch': 5, 'v_pitch': 6, 'u_origin': 37, 'v_origin': 45, 'luma_address': 34, 'u_address': 37, 'v_address': 45, 'allocation_end': 51}), ({'w': 8, 'h': 6, 'x': 1, 'y': 2, 'b': 4, 'base': 33, 'ug': 4, 'vg': 5}, {'chroma_width': 4, 'chroma_height': 3, 'u_pitch': 8, 'v_pitch': 9, 'u_origin': 84, 'v_origin': 111, 'luma_address': 51, 'u_address': 92, 'v_address': 120, 'allocation_end': 138}), ({'w': 12, 'h': 10, 'x': 8, 'y': 6, 'b': 4, 'base': 33, 'ug': 4, 'vg': 5}, {'chroma_width': 6, 'chroma_height': 5, 'u_pitch': 10, 'v_pitch': 11, 'u_origin': 156, 'v_origin': 209, 'luma_address': 114, 'u_address': 190, 'v_address': 246, 'allocation_end': 264}), ({'w': 16, 'h': 8, 'x': 15, 'y': 7, 'b': 4, 'base': 33, 'ug': 4, 'vg': 5}, {'chroma_width': 8, 'chroma_height': 4, 'u_pitch': 12, 'v_pitch': 13, 'u_origin': 164, 'v_origin': 215, 'luma_address': 161, 'u_address': 207, 'v_address': 261, 'allocation_end': 267}), ({'w': 20, 'h': 12, 'x': 16, 'y': 8, 'b': 4, 'base': 33, 'ug': 4, 'vg': 5}, {'chroma_width': 10, 'chroma_height': 6, 'u_pitch': 14, 'v_pitch': 15, 'u_origin': 276, 'v_origin': 363, 'luma_address': 210, 'u_address': 340, 'v_address': 431, 'allocation_end': 453}), ({'w': 7, 'h': 13, 'x': 3, 'y': 12, 'b': 4, 'base': 33, 'ug': 4, 'vg': 5}, {'chroma_width': 4, 'chroma_height': 7, 'u_pitch': 8, 'v_pitch': 9, 'u_origin': 127, 'v_origin': 186, 'luma_address': 121, 'u_address': 176, 'v_address': 241, 'allocation_end': 249})], 4: [({'w': 1, 'h': 1, 'x': 0, 'y': 0, 'b': 5, 'base': 44, 'ug': 5, 'vg': 6}, {'chroma_width': 1, 'chroma_height': 1, 'u_pitch': 6, 'v_pitch': 7, 'u_origin': 48, 'v_origin': 57, 'luma_address': 45, 'u_address': 48, 'v_address': 57, 'allocation_end': 64}), ({'w': 9, 'h': 7, 'x': 1, 'y': 2, 'b': 5, 'base': 44, 'ug': 5, 'vg': 6}, {'chroma_width': 5, 'chroma_height': 4, 'u_pitch': 10, 'v_pitch': 11, 'u_origin': 110, 'v_origin': 153, 'luma_address': 64, 'u_address': 120, 'v_address': 164, 'allocation_end': 197}), ({'w': 13, 'h': 11, 'x': 8, 'y': 6, 'b': 5, 'base': 44, 'ug': 5, 'vg': 6}, {'chroma_width': 7, 'chroma_height': 6, 'u_pitch': 12, 'v_pitch': 13, 'u_origin': 190, 'v_origin': 265, 'luma_address': 131, 'u_address': 230, 'v_address': 308, 'allocation_end': 343}), ({'w': 16, 'h': 8, 'x': 15, 'y': 7, 'b': 5, 'base': 44, 'ug': 5, 'vg': 6}, {'chroma_width': 8, 'chroma_height': 4, 'u_pitch': 13, 'v_pitch': 14, 'u_origin': 175, 'v_origin': 230, 'luma_address': 172, 'u_address': 221, 'v_address': 279, 'allocation_end': 286}), ({'w': 21, 'h': 13, 'x': 16, 'y': 8, 'b': 5, 'base': 44, 'ug': 5, 'vg': 6}, {'chroma_width': 11, 'chroma_height': 7, 'u_pitch': 16, 'v_pitch': 17, 'u_origin': 320, 'v_origin': 435, 'luma_address': 229, 'u_address': 392, 'v_address': 511, 'allocation_end': 554}), ({'w': 7, 'h': 13, 'x': 3, 'y': 12, 'b': 5, 'base': 44, 'ug': 5, 'vg': 6}, {'chroma_width': 4, 'chroma_height': 7, 'u_pitch': 9, 'v_pitch': 10, 'u_origin': 138, 'v_origin': 204, 'luma_address': 132, 'u_address': 193, 'v_address': 265, 'allocation_end': 274})], 5: [({'w': 1, 'h': 1, 'x': 0, 'y': 0, 'b': 6, 'base': 55, 'ug': 6, 'vg': 7}, {'chroma_width': 1, 'chroma_height': 1, 'u_pitch': 7, 'v_pitch': 8, 'u_origin': 59, 'v_origin': 69, 'luma_address': 56, 'u_address': 59, 'v_address': 69, 'allocation_end': 77}), ({'w': 10, 'h': 8, 'x': 1, 'y': 2, 'b': 6, 'base': 55, 'ug': 6, 'vg': 7}, {'chroma_width': 5, 'chroma_height': 4, 'u_pitch': 11, 'v_pitch': 12, 'u_origin': 138, 'v_origin': 185, 'luma_address': 77, 'u_address': 149, 'v_address': 197, 'allocation_end': 233}), ({'w': 14, 'h': 12, 'x': 8, 'y': 6, 'b': 6, 'base': 55, 'ug': 6, 'vg': 7}, {'chroma_width': 7, 'chroma_height': 6, 'u_pitch': 13, 'v_pitch': 14, 'u_origin': 226, 'v_origin': 307, 'luma_address': 148, 'u_address': 269, 'v_address': 353, 'allocation_end': 391}), ({'w': 16, 'h': 8, 'x': 15, 'y': 7, 'b': 6, 'base': 55, 'ug': 6, 'vg': 7}, {'chroma_width': 8, 'chroma_height': 4, 'u_pitch': 14, 'v_pitch': 15, 'u_origin': 186, 'v_origin': 245, 'luma_address': 183, 'u_address': 235, 'v_address': 297, 'allocation_end': 305}), ({'w': 22, 'h': 14, 'x': 16, 'y': 8, 'b': 6, 'base': 55, 'ug': 6, 'vg': 7}, {'chroma_width': 11, 'chroma_height': 7, 'u_pitch': 17, 'v_pitch': 18, 'u_origin': 366, 'v_origin': 488, 'luma_address': 248, 'u_address': 442, 'v_address': 568, 'allocation_end': 614}), ({'w': 7, 'h': 13, 'x': 3, 'y': 12, 'b': 6, 'base': 55, 'ug': 6, 'vg': 7}, {'chroma_width': 4, 'chroma_height': 7, 'u_pitch': 10, 'v_pitch': 11, 'u_origin': 149, 'v_origin': 222, 'luma_address': 143, 'u_address': 210, 'v_address': 289, 'allocation_end': 299})]}
for i, (p, expected) in enumerate(cases[N]):
check("layout fixture " + str(i + 1), solve(p), expected)
print(json.dumps({"observations": observations, "passed": all(x["passed"] for x in observations)}, ensure_ascii=False))
raise SystemExit(0 if all(x["passed"] for x in observations) else 1)
| Boundary fixture | Actual | Expected | Outcome |
|---|---|---|---|
| layout fixture 1 | {'allocation_end': 25, 'chroma_height': 1, 'chroma_width': 1, 'luma_address': 12, 'u_address': 15, 'u_origin': 15, 'u_pitch': 3, 'v_address': 21, 'v_origin': 21, 'v_pitch': 4} | {'allocation_end': 25, 'chroma_height': 1, 'chroma_width': 1, 'luma_address': 12, 'u_address': 15, 'u_origin': 15, 'u_pitch': 3, 'v_address': 21, 'v_origin': 21, 'v_pitch': 4} | Passed |
| layout fixture 2 | {'allocation_end': 63, 'chroma_height': 2, 'chroma_width': 3, 'luma_address': 25, 'u_address': 43, 'u_origin': 38, 'u_pitch': 5, 'v_address': 57, 'v_origin': 51, 'v_pitch': 6} | {'allocation_end': 63, 'chroma_height': 2, 'chroma_width': 3, 'luma_address': 25, 'u_address': 43, 'u_origin': 38, 'u_pitch': 5, 'v_address': 57, 'v_origin': 51, 'v_pitch': 6} | Passed |
| layout fixture 3 | {'allocation_end': 157, 'chroma_height': 4, 'chroma_width': 5, 'luma_address': 80, 'u_address': 119, 'u_origin': 94, 'u_pitch': 7, 'v_address': 153, 'v_origin': 125, 'v_pitch': 8} | {'allocation_end': 157, 'chroma_height': 4, 'chroma_width': 5, 'luma_address': 80, 'u_address': 119, 'u_origin': 94, 'u_pitch': 7, 'v_address': 153, 'v_origin': 125, 'v_pitch': 8} | Passed |
| layout fixture 4 | {'allocation_end': 229, 'chroma_height': 4, 'chroma_width': 8, 'luma_address': 139, 'u_address': 179, 'u_origin': 142, 'u_pitch': 10, 'v_address': 225, 'v_origin': 185, 'v_pitch': 11} | {'allocation_end': 229, 'chroma_height': 4, 'chroma_width': 8, 'luma_address': 139, 'u_address': 179, 'u_origin': 142, 'u_pitch': 10, 'v_address': 225, 'v_origin': 185, 'v_pitch': 11} | Passed |
| layout fixture 5 | {'allocation_end': 312, 'chroma_height': 5, 'chroma_width': 9, 'luma_address': 172, 'u_address': 246, 'u_origin': 194, 'u_pitch': 11, 'v_address': 308, 'v_origin': 252, 'v_pitch': 12} | {'allocation_end': 312, 'chroma_height': 5, 'chroma_width': 9, 'luma_address': 172, 'u_address': 246, 'u_origin': 194, 'u_pitch': 11, 'v_address': 308, 'v_origin': 252, 'v_pitch': 12} | Passed |
| layout fixture 6 | {'allocation_end': 199, 'chroma_height': 7, 'chroma_width': 4, 'luma_address': 99, 'u_address': 142, 'u_origin': 105, 'u_pitch': 6, 'v_address': 193, 'v_origin': 150, 'v_pitch': 7} | {'allocation_end': 199, 'chroma_height': 7, 'chroma_width': 4, 'luma_address': 99, 'u_address': 142, 'u_origin': 105, 'u_pitch': 6, 'v_address': 193, 'v_origin': 150, 'v_pitch': 7} | Passed |
SHA-256 / 397c16f89811bf6d3862afc8c4461dcf9e77bb9f5a926bb4dbfd24e7451b28e6
Verification & scope
Stipulated deterministic toy buffer layout; not a graphics API, codec, GPU vendor tiling specification, or hardware-conformance claim. Inputs satisfy the dimensions and bounds stated by the model. This reproducer isolates one failure mechanism. Results cover the supplied fixtures. Variants within a family share a test contract and should remain grouped when constructing evaluation splits. Related mechanisms with a shared evaluation_group must also remain together; these controlled models are not independent production incidents.
Observations recorded using Python 3.12.14 at 2026-09-29T14:45:26.661785+00:00.
Case digest / ae81c660542cfdbab2eb2ed1fa5f3c40d5fd404dfeabc8c51ea68ccdf79d0f8b