luvcraft/video-interop-vulkan.lisp
Stateless importer for AVVkFrame-backed pictures.
(device hardware-policy)Return FFmpeg's hardware selector and configuration for DEVICE. HARDWARE-POLICY is :AUTO or :REQUIRED. Two values are returned: the selector accepted by LIBAV:OPEN-VIDEO and its backend-private configuration. A device without a decode bridge returns two NIL values and therefore uses software.
(physical-device)Logical conjunction of tests and raw truth values.
Backend-owned state for adopting decoded hardware frames into DEVICE. Every native plane owner retains this object until the HAL has completed its physical retirement. Asking to release the importer closes admission at once, but its backend state remains live until the last such owner callback runs.
(device)Return an importer for hardware frames decoded for DEVICE, or NIL.
Headings, paragraphs, figures and their IDs, mentions, marks.
(importer frame width height)Build and return one complete DECODED-VIDEO-PICTURE. FRAME remains borrowed from the decoder. An implementation must retain every native plane for the lifetime of the returned picture and must release every part of an incomplete candidate before propagating an error.
An explicitly owned AVFrame.
(frame)Layouts: binding grids, clauses, loop rows. The selectors are the roles dexp.lisp assigns.
How the children of a list are arranged.
Logical disjunction of tests and raw truth values.
(frame)(importer release-native-owner)Retain IMPORTER and return an idempotent native-owner release callback. The callback first runs RELEASE-NATIVE-OWNER. Only its successful completion drops the importer retainer. If importer closure was already requested, the same callback then performs (or retries) that closure. This ordering lets a HAL retirement…
(frame)(device native-object owner descriptor)Wrap a platform texture and its retained OWNER in the HAL.
(device plane-count make-plane-texture)Build a picture transactionally from PLANE-COUNT native plane textures. MAKE-PLANE-TEXTURE is called with each zero-based plane index and returns an owned HAL texture. This function creates the corresponding views. If either step fails, all views built so far are destroyed before every owned texture.
FFmpeg Vulkan decode configuration and AVVkFrame plane adoption.