Skip to content

Releases

0.0.5

Choose a tag to compare

@DRX-Lab DRX-Lab released this 07 Jan 16:52
319f925

Added

  • Added a Windows executable (.exe) build as a release artifact for easier distribution and execution without a Python environment.

  • Added true streaming I/O for extract and inject, enabling immediate output creation:

    • extract: BIN output is written progressively while reading the input HEVC stream.
    • inject: HEVC output is written progressively while rewriting the input stream.

Changed / Improved

  • Reworked extract and inject to avoid full-file buffering and eliminate in-memory accumulation, resulting in significantly faster processing and constant memory usage on large streams.
  • Improved HDR Vivid plot generation to be more accurate and semantically correct, ensuring the visualization reflects decoded HDR Vivid metadata values rather than indirect or approximate derivations.

Fixed

  • Prevented performance and stability issues on large inputs by removing workflows that previously required storing the full stream (or large intermediate structures) in memory during extract / inject.

0.0.4

Choose a tag to compare

@DRX-Lab DRX-Lab released this 03 Jan 07:19
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.

0.0.3

Choose a tag to compare

@DRX-Lab DRX-Lab released this 02 Jan 18:44
a5debdc

Added

  • Implemented a minimal internal bitreader to inspect HEVC slice headers at bit level.
  • Added best-effort detection of first_slice_segment_in_pic_flag for HEVC VCL NAL units, enabling Access Unit (AU) boundary inference when AUD is missing.
  • Introduced fallback AU mapping logic based on slice header inspection for streams without AUD (NAL type 35).
  • Improved AU association for parameter sets and SEI NALs occurring before the first VCL, assigning them to a practical default AU.
  • Added bilingual (ES/EN) error messages in several critical validation paths for better usability across environments.

Changed / Improved

  • Refactored compute_au_map() to support dual AU detection strategies:

    • Primary: explicit AUD (NAL type 35).
    • Fallback: HEVC slice header analysis when AUD is absent.
  • Enhanced robustness of Access Unit mapping to better handle non-standard or poorly muxed HEVC streams.

  • Improved error handling and messaging consistency across commands (info, extract, remove, inject).

  • Clarified failure conditions when AUD is required but not present, using explicit and descriptive error messages.

  • Improved internal structure and readability of AU mapping logic, preparing the codebase for future HEVC-related extensions.

Fixed

  • Corrected AU mapping behavior when VCL NALs appear before any AUD or when AUDs are partially missing.
  • Fixed handling of empty or invalid BIN files with clear termination and user-facing error messages.
  • Prevented silent failures in matplotlib import by providing explicit diagnostic output.
  • Ensured consistent validation of HDR Vivid payloads during BIN injection to prevent invalid cc/pc data from being processed.

0.0.2

Choose a tag to compare

@DRX-Lab DRX-Lab released this 20 Aug 22:50
e9af8a4

Added

  • Real-time progress display for extraction and injection of HDR Vivid SEI data, showing percentage, elapsed time, and estimated remaining time.
  • Unified helper functions for reading files, generating SEI NAL units, and locating NAL start codes, improving maintainability.
  • Consistent colored console output for [INFO], [OK], [WARN], and [ERROR] messages.
  • Display of filenames (not full paths) in logs for clearer and more organized output.

Changed / Improved

  • Full refactoring of extraction and injection routines to integrate progress tracking and cleaner structure.
  • Injection now calculates the correct insertion point for SEI NAL units with visual progress indication.
  • Extraction accumulates HDR Vivid data progressively with visual progress and writes to a .bin file.
  • Simplified and more readable codebase with reusable functions for future development.

Fixed

  • Correct handling of input/output file validation with informative error messages.
  • Prevention of direct jumps to 100% in progress; progress now reflects actual processing status.