跳到主要内容

AVHWDeviceContext

搜索

结构体 AVHWDeviceContext 

源代码
#[repr(C)]
pub struct AVHWDeviceContext { pub av_class: *const AVClass, pub type_: AVHWDeviceType, pub hwctx: *mut c_void, pub free: Option<unsafe extern "C" fn(ctx: *mut AVHWDeviceContext)>, pub user_opaque: *mut c_void, }
展开描述

This struct aggregates all the (hardware/vendor-specific) “high-level” state, i.e. state that is not tied to a concrete processing configuration. E.g., in an API that supports hardware-accelerated encoding and decoding, this struct will (if possible) wrap the state that is common to both encoding and decoding and from which specific instances of encoders or decoders can be derived.

This struct is reference-counted with the AVBuffer mechanism. The av_hwdevice_ctx_alloc() constructor yields a reference, whose data field points to the actual AVHWDeviceContext. Further objects derived from AVHWDeviceContext (such as AVHWFramesContext, describing a frame pool with specific properties) will hold an internal reference to it. After all the references are released, the AVHWDeviceContext itself will be freed, optionally invoking a user-specified callback for uninitializing the hardware state.

Fields§

§av_class: *const AVClass

A class for logging. Set by av_hwdevice_ctx_alloc().

§type_: AVHWDeviceType

This field identifies the underlying API used for hardware access.

This field is set when this struct is allocated and never changed afterwards.

§hwctx: *mut c_void

The format-specific data, allocated and freed by libavutil along with this context.

Should be cast by the user to the format-specific context defined in the corresponding header (hwcontext_*.h) and filled as described in the documentation before calling av_hwdevice_ctx_init().

After calling av_hwdevice_ctx_init() this struct should not be modified by the caller.

§free: Option<unsafe extern "C" fn(ctx: *mut AVHWDeviceContext)>

This field may be set by the caller before calling av_hwdevice_ctx_init().

If non-NULL, this callback will be called when the last reference to this context is unreferenced, immediately before it is freed.

@note when other objects (e.g an AVHWFramesContext) are derived from this struct, this callback will be invoked after all such child objects are fully uninitialized and their respective destructors invoked.

§user_opaque: *mut c_void

Arbitrary user data, to be used e.g. by the free() callback.

trait 实现§

源代码§

impl Clone for AVHWDeviceContext

源代码§

fn clone(&self) -> AVHWDeviceContext

Returns a duplicate of the value. 阅读更多
1.0.0 · 源代码§

fn clone_from(&mut self, source: &Self)

source 执行拷贝赋值。 阅读更多
源代码§

impl Debug for AVHWDeviceContext

源代码§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

使用给定的格式化器格式化该值。 阅读更多
源代码§

impl PartialEq for AVHWDeviceContext

源代码§

fn eq(&self, other: &AVHWDeviceContext) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · 源代码§

fn ne(&self, other: &Rhs) -> bool

测试 !=。默认实现几乎总是足够的,没有充分理由不应被重写。
源代码§

impl Copy for AVHWDeviceContext

源代码§

impl Eq for AVHWDeviceContext

源代码§

impl StructuralPartialEq for AVHWDeviceContext

自动 trait 实现§

blanket 实现§

源代码§

impl<T> Any for T
where T: 'static + ?Sized,

源代码§

fn type_id(&self) -> TypeId

获取 selfTypeId阅读更多
源代码§

impl<T> Borrow<T> for T
where T: ?Sized,

源代码§

fn borrow(&self) -> &T

从拥有的值不可变地借用。 阅读更多
源代码§

impl<T> BorrowMut<T> for T
where T: ?Sized,

源代码§

fn borrow_mut(&mut self) -> &mut T

从拥有的值可变地借用。 阅读更多
源代码§

impl<T> CloneToUninit for T
where T: Clone,

源代码§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
self 执行拷贝赋值到 dest阅读更多
源代码§

impl<T> From<T> for T

源代码§

fn from(t: T) -> T

原样返回参数。

源代码§

impl<T, U> Into<U> for T
where U: From<T>,

源代码§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U 实现选择执行的操作。

源代码§

impl<T> ToOwned for T
where T: Clone,

源代码§

type Owned = T

获取所有权后得到的类型。
源代码§

fn to_owned(&self) -> T

通常通过克隆,从借用数据创建拥有的数据。 阅读更多
源代码§

fn clone_into(&self, target: &mut T)

通常通过克隆,使用借用数据替换拥有的数据。 阅读更多
源代码§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

源代码§

type Error = Infallible

转换出错时返回的类型。
源代码§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

执行该转换。
源代码§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

源代码§

type Error = <U as TryFrom<T>>::Error

转换出错时返回的类型。
源代码§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

执行该转换。