Skip to content

0.0.4

Choose a tag to compare

@DRX-Lab DRX-Lab released this 03 Jan 07:19
· 8 commits to main since this release
19a810b

HDR Vivid (CUVA) Plot – Release Notes

Added

  • Implemented direct decoding of CUVA HDR Vivid bitstream fields from T.35 payloads stored in BIN files, extracting 12-bit minimum, average, variance, and maximum luminance values.

  • Added PQ (ST 2084) domain plotting for luminance visualization, providing perceptually accurate brightness representation consistent with HDR Vivid signaling.

  • Introduced a custom PQ-scaled Y axis with fixed luminance key points ranging from 0.01 to 10,000 nits, labeled in absolute nits.

  • Added area-based luminance visualization:

    • Maximum luminance curve (MaxCLL-like behavior) with semi-transparent fill.
    • Average luminance curve (MaxFALL-like behavior) layered above.
  • Implemented a high-resolution plot layout (3000×1200) with tuned margins, typography, and grid density for long-form content analysis.

  • Added a top-left informational overlay displaying:

    • BIN filename
    • Total number of entries
    • Missing entry count
    • Invalid HDR Vivid payload count
    • Luminance scaling reference (4095 → 1000 nits)
  • Added graceful handling of missing or empty BIN entries, inserting a safe luminance floor to preserve plot continuity.

Changed / Improved

  • Reworked plot generation to use decoded HDR Vivid metadata values instead of raw payload byte statistics, ensuring semantic correctness.
  • Replaced logarithmic nits scaling with true PQ-domain mapping, aligning the plot with professional HDR Vivid analysis expectations.
  • Improved legend content to report computed peak and average luminance statistics derived only from valid entries.
  • Enhanced grid styling (major and minor lines) and axis labeling for improved readability on dense timelines.
  • Standardized plot appearance to provide a clean, consistent HDR Vivid–focused visualization, independent of any external metadata formats.

Fixed

  • Fixed incorrect luminance interpretation caused by using raw payload byte maxima instead of decoded 12-bit HDR Vivid fields.
  • Fixed instability in low-luminance regions by introducing a minimum PQ floor, preventing zero or negative values in the plot.
  • Prevented crashes and misleading graphs when BIN files contain empty, truncated, or malformed HDR Vivid payloads.
  • Ensured invalid CUVA payloads (incorrect country code, provider code, or system start code) are excluded from statistics and explicitly reported in the plot overlay.