Skip to content

docs: deband wide-band reach — rejected on measurement (ADR-0141, bench v0.16) - #41

Merged
lusoris merged 2 commits into
masterfrom
docs/deband-wide-band-reach-rejected
Jun 27, 2026
Merged

docs: deband wide-band reach — rejected on measurement (ADR-0141, bench v0.16)#41
lusoris merged 2 commits into
masterfrom
docs/deband-wide-band-reach-rejected

Conversation

@lusoris

@lusoris lusoris commented Jun 27, 2026

Copy link
Copy Markdown
Contributor

What

Completes the durability gate that bench v0.15 (#40) explicitly deferred — with a negative. The deband wide-band reach (multi-radius / extended range) was designed by a 5-agent judge panel, built behind an opt-in reach AVOption (default 0, byte-identical), validated, and reverted. Docs-only; no code, ABI, or surface change.

The result (CAMBI via the v0.15-unblocked tooling)

Pre-encode, the gain is real (as v0.15 said): pure larger range drops CAMBI monotonically (4.30 → 4.01 → 3.80 → 3.62 → 3.55 at range 31/48/62/96/127), with detail-clip SSIM flat at ~0.998 across the sweep — detail-safe, and it dominates the built dilated-multi-ring (erratic: 4.30/4.30/4.39/3.70 at reach 0/1/2/3, because the straddling mean dilutes the spanning far-taps). reach=0 is byte-identical to master.

Post-encode, it inverts — at every bitrate. Coarse-banded source (CAMBI 7.84) → deband → hevc_nvenc -profile main10 -pix_fmt p010 → decode → re-score (10-bit, dither off):

range pre-encode post cq28 post cq18 post cq10
baseline 7.84 5.64 6.57
31 2.30 5.00 5.08 4.98
62 5.20
127 0.75 5.37 5.49 5.47

Wider range is far better pre-encode (range=127 → 0.75) but monotonically worse post-encode, holding even near-lossless (cq10: 5.47 vs 4.98).

Why it loses

The encoder's quantization is the dominant banding source. A narrow deband preserves the staircase shape the encoder re-quantizes into similar narrow steps; a wide deband flattens it into a gentle ramp the encoder quantizes coarsely, producing wider bands. Smoother pre-encode input → wider post-encode bands — you cannot pre-smooth your way out of the encoder's re-banding. Deband at the existing range does help durably (5.64 → 5.00); reaching past it is a pure loss. Sharpens the v0.1.0 lesson.

Verdict

Rejected (ADR-0141). range stays capped at 31; no reach option; code reverted. The design-panel → build → adversarial-durability pipeline did its job — it caught a pre-encode false win before it shipped. Revival only on a measured post-encode BD-rate win on real 10-bit banding content (the corpus gap), which the mechanism predicts against.

Deliverables

ADR-0141 (Rejected) + README index, bench v0.16 + a v0.15 correction note, changelog fragment. Sibling "rejected on measurement" decisions: ADR-0135 (perceptual-AQ), ADR-0132 (per-shot CRF).

🤖 Generated with Claude Code

lusoris and others added 2 commits June 27, 2026 19:06
…ch v0.16)

Completes the durability gate that bench v0.15 explicitly deferred, with a
negative result. The wide-band reach (multi-radius / extended deband range)
was designed by a 5-agent judge panel, built behind an opt-in 'reach' AVOption
(default 0, byte-identical), validated, and reverted.

Findings (CAMBI via the v0.15-unblocked tooling: vmaf --backend cpu --feature
cambi, reading the JSON it flushes before its teardown sleep):

- The built dilated multi-ring is erratic even pre-encode (the straddling mean
  dilutes the spanning far-taps): CAMBI 4.30/4.30/4.39/3.70 at reach 0/1/2/3.
- Pure larger range is clean pre-encode (4.30 -> 3.55 at range 31..127, detail
  SSIM flat ~0.998) and dominates the multi-ring.
- The durability gate is the killer: post-hevc_nvenc (10-bit, cq10/18/28),
  wider range is MONOTONICALLY WORSE (range=31 ~5.0 best, range=127 ~5.4). The
  pre-encode gain inverts post-encode at every bitrate, because the encoder
  re-bands the over-smoothed gentle ramp into wider bands.

Deband at the existing range does help durably (baseline 5.64 -> range=31 5.00);
reaching past it is a pure loss. range stays capped at 31; no reach option; code
reverted. Sharpens the v0.1.0 lesson: a pre-encode metric gain is not a result
until validated post-encode.

Docs-only: ADR-0141 (Rejected) + README index, bench v0.16 + a v0.15 correction
note, changelog fragment. No code, ABI, or surface change.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@lusoris
lusoris merged commit 8c93088 into master Jun 27, 2026
3 checks passed
@lusoris
lusoris deleted the docs/deband-wide-band-reach-rejected branch June 27, 2026 17:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant