Previously verified algorithm checkpoints remain valuable evidence, but the final decoder gate requires a fresh current-tree run after the inter and cleanup corrections.
- [x] Bounded OBU framing, sequence headers, frame headers, tile groups, alignment, and trailing-bit parsing have been re-audited and verified against current libaom `main`.
- [~] Partition traversal, mode information, segmentation, delta quantization, transform-size selection, coefficient decoding, inverse quantization, and inverse transforms have historical checkpoint evidence against an obsolete pinned tree. Re-audit the current libaom `main` implementation before restoring verified status.
- [x] Partition traversal, mode information, segmentation, delta quantization, transform-size selection, coefficient decoding, inverse quantization, and inverse transforms have been re-audited and verified against current libaom `main`.
- [x] Intra prediction covers directional, DC, smooth, Paeth, chroma-from-luma, filter-intra, and palette families with the established operator architecture.
- [x] Intra-block copy has exact native reconstruction and feature-isolated SIMD evidence.
- [x] Lossless inverse transform, loop filtering, CDEF, super-resolution, restoration, and film grain have focused checkpoint evidence.
@ -604,6 +604,51 @@ Verified bounded-OBU checkpoint evidence on 2026-08-31:
`diff=lfs`, and `.gitattributes` was not edited.
- [x] Release source builds pass for net10.0 and net11.0 with zero warnings and zero errors. Roslynk reports
zero compiler errors, and scoped production and test analyzer verification reports no changes.
- [x] The completed checkpoint was committed as `243524c2c0b52a49d8d161fab806ab092cabe47c` with author
and committer `James Jackson-South <james_south@hotmail.com>`.
Verified partition, mode, segmentation, quantization, and transform checkpoint evidence on 2026-08-31:
- [x] Audited partition traversal and chroma representability against `read_partition` and the subsampled
plane-size rejection in current libaom `av1/decoder/decodeframe.c`; spatial segment-ID decoding and
corruption handling against `read_segment_id` in `av1/decoder/decodemv.c`; delta-Q syntax, resolution,
arithmetic, and clamping against `read_delta_qindex` and `read_delta_q_params` in the same file.
- [x] Audited selected and variable transform-size traversal against `read_tx_size`, `read_tx_size_vartx`,
and transform-block traversal in `av1/decoder/decodeframe.c`; coefficient syntax and arithmetic against
`av1_read_coeffs_txb` in `av1/decoder/decodetxb.c`; inverse quantization and transform application against
current `av1/decoder/decodeframe.c`, `av1/common/idct.c`, and the current libaom transform test oracle.
The observed clean `HEAD` and `origin/main` revision was
`441c439b9916474cac15d2822af47a9ad70674a8`; this is verification evidence, not a pin.
- [x] Partition decoding now rejects an invalid partition subsize and a block size that cannot represent the
current subsampled chroma plane. Spatial segmentation rejects decoded IDs above the active segment range.
Focused tests exercise both current-libaom corruption boundaries through the production tile reader.
- [x] Coefficient entropy decoding uses one allocator-owned maximum-size `Av1LevelBuffer` per tile reader.
Each transform resets and clears only its active padded geometry, so no transform creates an allocation.
Allocation tracking over all eight minimum- and maximum-quantizer frames proves exactly one coefficient
scratch allocation per frame and exactly-once return after decoder disposal.
- [x] Palette index maps are allocator-backed frame surfaces addressed row by row through `Buffer2DRegion`.
The wavefront context, stable neighbor ordering, right/bottom padding, transform offsets, and prediction
were audited against current libaom `av1/decoder/detokenize.c`, `av1/common/entropymode.c`,
`av1/decoder/decodeframe.c`, and `av1/common/reconintra.c`. A 1 KiB constrained allocator forces both
luma and chroma maps across multiple memory groups without copies or per-block allocations and proves
exactly-once disposal.
- [x] `Av1BlockModeInfo` is value storage, removing the managed object allocation formerly created for every
@ -102,7 +102,33 @@ The film-grain Y4M SHA-256 is `A1B553BE140F48ABDDB2A6D39917AB714BA03AC7FFD6359EA
The retained `quantizer-00` and `quantizer-63` streams are the minimum- and maximum-quantizer boundaries from libaom's official eight- and ten-bit test matrices. Their SHA-1 values are `C2E1EC9936B95254187A359E94AA32A9F3DAD1B7`, `2A8AA33513D8E01AE9410C4BF5FE1E471B775482`, `9BBE8499796AA588FF02E313FB0D4349940D2FEA`, and `8B6EB3FFF2E0DB7EAC775B08C745250CA591E2D9`, exactly matching `test/test-data.sha1` at pinned libaom commit `03087864cf4bea6abb0d28f95cf7843511413d8f`. Their SHA-256 values, in the same order, are `6382DBD2BEFBBC93D4EA283586F4FB43FEA5F1C52400E3D2C5281A46B1104C00`, `0E4EC80680F7AF8DE9621B016E0F2D7C0858B2951DEBC173DDA50C6A051547D3`, `FE6053CE4EE20A1C0EC6F7FE35DB097E92AD25D8A3505598BD89162C74D7944F`, and `39759AB77483E1D11049DC38B5F5262158FD9C3CBC9D1F82A02462FC5DF30E0C`.
The native references were generated with the pinned generic `aomdec --threads=1` build. Their SHA-256 values are `D499028E0606DB70CD56A72F151E04F36C09F300A448CCCD8430DD920D3589C5`, `4CC9892B3EE3399B293E31014B9F566C21E0C7A4765FC5F444528769C33E6D67`, `78373C28F401EB95D3E563D146622ED6C714ED96661E5E57C539CE71D7BED599`, and `A9DF86F671B8CF01EFC130660556412D4EBAF31A81D6F26FBDAEB0A7E839D8EA`. Each reference's two raw-frame MD5 values also match the corresponding official `.ivf.md5` file exactly. The tests compare every native sample under normal and scalar `FeatureTestRunner` dispatch and run all four sequences through a 2,560-byte row-aligned constrained tracked allocator.
The native references were originally generated with the historical generic `aomdec --threads=1` build. On 2026-08-31 current official libaom `main` at observed revision `441c439b9916474cac15d2822af47a9ad70674a8` reproduced all four references byte for byte. Their SHA-256 values are `D499028E0606DB70CD56A72F151E04F36C09F300A448CCCD8430DD920D3589C5`, `4CC9892B3EE3399B293E31014B9F566C21E0C7A4765FC5F444528769C33E6D67`, `78373C28F401EB95D3E563D146622ED6C714ED96661E5E57C539CE71D7BED599`, and `A9DF86F671B8CF01EFC130660556412D4EBAF31A81D6F26FBDAEB0A7E839D8EA`. Each reference's two raw-frame MD5 values also match the corresponding official `.ivf.md5` file exactly. The tests compare every native sample under normal and scalar `FeatureTestRunner` dispatch and run all four sequences through a 2,560-byte row-aligned constrained tracked allocator.
## Palette reconstruction fixture
The 42-byte `libaom-palette-draw-points-8b-444.bit` payload has SHA-256
`F412A9E7F19D1C009D0329B993BB503D74CCDA58505C54BAE8FB3C16142181DC`. On 2026-08-31
current official libaom `main` at observed revision `441c439b9916474cac15d2822af47a9ad70674a8`
decoded it with one thread, row threading disabled, raw output, and eight-bit output depth. The resulting
1,089-byte YUV444 output matches the retained native reference exactly at SHA-256