Skip to content

hdrprobe v0.6.0

Choose a tag to compare

@github-actions github-actions released this 13 Jul 03:18
· 114 commits to main since this release
v0.6.0
0c69bed

New

  • Blu-ray ISO support. A decrypted Blu-ray disc image (.iso) is now probed directly: hdrprobe walks the UDF filesystem, parses every playlist under BDMV/PLAYLIST, selects the main feature automatically (duplicate and looped decoy segments are collapsed before durations are compared, so playlist obfuscation cannot outrank the feature), and runs the ordinary TS/M2TS pipeline over the selected playlist's largest clip. The report describes that clip exactly as if the mounted stream file had been probed, and a new Main feature line names the selected playlist and clip. AACS-encrypted images are detected and rejected with a clear error; hdrprobe never decrypts. Both plain UDF and UDF 2.50 Metadata Partition layouts are supported.
  • Dolby Vision level for authentic disc content. Genuine BDMV clips carry no DV level declaration (UHD Blu-ray signals Dolby Vision via the playlist rather than the transport stream, and the RPU does not carry the level either), so they previously reported no level at all while remuxes of the same content did. When no container config declares one, the level is now derived from the coded stream's resolution and frame rate against the Dolby level table, and flagged in JSON via level_derived so consumers can distinguish declared from computed. A declared level always wins, and the derivation is a pixel-rate floor: the level's bitrate/tier axis is not probed. Applies uniformly to descriptor-less TS/M2TS, Blu-ray ISO clips, and raw HEVC/AV1 elementary streams with in-band timing.
  • Shell integration confirmations match the report. --install-shell and --uninstall-shell now confirm in the report's own styling (masthead, section rule, themed aligned rows) on colored terminals, following the same --color policy and terminal-width probe as reports; piped output stays plain.

Fixed

  • Merged dual-track groups now report their real layer presence. A dual-track Dolby Vision mux carries its configuration record on the enhancement-layer sub-stream, whose bl_present: 0 truthfully describes that stream's own carriage but not the merged BL+EL logical track, so the JSON report claimed the base layer was absent on content that plainly has one. Layer presence is now translated into logical-track facts at report assembly: a merged dual-track group reports both layers present, while a genuinely EL-only input keeps its declared absence. The unconverted-RPU verdict now gates on the derived enhancement-layer presence, so it can no longer misfire inside a dual-track group.

Schema

  • 2.1 to 2.2 (additive). "Blu-ray ISO (BDMV)" joins the container set, and the new optional bd_iso object on the report records which BDMV playlist and clip were auto-selected as the main feature. dolby_vision.level may now be derived from stream properties when no container config declares one, flagged by the new level_derived boolean (serialized only when true; a declared level stays unflagged). The bl_present/el_present descriptions were clarified to logical-track semantics; no field changed shape, type, unit, or presence, so consumers following the docs/SCHEMA.md conventions are unaffected.