pub struct NativeVideoEncoderProbe {Show 14 fields
pub codec: NativeVideoCodec,
pub encoder_name: String,
pub class: NativeEncoderClass,
pub hardware_accelerated: bool,
pub capability_bits: u32,
pub pixel_formats: Vec<String>,
pub hardware_configs: Vec<NativeEncoderHardwareConfig>,
pub accepts_yuv420p: bool,
pub requires_hardware_frames: bool,
pub advertised: bool,
pub minimum_size: (u32, u32),
pub software_open_error: Option<String>,
pub software_packets: u32,
pub rate_control: Vec<NativeRateControlProbe>,
}Expand description
What one registered video encoder declares, and what happened when alpha2 opened it.
Shows registration, advertisement and instantiation side by side, per platform.
Fields§
§codec: NativeVideoCodecLogical codec this encoder implements.
encoder_name: StringFFmpeg short name.
class: NativeEncoderClassClass taken from the encoder’s own capability bits.
hardware_accelerated: boolWhether this row runs the encoder on the GPU.
capability_bits: u32Raw AV_CODEC_CAP_* bits, so an unexpected class can be traced.
pixel_formats: Vec<String>Pixel formats the encoder declares, or empty when it declares none.
hardware_configs: Vec<NativeEncoderHardwareConfig>Hardware configurations the encoder declares.
accepts_yuv420p: boolWhether AV_PIX_FMT_YUV420P is among the declared formats.
requires_hardware_frames: boolWhether every declared format is a hardware one (why h264_vulkan is not advertised).
advertised: boolWhether codec_capabilities advertises it for the YUV420P sink.
minimum_size: (u32, u32)Smallest frame the encoder accepts, as alpha2 records it.
software_open_error: Option<String>None when a software YUV420P frame produced a packet; otherwise why not.
software_packets: u32Packets drained from that attempt.
rate_control: Vec<NativeRateControlProbe>Which rate-control mechanisms opened, and with what options.
Trait Implementations§
Source§impl Clone for NativeVideoEncoderProbe
impl Clone for NativeVideoEncoderProbe
Source§impl Debug for NativeVideoEncoderProbe
impl Debug for NativeVideoEncoderProbe
impl Eq for NativeVideoEncoderProbe
Source§impl PartialEq for NativeVideoEncoderProbe
impl PartialEq for NativeVideoEncoderProbe
impl StructuralPartialEq for NativeVideoEncoderProbe
Auto Trait Implementations§
impl Freeze for NativeVideoEncoderProbe
impl RefUnwindSafe for NativeVideoEncoderProbe
impl Send for NativeVideoEncoderProbe
impl Sync for NativeVideoEncoderProbe
impl Unpin for NativeVideoEncoderProbe
impl UnsafeUnpin for NativeVideoEncoderProbe
impl UnwindSafe for NativeVideoEncoderProbe
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more