PrismCore / API reference / Probing and input

Structure

AVCConfigurationRecord

struct AVCConfigurationRecord

Declared in Sources/PrismCore/Probe/SourceProbe.swift · PrismCore 3.5.4

The three avcC bytes an H.264 CODECS string is made of.

The HEVC story above needs the whole profile_tier_level; H.264 needs exactly AVCProfileIndication, profile_compatibility and AVCLevelIndication, which is what avc1.PPCCLL prints. Read from the record rather than from AVCodecParameters.profile/.level for the same reason: the compatibility byte (constraint_set flags) exists nowhere else, and AVPlayer checks the declaration against the init segment's own avcC.

Initializers

init(profileIDC: UInt8, profileCompatibility: UInt8, levelIDC: UInt8)

No documentation comment in the source.

Instance properties

let profileIDC: UInt8

AVCProfileIndication: 66 = Baseline, 77 = Main, 100 = High.

let profileCompatibility: UInt8

profile_compatibility, the constraint_set flags byte.

let levelIDC: UInt8

AVCLevelIndication = level × 10 (L4.0 = 40, L5.1 = 51).

Type methods

static func parse(avcC data: Data) -> AVCConfigurationRecord?

Parses an ISO 14496-15 AVCDecoderConfigurationRecord (the avcC box payload, which is what libavformat hands us as H.264 extradata for MP4- and Matroska-sourced streams).

nil for Annex-B extradata (MPEG-TS), exactly like the hvcC parse: without a record there is no honest CODECS string, and the caller routes media-direct instead of guessing one.

Generated from the public symbols of PrismCore 3.5.4. All types