pub struct VideoEncodeExtent {
pub profile: &'static str,
pub minimum: (u32, u32),
pub maximum: (u32, u32),
pub granularity: (u32, u32),
pub max_p_picture_l0_references: u32,
pub max_b_picture_l0_references: u32,
pub max_l1_references: u32,
pub rate_control_modes: Vec<&'static str>,
}Expand description
Coded extents and coding limits one video-encode profile has on a device.
Fields§
§profile: &'static strThe profile the codec’s Vulkan encoder opens on this device (H.264
constrained_baseline, main or high; HEVC main).
minimum: (u32, u32)Smallest accepted width and height in samples.
maximum: (u32, u32)Largest accepted width and height in samples.
granularity: (u32, u32)VkVideoEncodeCapabilitiesKHR::encodeInputPictureGranularity, which FFmpeg aligns the
coded size up to before the limits apply. So 158x62 can pass a 160x64 minimum while
64x48 fails; compare aligned sizes, not raw ones.
max_p_picture_l0_references: u32maxPPictureL0ReferenceCount: references a P picture may use.
max_b_picture_l0_references: u32maxBPictureL0ReferenceCount: forward references a B picture may use. Zero together
with max_l1_references means no B pictures.
max_l1_references: u32maxL1ReferenceCount: backward references a B picture may use.
rate_control_modes: Vec<&'static str>VkVideoEncodeCapabilitiesKHR::rateControlModes as names: cbr, vbr, disabled
(constant QP).
Implementations§
Source§impl VideoEncodeExtent
impl VideoEncodeExtent
Sourcepub const fn supports_b_pictures(&self) -> bool
pub const fn supports_b_pictures(&self) -> bool
Whether the device can encode B pictures at all.
Trait Implementations§
Source§impl Clone for VideoEncodeExtent
impl Clone for VideoEncodeExtent
Source§impl Debug for VideoEncodeExtent
impl Debug for VideoEncodeExtent
impl Eq for VideoEncodeExtent
Source§impl PartialEq for VideoEncodeExtent
impl PartialEq for VideoEncodeExtent
impl StructuralPartialEq for VideoEncodeExtent
Auto Trait Implementations§
impl Freeze for VideoEncodeExtent
impl RefUnwindSafe for VideoEncodeExtent
impl Send for VideoEncodeExtent
impl Sync for VideoEncodeExtent
impl Unpin for VideoEncodeExtent
impl UnsafeUnpin for VideoEncodeExtent
impl UnwindSafe for VideoEncodeExtent
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.