PrismCore / API reference / Probing and input
Structure
HDR10PlusFinding
struct HDR10PlusFindingDeclared in Sources/PrismCore/Probe/HDR10PlusScout.swift · PrismCore 3.5.4
What the bitstream said about HDR10+ (SMPTE ST 2094-40 dynamic metadata) on the video track — the counterpart of ObjectAudioFinding for the other premium format that no container declares.
Why a bitstream read, and why three answers
Nothing a container or AVCodecParameters carries says "HDR10+": the metadata rides per picture, inside the HEVC (or H.264) elementary stream, as an SEI user_data_registered_itu_t_t35 message whose T.35 header is Samsung's. A stream-copy carries those SEI units through untouched, so the metadata already reaches AVPlayer; what was missing was knowing, so a host can badge a title or log what it played.
The only way to know is to look at packets, and looking is bounded. So the answer is deliberately ternary — seen, notSeenWithinBudget, unknown — and never "absent": a scan that read its budget and found nothing has learned exactly that, and a source whose encoder only writes the message at scene changes further in would say the same thing.
Initializers
init(streamIndex: Int, verdict: Verdict, applicationVersion: Int?, videoPacketsScanned: Int, videoPacketBudget: Int)No documentation comment in the source.
Instance properties
let streamIndex: IntThe source stream this describes — the video track SourceInfo.video reports.
let applicationVersion: Int?application_version of the first message seen (0 or 1 — the two versions ST 2094-40's T.35 carriage defines). nil unless seen.
let videoPacketsScanned: IntVideo packets actually walked. On seen this is the packet the message was found in (1 = the first).
let videoPacketBudget: IntThe budget the scan was given, so a host can tell "read 24 of 24" from "read 3 and the stream ended".
Enumeration
HDR10PlusFinding.UnknownReason
enum UnknownReasonNo documentation comment in the source.
Cases
case codecNotScannedThe codec is not one whose SEI this scout walks (AV1 carries ST 2094-40 in a metadata OBU, VP9 only in container side data).
case unseekableInputThe input cannot seek. The scan consumes packets, and an adopting producer that cannot rewind would lose the head of the stream to it — a worse trade than a badge.
case readFailedA read failed (or the probe budget interrupted it) before the scan had spent its budget, so its silence means nothing.
case noVideoPacketsNo video packet arrived within the scan's overall packet cap.
Enumeration
HDR10PlusFinding.Verdict
enum VerdictNo documentation comment in the source.
Cases
case notSeenWithinBudgetThe scan read its budget (or the whole stream, if shorter) and found no ST 2094-40 message. Not proof of absence.
Generated from the public symbols of PrismCore 3.5.4. All types