Expand description
Platform GPU interop for native decoded video surfaces.
FFmpeg ownership remains in alpha2-ffmpeg-bridge; this crate owns raw GPU
handles, barriers, synchronization, and bounded surface accounting.
Structs§
- External
Sync Point - Timeline synchronization point required before sampling an image.
- Import
Ticket Stats - Allocation counters of a context’s import tickets.
- Imported
Plane Descriptor - One opaque native plane before it is wrapped by the active GPU backend.
- Imported
Vulkan Frame - An imported bi-planar 4:2:0 image and its two wgpu plane views.
- Native
GpuIdentity - Stable identity of a native GPU device for cache and import validation.
- Native
Image State - Native image state observed while the decoder surface is locked.
- Shared
Vulkan Context - One Vulkan logical device adopted by both the renderer and
FFmpeg. - Shared
Vulkan Error - Failure while creating a logical Vulkan device shared by wgpu and
FFmpeg. - Surface
Budget - Bounded decoder-surface allocator shared by decode sessions.
- Surface
Budget Error - A reservation exceeded either the count or byte limit.
- Surface
Identity - Identity used to prevent imported texture reuse across decoder generations.
- Surface
Reservation - A reservation released exactly once when its final owner is dropped.
- Surface
Usage - Current native surface allocation.
- Video
Encode Extent - Coded extents and coding limits one video-encode profile has on a device.
- Vulkan
Encode Copier - Reusable NV12 handoff from the renderer’s plane textures to encoder frames.
- Vulkan
Import Lease - Owns the imported texture,
FFmpegframe, and native transition commands. - Vulkan
Layer Version - A Vulkan layer’s specification version.
Enums§
- Native
Plane Layout - Supported decoded plane organizations.
Traits§
- Native
Surface Lease - Native backing retained until every sampling submission has completed.
Functions§
- probe_
vulkan_ submission - Checks that a decoded frame can be imported: moves its planes to
SHADER_READ_ONLYand back in one submission on its queue, through views like an import’s, and waits for it. - set_
gpu_ wait_ timeout - Sets how long the platform interop helpers wait on GPU work before they give up with a timeout, instead of blocking forever on a hung device.
- shared_
device_ index - Where the device
SharedVulkanContext::createopens is in the loader’s physical-device order, forselectorasALPHA2_VULKAN_DEVICEnames it (Noneunset): the indexFFmpegtakes for a Vulkan device of its own (av_hwdevice_ctx_create’sdevice). A probe that opens its own device passes this, so it opens the device an export renders, decodes, and encodes on.FFmpegreads a name that starts with a digit as an index, so passing the variable on would pick another device, or none.