PrismCore / API reference / Probing and input

Structure

HDR10PlusFinding

struct HDR10PlusFinding

Declared 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: Int

The source stream this describes — the video track SourceInfo.video reports.

let verdict: Verdict

No documentation comment in the source.

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: Int

Video packets actually walked. On seen this is the packet the message was found in (1 = the first).

let videoPacketBudget: Int

The budget the scan was given, so a host can tell "read 24 of 24" from "read 3 and the stream ended".

var isSeen: Bool { get }

Whether the bitstream carries HDR10+ metadata, as far as this scan saw.

Enumeration

HDR10PlusFinding.UnknownReason

enum UnknownReason

No documentation comment in the source.

Cases

case codecNotScanned

The 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 unseekableInput

The 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 readFailed

A read failed (or the probe budget interrupted it) before the scan had spent its budget, so its silence means nothing.

case noVideoPackets

No video packet arrived within the scan's overall packet cap.

Enumeration

HDR10PlusFinding.Verdict

enum Verdict

No documentation comment in the source.

Cases

case seen

An ST 2094-40 message was read out of a video packet.

case notSeenWithinBudget

The scan read its budget (or the whole stream, if shorter) and found no ST 2094-40 message. Not proof of absence.

case unknown(UnknownReason)

The scan could not ask the question; see the reason.

Generated from the public symbols of PrismCore 3.5.4. All types