@ -30,8 +30,8 @@ Reference checkout evidence on 2026-08-31:
Reconciled with the worktree on 2026-08-31.
Reconciled with the worktree on 2026-08-31.
- [~] The bounded container reader, still-image path, sequence parser, AV1 decoder, color pipeline, presentation pipeline, and broad AV1 test suite exist locally.
- [~] The bounded container reader, still-image path, sequence parser, AV1 decoder, color pipeline, presentation pipeline, and broad AV1 test suite exist locally.
- [~] The inter-frame decoder has verified checkpoints through non-translational global prediction. Inter
- [x] The inter-frame decoder has verified checkpoints through inter deblocking decisions and
deblocking decisions and reference/mode deltas remain open as the next ordered checkpoint.
reference/mode deltas.
- [~] Loop filtering, CDEF, super-resolution, restoration, film grain, layered presentation, alpha composition, and color conversion exist locally. Shared-source cleanup changed the current tree, so final production-path verification is open.
- [~] Loop filtering, CDEF, super-resolution, restoration, film grain, layered presentation, alpha composition, and color conversion exist locally. Shared-source cleanup changed the current tree, so final production-path verification is open.
- [~] AV1 writer primitives, forward transforms, symbol encoding, and tile-writing source exist locally, but they are not connected to the public encoder.
- [~] AV1 writer primitives, forward transforms, symbol encoding, and tile-writing source exist locally, but they are not connected to the public encoder.
- [ ] The public AV1 encoder is not implemented. HeifEncoderCore.Encode throws NotSupportedException when AV1 is selected.
- [ ] The public AV1 encoder is not implemented. HeifEncoderCore.Encode throws NotSupportedException when AV1 is selected.
@ -186,7 +186,7 @@ The single-reference syntax, buffer, reconstruction, and ownership foundation is
- [x] Scaled-reference prediction.
- [x] Scaled-reference prediction.
- [x] Local warped prediction.
- [x] Local warped prediction.
- [x] Non-translational global prediction.
- [x] Non-translational global prediction.
- [~] Inter deblocking decisions and reference/mode deltas. Current item.
- [x] Inter deblocking decisions and reference/mode deltas.
Verified equal-average compound checkpoint evidence on 2026-08-31:
Verified equal-average compound checkpoint evidence on 2026-08-31:
- [x] Reused the already current-main scaled-reference sequence as the real inter checkpoint. It
requires an inter frame with reference/mode-delta processing enabled, nonzero chroma filter levels,
intra, inter, and skipped-inter blocks; compares both decoded native frames exactly; compares final
presentation through ImageSharp's established reference-output API; and passes constrained tracked
allocation with balanced returns.
- [x] Removed an obsolete SVT-AV1 design link from mode-map documentation. Current official libaom
remains the sole external codec implementation source.
- [x] The focused Release checkpoint set passes 6/6 on net10.0 and 6/6 on net11.0, with zero failures
or skips.
- [x] Scoped analyzer verification passes for all four changed C# files. Roslynk reports zero compiler
errors, `git diff --check` passes, and `.gitattributes` is unchanged.
For every item:
For every item:
@ -517,7 +556,7 @@ For every item:
Previously verified algorithm checkpoints remain valuable evidence, but the final decoder gate requires a fresh current-tree run after the inter and cleanup corrections.
Previously verified algorithm checkpoints remain valuable evidence, but the final decoder gate requires a fresh current-tree run after the inter and cleanup corrections.
- [~] Bounded OBU framing, sequence headers, frame headers, tile groups, alignment, and trailing-bit parsing have historical checkpoint evidence against an obsolete pinned tree. Re-audit the current libaom `main` implementation before restoring verified status.
- [~] Bounded OBU framing, sequence headers, frame headers, tile groups, alignment, and trailing-bit parsing have historical checkpoint evidence against an obsolete pinned tree. Re-audit the current libaom `main` implementation before restoring verified status. Current item.
- [~] 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.
- [~] 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] Intra prediction covers directional, DC, smooth, Paeth, chroma-from-luma, filter-intra, and palette families with the established operator architecture.
- [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] Intra-block copy has exact native reconstruction and feature-isolated SIMD evidence.
@ -11,9 +11,6 @@ internal partial class Av1FrameInfo
/// <summary>
/// <summary>
/// Mapping of <see cref="Av1BlockModeInfo"/> instances, from position to index into the <see cref="Av1FrameInfo"/>.
/// Mapping of <see cref="Av1BlockModeInfo"/> instances, from position to index into the <see cref="Av1FrameInfo"/>.
/// </summary>
/// </summary>
/// <remarks>
/// For a visual representation of how this map looks in practice, see <seealso href="https://gitlab.com/AOMediaCodec/SVT-AV1/-/blob/v2.1.0/Docs/svt-av1-decoder-design.md?ref_type=tags#blockmodeinfo"/>
@ -6,12 +6,15 @@ These fixtures provide independent reference output for AV1 reconstruction and A
The source images and original AVIF files come from `libavif/tests/data` at commit `062e582e8afda88e6baf988fdcf046a801efa0f5`. Their licenses are recorded in libavif's `tests/data/README.md` and continue to apply to the derived fixtures. This includes the unrestricted Kodak image, the CC BY 3.0 Cosmos Laundromat frame, and files distributed under libavif's BSD-2-Clause license.
The source images and original AVIF files come from `libavif/tests/data` at commit `062e582e8afda88e6baf988fdcf046a801efa0f5`. Their licenses are recorded in libavif's `tests/data/README.md` and continue to apply to the derived fixtures. This includes the unrestricted Kodak image, the CC BY 3.0 Cosmos Laundromat frame, and files distributed under libavif's BSD-2-Clause license.
Reference files were generated with scalar builds of:
Original fixture-generation records name scalar builds of:
- libavif 1.4.2 from commit `062e582e8afda88e6baf988fdcf046a801efa0f5`, linked to that libaom build.
- libavif 1.4.2 from commit `062e582e8afda88e6baf988fdcf046a801efa0f5`, linked to that libaom build.
The reference builds use `AOM_TARGET_CPU=generic` and disable libyuv. Native reconstruction therefore comes from libaom, and AVIF presentation comes from libavif's own conversion path, without architecture-specific SIMD or ImageSharp code.
Those revisions describe how the retained assets were originally produced; they do not pin the current
verification checkout. Current AV1 algorithm, arithmetic, syntax, and native-output verification uses only
the clean official libaom `main` checkout. Libavif commands record container and presentation provenance
only and are not used as an AV1 implementation reference.
## File conventions
## File conventions
@ -52,6 +55,36 @@ The reference builds use `AOM_TARGET_CPU=generic` and disable libyuv. Native rec
The corresponding tests also assert the syntax required by each family before comparing output. This prevents an inactive tool or an incorrectly substituted stream from passing solely because its final pixels happen to match.
The corresponding tests also assert the syntax required by each family before comparing output. This prevents an inactive tool or an incorrectly substituted stream from passing solely because its final pixels happen to match.
## Baseline deblocking fixtures
On 2026-08-31 current official libaom `main` at observed revision
`441c439b9916474cac15d2822af47a9ad70674a8` decoded the baseline 8-, 10-, and 12-bit
elementary streams using one thread, row threading disabled, raw output, and the corresponding native
The focused production test covers active 8-, 10-, and 12-bit deblocking. A separate current-main
dependent sequence exercises inter, intra, and skipped-inter blocks with reference/mode deltas enabled,
compares native reconstruction exactly, compares final presentation through the established reference-output
API, and repeats under constrained tracked allocation. The direct production filter test independently
distinguishes global and non-global mode-delta classes, LAST and GOLDEN reference deltas, internal transform
edges, and skipped prediction-unit boundaries.
## Official ten-bit sequence fixtures
## Official ten-bit sequence fixtures
The `libaom-av1-1-b10-23-film-grain-50.ivf` and `libaom-av1-1-b10-24-monochrome.ivf` streams are the official files from libaom's test-data bucket. Their SHA-1 values are `2F883C7E11C21A31F79BD9C809541BE90B0C7C4A` and `03A8D002594CCC51932332002BB6F9837EF46D0F`, exactly matching `test/test-data.sha1` at pinned libaom commit `03087864cf4bea6abb0d28f95cf7843511413d8f`. Their SHA-256 values are `C36CF5AB6A2E9E27C212C06863759B60791E3FA681A0800B5D57FD4192EF29CB` and `6A1B0729305A167F10737A5375F0570139F055BCD7916DF260B653AB2210ADC1`.
The `libaom-av1-1-b10-23-film-grain-50.ivf` and `libaom-av1-1-b10-24-monochrome.ivf` streams are the official files from libaom's test-data bucket. Their SHA-1 values are `2F883C7E11C21A31F79BD9C809541BE90B0C7C4A` and `03A8D002594CCC51932332002BB6F9837EF46D0F`, exactly matching `test/test-data.sha1` at pinned libaom commit `03087864cf4bea6abb0d28f95cf7843511413d8f`. Their SHA-256 values are `C36CF5AB6A2E9E27C212C06863759B60791E3FA681A0800B5D57FD4192EF29CB` and `6A1B0729305A167F10737A5375F0570139F055BCD7916DF260B653AB2210ADC1`.