Skip to main content

Module extras

Module extras 

Source
Expand description

Backend-specific *Extra carriers used as the mediadecode::*Adapter::*Extra associated types.

Fields are private; values are read through getters and set through with_* (consuming builders) / set_* (in-place mutators) — the crate-wide encapsulation convention. const fn is used wherever the field type permits (i.e. anything but Vec).

§The extras obey the amputation contract too

SideDataEntry carries its payload as an FfmpegBytes, not a Vec<u8>. Those bytes ride on packets and frames that a graph fans out, and the D-seat contract says a clone of a message is a refcount bump — a Vec in the extras would have made a frame’s payload cheap to clone and its metadata expensive, which is the kind of asymmetry nobody remembers while profiling. smpte_timecode stays a Vec<u32> on VideoFrameExtra: those are parsed values, a handful of words, not bytes crossing a boundary.

Structs§

AttachmentPacketExtra
Per-AttachmentPacket extras — fonts, cover art.
AudioFrameExtra
Per-AudioFrame extras.
AudioPacketExtra
Per-AudioPacket extras.
ContentLightLevel
HDR10 content light level (AV_FRAME_DATA_CONTENT_LIGHT_LEVEL).
DataPacketExtra
Per-DataPacket extras — timecode, KLV, timed ID3.
ImageFrameExtra
Per-ImageFrame extras — cover art, an embedded thumbnail, a poster frame.
MasteringDisplay
HDR10 mastering display metadata.
ParameterFootprint
The heap bytes an AVCodecParameters holds — measured, never allocated.
SideDataEntry
Raw side-data entry carrying the FFmpeg type id and the unparsed byte buffer. Type ids correspond to FFmpeg’s AV_FRAME_DATA_* / AV_PKT_DATA_* constants — see libavutil/frame.h and libavcodec/packet.h.
SubtitleFrameExtra
Per-SubtitleFrame extras.
SubtitlePacketExtra
Per-SubtitlePacket extras.
TrackExtra
Per-TrackInfo extras — the FFmpeg side of one track-table row.
VideoFrameExtra
Per-VideoFrame extras carrying everything the unified mediadecode::ColorInfo doesn’t already cover.
VideoPacketExtra
Per-VideoPacket extras.

Enums§

ImageOrientation
Where the first stored row and column of a still belong on screen — the eight orientations EXIF names, tags 1 through 8.
PictureType
Picture type per AVFrame.pict_type.