YUAN QCAP Source Operator#
Authors: David Su (Yuan)
Supported platforms: x86_64, aarch64
Language: C++, Python
Last modified: August 5, 2025
Latest version: 1.0
Minimum Holoscan SDK version: 0.5.0
Tested Holoscan SDK versions: 0.5.0
Contribution metric: Level 2 - Trusted
The QCAPSourceOp
operator provides video stream capture from YUAN High-Tech capture cards, supporting various video formats and configurations for professional video acquisition.
Overview#
This operator interfaces with YUAN High-Tech capture cards to acquire video streams with configurable resolution, frame rate, and pixel formats. It supports both C++ and Python implementations and provides flexible parameter configuration for different capture scenarios.
Features#
- YUAN Capture Card Support: Direct integration with YUAN High-Tech capture hardware
- Configurable Resolution: Support for various video resolutions up to 4K
- Flexible Frame Rates: Adjustable frame rates for different applications
- Multiple Pixel Formats: Support for RGB, RGBA, and other color formats
- RDMA Support: Optional RDMA (Remote Direct Memory Access) for improved performance
- Multi-Platform: Available for both x86_64 and aarch64 architectures
Usage#
Python Usage#
from holoscan.operators import QCAPSourceOp
# Create operator with default settings
qcap_op = QCAPSourceOp(
fragment=fragment,
device="SC0710 PCI",
channel=0,
width=3840,
height=2160,
framerate=60,
rdma=True,
pixel_format="bgr24",
input_type="auto"
)
C++ Usage#
#include "qcap_source.hpp"
auto qcap_op = std::make_shared<holoscan::ops::QCAPSourceOp>(
Arg{"device", "SC0710 PCI"},
Arg{"channel", 0},
Arg{"width", 3840},
Arg{"height", 2160},
Arg{"framerate", 60},
Arg{"rdma", true},
Arg{"pixel_format", "bgr24"},
Arg{"input_type", "auto"}
);
Please refer to the following Holoscan reference applications for usage of this operator:
Parameters#
Device Configuration#
device
(string, default: "SC0710 PCI"): Device specifier for the capture cardchannel
(uint32_t, default: 0): Channel number to use for capture
Video Settings#
width
(uint32_t, default: 3840): Width of the video stream in pixelsheight
(uint32_t, default: 2160): Height of the video stream in pixelsframerate
(uint32_t, default: 60): Frame rate of the video stream in fps
Performance Options#
rdma
(bool, default: false): Enable RDMA for improved memory transfer performancepixel_format
(string, default: "bgr24"): Pixel format of the video streaminput_type
(string, default: "auto"): Input type configurationmst_mode
(uint32_t, default: 0): MST (Multi-Stream Transport) mode settingsdi12g_mode
(uint32_t, default: 0): SDI 12G mode configuration
Input/Output#
Output#
video_buffer_output
: Video buffer containing the captured frame data- Format: Video buffer with specified resolution and pixel format
- Rate: Matches the configured frame rate
- Type: GXF Entity with video buffer data
Supported Configurations#
Video Resolutions#
- 4K: 3840x2160 (default)
- 2K: 2048x1080
- 1080p: 1920x1080
- 720p: 1280x720
- Custom resolutions supported
Pixel Formats#
bgr24
: 24-bit BGR format (default)rgb24
: 24-bit RGB formatrgba32
: 32-bit RGBA format- Additional formats based on hardware support
Frame Rates#
- 60 fps (default)
- 30 fps
- 25 fps
- 24 fps
- Custom frame rates supported
Hardware Requirements#
- YUAN High-Tech capture card (e.g., SC0710 PCI)
- Compatible PCIe slot
- Sufficient bandwidth for video stream
- GPU memory for RDMA operations (if enabled)
Integration#
The operator is designed to work within Holoscan pipelines and can be connected to:
- Video processing operators
- Encoding/compression operators
- Display/visualization operators
- Recording/storage operators
- AI inference pipelines