ArgusCameraOp
🚧 Documentation is under development
The Holoscan SDK guide is currently under active development. Some sections may be incomplete or change without notice.
Questions? Contact RidgeRun or email to support@ridgerun.com.
-
Overview
-
Build, Run, and Validate
-
Core Concepts
-
Operators and Graphs
-
Tensor Data and Memory
-
Interprocess Communication
-
-
Application and Operator Development
- Building an HSDK Application
- Writing a Minimal Operator
- Typed Parameters and Configuration
- Reading, Writing, and Forwarding Data
- Writing Tensor Operators
- Complete Operator Patterns
- Authoring Runtime Behavior
- Runtime Parameter Updates
- Lifecycle Callbacks and Restart Control
- Performance and Debugging
- SDK Source Map
-
Operator Reference
-
Core Operators
-
Holoscan Camera
-
Holoscan RidgeRun
- Overview
- Build and Installation
- ArgusCameraOp
- V4L2SourceOp
- V4L2UserPtrSourceOp
- BgraToPlanarTensorOp
- RawBayerToBgraOp
- RawBayerToYoloTensorOp
- YuyvToBgraOp
- TensorRtInferenceOp
- DrmDisplayOp
- DrmBgraDisplayOp
- X11DisplayOp
- CudaCompositorOp
- DepthColorizerOp
- FakesinkOp
- FrameSkipperOp
- InterprocessSrcOp
- TestPatternOp
-
-
Migration from Holoscan 4.x
-
Examples
-
Core
-
Holoscan Camera
-
Holoscan RidgeRun
-
-
Benchmark and Use Cases
-
Holoscan vs GStreamer
- Overview
-
Capture and Display
-
Capture and Inference
- Compare the workloads
- Implemented Applications
- Framework Selection
- Interprocess
-
ArgusCameraOp
ArgusCameraOp captures a directly connected Jetson CSI camera through libArgus and an EGLStream. Argus supplies NV12 planes as CUDA arrays; the operator reads those arrays directly in CUDA and emits a display-ready BGRA tensor without an intermediate NV12 allocation or camera-to-CUDA copy.
Input arguments
| Argument | Meaning |
|---|---|
camera_index
|
Zero-based Argus camera index. |
sensor_mode_index
|
Sensor mode selected from the camera's Argus mode list. |
width, height
|
Positive output dimensions requested from the selected mode. |
fps
|
Positive capture rate used to configure the operator clock. |
frame_limit
|
Optional limit used by the RidgeRun applications and validation runs. |
Ports and data contract
| Port | Memory | Queue | Trigger | Contract |
|---|---|---|---|---|
frame
|
CUDA device, contiguous | N/A | OnClock at fps
|
Runtime-pool U8 tensor with shape [height, width, 4] in BGRA order. Frame identity and flow metadata are forwarded.
|
Build
Follow Holoscan RidgeRun Build and Installation for the module build and installation. The operator-specific include, target, and runtime requirements are listed below.
Include argus_camera/argus_camera.hpp and link the holoscan::argus_camera target. The operator requires Jetson Multimedia API Argus, nvargus_socketclient, CUDA and EGL on Jetson aarch64.
Example
The application must bind the output Tensor to the CUDA device used by the graph. A minimal display graph follows the repository applications:
auto camera = graph.op<ArgusCameraOp>("camera", 0U, 0U, 1920, 1080, 60);
auto display = graph.op<X11DisplayOp>("display", 1920, 1080, "Argus camera");
graph.add_flow(camera->frame, display->input);
compile_options.deployment.bind_tensor_output_device(
holoscan::TensorOutputDevicePlacement{
.operator_path = "camera",
.output_port = "frame",
.device = holoscan::DeviceId{0}});
The camera index and sensor-mode index are zero based. The selected sensor mode must report exactly the requested resolution, and the requested frame rate must fall within that mode's Argus frame-duration range. Width and height must be even because the EGLStream output is two-plane NV12.