pub struct CodecImplementation {
pub caps: CodecCapabilities,
pub make_decoder: Option<DecoderFactory>,
pub make_encoder: Option<EncoderFactory>,
pub encoder_options_schema: Option<&'static [OptionField]>,
pub decoder_options_schema: Option<&'static [OptionField]>,
pub engine_id: Option<&'static str>,
pub engine_probe: Option<EngineProbeFn>,
}Expand description
Internal per-impl record held inside the registry’s id map. Kept
distinct from CodecInfo so the id map stays cheap to walk
during make_decoder / make_encoder lookups.
Fields§
§caps: CodecCapabilitiesCapability description copied from the originating CodecInfo.
make_decoder: Option<DecoderFactory>Decoder factory, if this implementation can decode.
make_encoder: Option<EncoderFactory>Encoder factory, if this implementation can encode.
encoder_options_schema: Option<&'static [OptionField]>Encoder options schema declared via
CodecInfo::encoder_options. None means the encoder accepts
no tuning knobs (any non-empty CodecParameters::options will
still be rejected by the factory if the encoder calls
parse_options — this is purely informational for discovery).
decoder_options_schema: Option<&'static [OptionField]>Decoder options schema declared via
CodecInfo::decoder_options; same semantics as the encoder
schema above.
engine_id: Option<&'static str>HW backend identifier copied verbatim from the originating
CodecInfo::engine_id. Some("nvidia"/"vaapi"/...) on HW
backends; None on SW codecs. Consumers (CLI info command,
pipeline dispatcher, bench loop) read this to group entries by
backend without grepping caps.implementation.
engine_probe: Option<EngineProbeFn>Engine probe function copied verbatim from the originating
CodecInfo::engine_probe. Some(fn) on HW backends with a
probe wired; None on SW codecs. Consumers call it on demand
to enumerate per-device info (crate::engine::HwDeviceInfo).
Trait Implementations§
Source§impl Clone for CodecImplementation
impl Clone for CodecImplementation
Source§fn clone(&self) -> CodecImplementation
fn clone(&self) -> CodecImplementation
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more