FAILURE MAP
← Case archive

FA-52226 / Raster memory layout / Open access

Independent Chroma Planes: U addressing subsamples only one axis · case 01

The returned physical layout descriptor disagrees with the declared buffer mapping at u_address.

Verified by executionVariant 1 · 6 checks per implementationDownload source bundle ↓JSON ↗

ROOT CAUSE

U addressing subsamples only one axis The faulty expression is u_origin+p["y"]*u_pitch+p["x"]//2.

VERIFIED REPAIR

Apply the stipulated layout rule at u_address: u_origin+(p["y"]//2)*u_pitch+p["x"]//2.

Unsuccessful approach: The attempted repair uses u_origin+(p["y"]//2)*u_pitch+p["x"] 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*chroma_height+3
    luma_address = p["base"]+1+p["y"]*p["w"]+p["x"]
    u_address = u_origin+p["y"]*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 fixtureActualExpectedOutcome
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': 48, '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}Failed
layout fixture 3{'allocation_end': 157, 'chroma_height': 4, 'chroma_width': 5, 'luma_address': 80, 'u_address': 140, '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}Failed
layout fixture 4{'allocation_end': 229, 'chroma_height': 4, 'chroma_width': 8, 'luma_address': 139, 'u_address': 219, '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}Failed
layout fixture 5{'allocation_end': 312, 'chroma_height': 5, 'chroma_width': 9, 'luma_address': 172, 'u_address': 290, '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}Failed
layout fixture 6{'allocation_end': 199, 'chroma_height': 7, 'chroma_width': 4, 'luma_address': 99, 'u_address': 178, '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}Failed

SHA-256 / 0602f59bccf8c5e25d2e600305092223abfd8ebb35d0c479b73b89888f50e9a0

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+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"]
    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 fixtureActualExpectedOutcome
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': 44, '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}Failed
layout fixture 3{'allocation_end': 157, 'chroma_height': 4, 'chroma_width': 5, 'luma_address': 80, 'u_address': 123, '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}Failed
layout fixture 4{'allocation_end': 229, 'chroma_height': 4, 'chroma_width': 8, 'luma_address': 139, 'u_address': 187, '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}Failed
layout fixture 5{'allocation_end': 312, 'chroma_height': 5, 'chroma_width': 9, 'luma_address': 172, 'u_address': 254, '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}Failed
layout fixture 6{'allocation_end': 199, 'chroma_height': 7, 'chroma_width': 4, 'luma_address': 99, 'u_address': 144, '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}Failed

SHA-256 / 9f9cca307d7c5c61187ff75e5864c3264015546f140b7b2a5da4fcd3afd4c778

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 fixtureActualExpectedOutcome
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.799233+00:00.

Case digest / 4e4b4247467c3f79b8686290d7bca9ac26be2e7742f64662524c559ae42851bf