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

Vendor-neutral interface for GPU-direct video CAPTURE strategies. More...

Detailed Description

Vendor-neutral interface for GPU-direct video CAPTURE strategies.

Symmetric inverse of VideoOutputStrategy for the input direction. Concrete impls live in each vendor's addon (AJA today; Magewell / Ximea / Datapath planned). The plumbing helpers (ImportedGpuBufferRing, the slot ring atomic, CudaInterop) are in score-plugin-gfx so the per-vendor file stays ~150 lines.

Threading contract:

  • init / release / acquireForRender / releaseAfterRender / outputTexture run on the render thread (QRhi affinity).
  • ingestFrame runs on the vendor's capture thread (AJA AC pump, Magewell event-loop, Aravis callback, ...). Slot index is the handoff currency.

Concrete impls own the vendor pacing model: AJA waits on VBI in its AC loop; Magewell / Ximea use vendor-thread push; Rivermax is PTP- timed.

Go to the source code of this file.

Classes

struct  score::gfx::interop::VideoCaptureStrategyConfig
 
struct  score::gfx::interop::VideoCaptureStrategy
 Per-graphics-API strategy for getting a captured video frame into a GPU QRhiTexture without CPU staging. More...
 
struct  score::gfx::interop::VideoCaptureSlotRing
 Lock-free SPSC handoff between the capture thread and the renderer. Capture thread bumps latestFrameId and publishes the slot index; renderer polls and consumes. More...
 
struct  score::gfx::interop::VideoCaptureSlotRing::DetectedFormat
 

Namespaces

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