Class AJASourceOp

class AJASourceOp : public holoscan::Operator

Operator class to get the video stream from AJA capture card.

==Named Inputs==

  • overlay_buffer_input : nvidia::gxf::VideoBuffer (optional)

    • The operator does not require a message on this input port in order for compute to be called. If a message is found, and enable_overlay is true, the image will be mixed with the image captured by the AJA card. If enable_overlay is false, any message on this port will be ignored.

==Named Outputs==

  • video_buffer_output : nvidia::gxf::VideoBuffer

    • The output video frame from the AJA capture card. If overlay_rdma is true, this video buffer will be on the device, otherwise it will be in pinned host memory.

  • overlay_buffer_output : nvidia::gxf::VideoBuffer (optional)

    • This output port will only emit a video buffer when enable_overlay is true. If overlay_rdma is true, this video buffer will be on the device, otherwise it will be in pinned host memory.

==Parameters==

  • device: The device to target (e.g., “0” for device 0). Optional (default: “0”).

  • channel: The camera NTV2Channel to use for output (e.g., NTV2Channel::NTV2_CHANNEL1 (0) or “NTV2_CHANNEL1” (in YAML) for the first channel). Optional (default: NTV2Channel::NTV2_CHANNEL1 in C++ or "NTV2_CHANNEL1" in YAML).

  • width: Width of the video stream. Optional (default: 1920).

  • height: Height of the video stream. Optional (default: 1080).

  • framerate: Frame rate of the video stream. Optional (default: 60).

  • rdma: Boolean indicating whether RDMA is enabled. Optional (default: false).

  • enable_overlay: Boolean indicating whether a separate overlay channel is enabled. Optional (default: false).

  • overlay_channel: The camera NTV2Channel to use for overlay output. Optional (default: NTV2Channel::NTV2_CHANNEL2 in C++ or "NTV2_CHANNEL2" in YAML).

  • overlay_rdma: Boolean indicating whether RDMA is enabled for the overlay. Optional (default: true).

Public Functions

HOLOSCAN_OPERATOR_FORWARD_ARGS (AJASourceOp) AJASourceOp()

virtual void setup(OperatorSpec &spec) override

Define the operator specification.

Parameters

spec – The reference to the operator specification.

virtual void initialize() override

Initialize the operator.

This function is called when the fragment is initialized by Executor::initialize_fragment().

virtual void start() override

Implement the startup logic of the operator.

This method is called multiple times over the lifecycle of the operator according to the order defined in the lifecycle, and used for heavy initialization tasks such as allocating memory resources.

virtual void compute(InputContext &op_input, OutputContext &op_output, ExecutionContext &context) override

Implement the compute method.

This method is called by the runtime multiple times. The runtime calls this method until the operator is stopped.

Parameters
  • op_input – The input context of the operator.

  • op_output – The output context of the operator.

  • context – The execution context of the operator.

virtual void stop() override

Implement the shutdown logic of the operator.

This method is called multiple times over the lifecycle of the operator according to the order defined in the lifecycle, and used for heavy deinitialization tasks such as deallocation of all resources previously assigned in start.

Previous Class OperatorSpec
Next Class AsyncPingRxOp
© Copyright 2022-2024, NVIDIA. Last updated on Apr 23, 2024.