Expand description
Core types and registries for the oxideav framework.
This crate is the dependency-light foundation: primitive types
(timestamps, packets, frames, media formats) plus the registries
every sibling crate registers itself into. The aggregate
RuntimeContext bundles all four registries (codec / container /
source / filter) into a single value that consumers pass around.
§Resolution order
Every registry lookup that can have several candidates ranks them by one rule, so the winner depends only on the registered claims and the input — never on hash-map iteration order:
- evidence, descending — probe score
(
ContainerRegistry::probe_input), probe confidence (CodecRegistry::resolve_tag_ref; unprobed claims count as1.0), or matched prefix length (CodecRegistry::resolve_payload_magic_ref); - resolution priority, ascending — lower is preferred, default
DEFAULT_PRIORITY; set withContainerRegistry::register_probe_with_priority,ContainerRegistry::register_extension_with_priorityorCodecInfo::with_resolution_priority; - registration order — earlier wins (extension hints keep their historical most-recent-wins contract at equal priority).
The ranked lists are observable via
ContainerRegistry::probe_candidates,
ContainerRegistry::extension_candidates,
CodecRegistry::resolve_tag_candidates and
CodecRegistry::resolve_payload_magic_candidates.
Re-exports§
pub use capabilities::CodecCapabilities;pub use capabilities::DEFAULT_PRIORITY;pub use engine::EngineProbeFn;pub use engine::HwCodecCaps;pub use engine::HwDeviceInfo;pub use error::Error;pub use error::Result;pub use execution::ExecutionContext;pub use filter::FilterContext;pub use filter::PortParams;pub use filter::PortSpec;pub use filter::StreamFilter;pub use format::ChannelLayout;pub use format::ChannelPosition;pub use format::MediaType;pub use format::ParseChannelLayoutError;pub use format::PixelFormat;pub use format::SampleFormat;pub use frame::AudioFrame;pub use frame::Frame;pub use frame::VideoFrame;pub use frame::VideoPlane;pub use layer::LayerIdentity;pub use layer::LayerInfo;pub use limits::DecoderLimits;pub use metadata::Attachment;pub use metadata::Chapter;pub use options::parse_options;pub use options::CodecOptions;pub use options::CodecOptionsStruct;pub use options::OptionField;pub use options::OptionKind;pub use options::OptionValue;pub use packet::Packet;pub use picture::AttachedPicture;pub use picture::PictureType;pub use rational::Rational;pub use registry::BytesSource;pub use registry::CodecImplementation;pub use registry::CodecInfo;pub use registry::CodecRegistry;pub use registry::ContainerProbeFn;pub use registry::ContainerRegistry;pub use registry::Decoder;pub use registry::DecoderFactory;pub use registry::Demuxer;pub use registry::Encoder;pub use registry::EncoderFactory;pub use registry::ExtensionCandidate;pub use registry::FilterFactory;pub use registry::FilterRegistry;pub use registry::FrameSource;pub use registry::MultiTitleSource;pub use registry::Muxer;pub use registry::OpenBytesFn;pub use registry::OpenDemuxerFn;pub use registry::OpenFramesFn;pub use registry::OpenMultiTitleFn;pub use registry::OpenMuxerFn;pub use registry::OpenPacketsFn;pub use registry::PacketSource;pub use registry::PayloadMagicCandidate;pub use registry::ProbeCandidate;pub use registry::ProbeData;pub use registry::ProbeScore;pub use registry::ReadSeek;pub use registry::RuntimeContext;pub use registry::SourceOutput;pub use registry::SourceRegistry;pub use registry::TagCandidate;pub use registry::WriteSeek;pub use registry::MAX_PROBE_SCORE;pub use registry::PROBE_SCORE_EXTENSION;pub use signal::ColorPrimaries;pub use signal::ColorRange;pub use signal::ColorSignal;pub use signal::MatrixCoefficients;pub use signal::TransferCharacteristics;pub use stream::CodecId;pub use stream::CodecParameters;pub use stream::CodecResolver;pub use stream::CodecTag;pub use stream::Confidence;pub use stream::NullCodecResolver;pub use stream::ProbeContext;pub use stream::ProbeFn;pub use stream::StreamInfo;pub use subtitle::CuePosition;pub use subtitle::Segment;pub use subtitle::SubtitleCue;pub use subtitle::SubtitleStyle;pub use subtitle::TextAlign;pub use time::rescale;pub use time::rescale_checked;pub use time::rescale_rnd;pub use time::Rounding;pub use time::TimeBase;pub use time::Timestamp;pub use vector::DashPattern;pub use vector::FillRule;pub use vector::GradientStop;pub use vector::Group;pub use vector::ImageRef;pub use vector::LineCap;pub use vector::LineJoin;pub use vector::LinearGradient;pub use vector::MaskKind;pub use vector::Node;pub use vector::Paint;pub use vector::Path;pub use vector::PathCommand;pub use vector::PathNode;pub use vector::Point;pub use vector::RadialGradient;pub use vector::Rect;pub use vector::Rgba;pub use vector::SpreadMethod;pub use vector::Stroke;pub use vector::Transform2D;pub use vector::VectorFrame;pub use vector::ViewBox;
Modules§
- arena
- Refcounted arena pool for decoder frame allocations.
- bits
- Shared bit-level I/O — MSB-first and LSB-first readers and writers.
- capabilities
- Codec capability description.
- engine
- Per-codec hardware engine probing.
- error
- Shared error type for oxideav.
- execution
- Runtime hints passed from the executor to codecs and filters.
- filter
- Multi-stream filter model.
- format
- Media-type and sample/pixel format enumerations.
- frame
- Uncompressed audio and video frames.
- layer
- Layer / view identity for multi-layer and multi-view video.
- limits
- Decoder DoS-protection limits.
- metadata
- Structured container metadata.
- options
- Generic, schema-validated option bag for codec (and container) init.
- packet
- Compressed-data packet passed between demuxer → decoder and encoder → muxer.
- picture
- Attached picture metadata (cover art, artist photos, etc.).
- rational
- Rational number used for time bases and frame rates.
- registry
- Framework registries.
- signal
- Video colour-signal description: sample range plus the three coding-independent colour code points (colour primaries, transfer characteristics, matrix coefficients) of Rec. ITU-T H.273 | ISO/IEC 23091-2.
- stream
- Stream metadata shared between containers and codecs.
- subtitle
- Unified subtitle cue representation.
- time
- Time base and timestamp types.
- vector
- Vector graphics frame and primitive types.
Macros§
- register
- Declare the canonical sibling entry point.