Skip to content

ADR-0427: Materialise CHUG HDR Features With Reference-Aligned Pairs

  • Status: Accepted
  • Date: 2026-05-14
  • Deciders: Lusoris maintainers
  • Tags: ai, hdr, corpus, mos

Context

ADR-0426 adds CHUG ingestion as local MOS-corpus rows, but those rows alone are not enough for the existing MOS-head trainer: the trainer uses canonical libvmaf features when present and otherwise fills the feature vector with zeros. CHUG is a bitrate ladder with one reference row and six distorted rows per chug_content_name, so it can provide real full-reference HDR feature evidence once local clips are paired.

The non-trivial decision is spatial alignment. CHUG distorted ladder rows are 360p, 720p, and 1080p, while the matching reference row is the reference-resolution clip. The raw-YUV libvmaf CLI path expects equal reference/distorted geometry, so the materialiser must choose an alignment policy before feature extraction.

Decision

We will materialise CHUG feature rows with a local-only script that pairs each distorted row with the matching chug_content_name reference row, decodes both sides to 10-bit 4:2:0 YUV, scales the distorted side to the reference geometry, runs libvmaf feature extraction, and writes clip-level mean/p10/p90/std feature rows under .workingdir2/chug/.

Alternatives considered

Option Pros Cons Why not chosen
Treat CHUG as no-reference MOS only Simple; no reference pairing or scaling policy Leaves MOS training on missing-feature zeros; does not unlock HDR feature learning Rejected because CHUG contains explicit reference rows and the fork already has FR feature extractors
Downscale the reference to each distorted resolution Avoids upscaling distorted pixels Changes the reference signal per ladder rung and makes high-quality rungs less comparable to the source HDR master Rejected because the source reference should stay the anchor geometry
Scale distorted rows to reference geometry Preserves one reference anchor per content and matches streaming-display comparison practice Adds an ffmpeg scale step before libvmaf and costs more local compute Chosen because it yields comparable FR rows across ladder rungs

Consequences

  • Positive: CHUG can feed MOS-head training with real canonical/full feature values instead of default zeros.
  • Positive: Feature rows stay local-only, preserving the ADR-0426 license posture for CHUG media, MOS labels, and derived features.
  • Negative: Full materialisation is a local hardware job; decoding, scaling, and libvmaf feature extraction over 5,136 distorted rows is intentionally outside CI.
  • Neutral / follow-ups: Future HDR-specific production claims still require either a fork-owned HDR model or Netflix's released HDR model; this decision only unlocks subjective HDR feature rows.

References

  • ADR-0426
  • Research-0101
  • Source: req — "yeah well download, prep and train lol... thats a local hardware background job..."
  • Source: req — "and then lets unlock fucking hdr baby"