Browse Source

Record HEVC loop-filter verification

pull/2633/head
James Jackson-South 4 days ago
parent
commit
11d281bd13
  1. 12
      HEIF_IMPLEMENTATION_PLAN.md

12
HEIF_IMPLEMENTATION_PLAN.md

@ -697,14 +697,18 @@ Implement and verify in dependency order:
- [x] Derive effective luma and chroma quantization parameters, including bit-depth offsets and chroma-format mapping, then connect scaling-list selection and inverse quantization to transform-unit traversal.
- [x] Implement the immutable effective-QP value used by reconstruction, including independent luma/chroma bit-depth offsets, the normative 4:2:0 mapping plateaus, the 4:2:2/4:4:4 saturation rule, and combined picture/slice/coding-unit chroma offsets.
- [x] Select each transform unit's coding-unit luma QP and chroma-adjustment-list entry, then pass the derived component QP into inverse quantization.
- [ ] **Current:** implement transform skip, coefficient rotation, implicit and explicit residual DPCM, transquant bypass, and lossless reconstruction.
- [ ] Implement transform skip, coefficient rotation, implicit and explicit residual DPCM, transquant bypass, and lossless reconstruction.
- [x] Implement allocation-free SIMD-first transform-skip normalization, complete-block coefficient rotation, transquant-bypass copying, implicit intra-direction selection, and horizontal/vertical inverse residual DPCM with a scalar fallback and signed residual clipping.
- [ ] Decode explicit inter residual-DPCM modes and connect bypass, transform skip, residual DPCM, prediction addition, and lossless reconstruction through transform-unit traversal.
- [ ] Decode explicit inter residual-DPCM modes when Phase 5 supplies the owning dependent-picture HEVC inter-prediction path; this syntax cannot occur in the independently coded Phase 4 pictures.
- [x] Connect coefficient decoding, inverse quantization, transform selection, reusable scratch, and add/clip to transform-unit traversal.
- [x] Implement grouped diagonal/horizontal/vertical scans, last-significant and significance context derivation, coefficient levels and signs, sign-data hiding, Range Extensions bypass alignment, four persistent Rice states, and one pooled scratch owner with no per-transform allocation or `stackalloc`.
- [x] Invoke coefficient decoding and the existing reconstruction kernels from transform-unit traversal, then verify complete transform blocks from official independently decoded HEVC fixtures.
- [ ] Deblocking and sample-adaptive offset for every signaled luma/chroma and bit-depth path.
- [ ] Tiles, wavefront entry points, dependent slices, and all other parallelization syntax permitted by the exposed still-image profiles.
- [x] Deblocking and sample-adaptive offset for every signaled luma/chroma and bit-depth path.
- [x] Verify the production still-picture path against the official `DBLK_A_SONY_3`, `DBLK_A_MAIN10_VIXS_4`, `SAO_A_MediaTek_4`, and `SAO_A_RExt_MediaTek_1` streams. Pinned HIGH_BITDEPTH HM at commit `9c1f298659ab0cee9dc13d23d0304221575410b9` reproduces every archive's published complete-output MD5, and ImageSharp matches the retained first picture's native planes exactly across 8-bit 4:2:0, 10-bit 4:2:0, and 12-bit 4:4:4.
- [x] Explicitly verify active deblocking and sample-adaptive-offset signaling in the existing ten-picture official GENERAL matrix while retaining its exact published native-plane comparisons across 8/10/12-bit monochrome, 4:2:0, 4:2:2, and 4:4:4.
- [x] Verify the same four pictures through `FeatureTestRunner` with normal dispatch, AVX-512 disabled, AVX disabled, and all hardware intrinsics disabled. The official SAO picture also matches all three native planes through 2 KiB allocator groups with balanced exactly-once disposal.
- [x] Keep the SAO traversal on the JPEG color-converter architecture: one nested classifier contract in `HevcSampleAdaptiveOffsetFilter.Operator.cs`, separate nested semantic `readonly struct` band and edge operators, descending `Vector512`/`Vector256`/`Vector128` dispatch, and one scalar tail. Commits `702739916b2a440ad2dc9bae8b680ca7fcc636c4` and `1c7292759` record the implementation, official fixtures, exact provenance, dedicated filter tests, and explicit full-profile signaling assertions. Both Release source targets build with zero warnings and errors, Roslynk reports zero compiler errors, all 175 focused HEVC cases pass without failures or skips, documentation review is complete, and `git diff --check` is clean.
- [ ] **Current:** tiles, wavefront entry points, dependent slices, and all other parallelization syntax permitted by the exposed still-image profiles.
- [ ] Supplemental enhancement information that changes image presentation or metadata exposed by ImageSharp.
- [x] Establish exact HM 18 native-plane conformance for four real 8-bit item payloads covering 4:2:0, 4:4:4, cropping, multiple grid positions, and wavefront entry points.
- [x] Establish exact independent presentation verification for single images, grids, auxiliary alpha, ICC, 4:2:0, and 4:4:4 output without weakening the exact native-plane codec oracle.

Loading…
Cancel
Save