Loading...
Searching...
No Matches
DmaLockPolicy.hpp File Reference

DMA-lock policy concept for the shared NVIDIA-DVP shims. More...

Detailed Description

DMA-lock policy concept for the shared NVIDIA-DVP shims.

The DVP capture/output strategy templates (DvpCapture*, DvpOutput*) are vendor-neutral: they own all the DVP + RHI machinery. The one per-vendor variable is how the page-locked sysmem slot is pinned for the card's DMA engine. A vendor supplies a small policy:

struct Policy { bool valid() const noexcept; // preflight bool lock(const void* ptr, std::uint32_t bytes) noexcept; // page-lock void unlock(const void* ptr, std::uint32_t bytes) noexcept; };

AJA's policy (AjaDmaLockPolicy) wraps CNTV2Card::DMABufferLock. Vendors that fill the slot via a plain CPU memcpy (no card-side DMA into the sysmem, e.g. DeckLink) use NoDmaLock below.

Go to the source code of this file.

Classes

struct  score::gfx::interop::NoDmaLock
 No-op DMA lock: the slot is filled by a CPU copy, so no page-pin is needed. More...
 

Namespaces

namespace  score
 Base toolkit upon which the software is built.
 
namespace  score::gfx
 Graphics rendering pipeline for ossia score.