pub enum MemoryDomain {
System,
Cuda,
D3d11,
D3d12,
}Expand description
Where a decoded frame’s pixels actually live.
MediaBuffer::Video is one variant
covering system memory, CUDA device memory, and D3D11/D3D12 textures
alike, so the buffer type alone cannot tell a CPU scaler that it was
handed a GPU texture. This is the part of the contract that catches
that — it says which backend owns the memory, and nothing about the
format, size, or specific device within that backend.
Variants§
System
Host memory: an ordinary FFmpeg frame with CPU-readable planes.
Cuda
CUDA device memory bound to a CUDA context.
D3d11
A D3D11 texture owned by an ID3D11Device.
D3d12
A D3D12 resource owned by an ID3D12Device.
Trait Implementations§
Source§impl Clone for MemoryDomain
impl Clone for MemoryDomain
Source§fn clone(&self) -> MemoryDomain
fn clone(&self) -> MemoryDomain
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreimpl Copy for MemoryDomain
Source§impl Debug for MemoryDomain
impl Debug for MemoryDomain
Source§impl Display for MemoryDomain
impl Display for MemoryDomain
impl Eq for MemoryDomain
Source§impl PartialEq for MemoryDomain
impl PartialEq for MemoryDomain
impl StructuralPartialEq for MemoryDomain
Auto Trait Implementations§
impl Freeze for MemoryDomain
impl RefUnwindSafe for MemoryDomain
impl Send for MemoryDomain
impl Sync for MemoryDomain
impl Unpin for MemoryDomain
impl UnsafeUnpin for MemoryDomain
impl UnwindSafe for MemoryDomain
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
Mutably borrows from an owned value. Read more