TIOVX User Guide

Detailed Description

Capture (Source Node) Kernels.

Data Structures

struct  tivx_capture_inst_params_t
 The CSIRX DRV instance configuration data structure used by the TIVX_KERNEL_CAPTURE kernel. More...
 
struct  tivx_capture_params_t
 The configuration data structure used by the TIVX_KERNEL_CAPTURE kernel. More...
 
struct  tivx_capture_statistics_t
 Capture status structure used to get the current status. More...
 

Defines

#define TIVX_KERNEL_CAPTURE_NAME   "com.ti.capture"
 capture kernel name
 
#define TIVX_CAPTURE_PRINT_STATISTICS   (0x40000000u)
 Control Command to print capture statistics No argument is needed to query statistics.
 
#define TIVX_CAPTURE_GET_STATISTICS   (0x40000001u)
 Control Command to return capture statistics to application. More...
 
#define TIVX_CAPTURE_REGISTER_ERROR_FRAME   (0x40000002u)
 Control Command to create additional frame object descriptors from a provided frame reference. The data buffers for each new descriptor will point to the same data buffer as the provided frame reference.
 
#define TIVX_CAPTURE_MAX_CH   (16U)
 Maximum number of channels supported in the capture node.
 
#define TIVX_CAPTURE_MAX_INST   (2U)
 Maximum number of instances supported in the capture node.
 
#define TIVX_CAPTURE_MAX_STRM   (4U)
 Maximum number of streams supported in a capture module.
 
#define TIVX_CAPTURE_LANE_BAND_SPEED_80_TO_100_MBPS   ((uint32_t) 0x00U)
 Lane Band Speed: 80 Mbps to 100 Mbps.
 
#define TIVX_CAPTURE_LANE_BAND_SPEED_100_TO_120_MBPS   ((uint32_t) 0x01U)
 Lane Band Speed: 100 Mbps to 120 Mbps.
 
#define TIVX_CAPTURE_LANE_BAND_SPEED_120_TO_160_MBPS   ((uint32_t) 0x02U)
 Lane Band Speed: 120 Mbps to 160 Mbps.
 
#define TIVX_CAPTURE_LANE_BAND_SPEED_160_TO_200_MBPS   ((uint32_t) 0x03U)
 Lane Band Speed: 160 Mbps to 200 Mbps.
 
#define TIVX_CAPTURE_LANE_BAND_SPEED_200_TO_240_MBPS   ((uint32_t) 0x04U)
 Lane Band Speed: 200 Mbps to 240 Mbps.
 
#define TIVX_CAPTURE_LANE_BAND_SPEED_240_TO_280_MBPS   ((uint32_t) 0x05U)
 Lane Band Speed: 240 Mbps to 280 Mbps.
 
#define TIVX_CAPTURE_LANE_BAND_SPEED_280_TO_320_MBPS   ((uint32_t) 0x06U)
 Lane Band Speed: 280 Mbps to 320 Mbps.
 
#define TIVX_CAPTURE_LANE_BAND_SPEED_320_TO_360_MBPS   ((uint32_t) 0x07U)
 Lane Band Speed: 320 Mbps to 360 Mbps.
 
#define TIVX_CAPTURE_LANE_BAND_SPEED_360_TO_400_MBPS   ((uint32_t) 0x08U)
 Lane Band Speed: 360 Mbps to 400 Mbps.
 
#define TIVX_CAPTURE_LANE_BAND_SPEED_400_TO_480_MBPS   ((uint32_t) 0x09U)
 Lane Band Speed: 400 Mbps to 480 Mbps.
 
#define TIVX_CAPTURE_LANE_BAND_SPEED_480_TO_560_MBPS   ((uint32_t) 0x0AU)
 Lane Band Speed: 480 Mbps to 560 Mbps.
 
#define TIVX_CAPTURE_LANE_BAND_SPEED_560_TO_640_MBPS   ((uint32_t) 0x0BU)
 Lane Band Speed: 560 Mbps to 640 Mbps.
 
#define TIVX_CAPTURE_LANE_BAND_SPEED_640_TO_720_MBPS   ((uint32_t) 0x0CU)
 Lane Band Speed: 640 Mbps to 720 Mbps.
 
#define TIVX_CAPTURE_LANE_BAND_SPEED_720_TO_800_MBPS   ((uint32_t) 0x0DU)
 Lane Band Speed: 720 Mbps to 800 Mbps.
 
#define TIVX_CAPTURE_LANE_BAND_SPEED_800_TO_880_MBPS   ((uint32_t) 0x0EU)
 Lane Band Speed: 800 Mbps to 880 Mbps.
 
#define TIVX_CAPTURE_LANE_BAND_SPEED_880_TO_1040_MBPS   ((uint32_t) 0x0FU)
 Lane Band Speed: 880 Mbps to 1040 Mbps.
 
#define TIVX_CAPTURE_LANE_BAND_SPEED_1040_TO_1200_MBPS   ((uint32_t) 0x10U)
 Lane Band Speed: 1040 Mbps to 1200 Mbps.
 
#define TIVX_CAPTURE_LANE_BAND_SPEED_1200_TO_1350_MBPS   ((uint32_t) 0x11U)
 Lane Band Speed: 1200 Mbps to 1350 Mbps.
 
#define TIVX_CAPTURE_LANE_BAND_SPEED_1350_TO_1500_MBPS   ((uint32_t) 0x12U)
 Lane Band Speed: 1350 Mbps to 1500 Mbps.
 
#define TIVX_CAPTURE_LANE_BAND_SPEED_1500_TO_1750_MBPS   ((uint32_t) 0x13U)
 Lane Band Speed: 1500 Mbps to 1750 Mbps.
 
#define TIVX_CAPTURE_LANE_BAND_SPEED_1750_TO_2000_MBPS   ((uint32_t) 0x14U)
 Lane Band Speed: 1750 Mbps to 2000 Mbps.
 
#define TIVX_CAPTURE_LANE_BAND_SPEED_2000_TO_2250_MBPS   ((uint32_t) 0x15U)
 Lane Band Speed: 2000 Mbps to 2250 Mbps.
 
#define TIVX_CAPTURE_LANE_BAND_SPEED_2250_TO_2500_MBPS   ((uint32_t) 0x16U)
 Lane Band Speed: 2250 Mbps to 2500 Mbps.
 

Functions

void tivxRegisterVideoIOTargetCaptureKernels (void)
 Function to register Video IO Kernels on the capture Target.
 
void tivxUnRegisterVideoIOTargetCaptureKernels (void)
 Function to un-register Video IO Kernels on the capture Target.
 
VX_API_ENTRY vx_node VX_API_CALL tivxCaptureNode (vx_graph graph, vx_user_data_object input, vx_object_array output)
 [Graph] Creates a camera capture node. More...
 
void tivx_capture_params_init (tivx_capture_params_t *prms)
 Function to initialize Capture Parameters. More...
 
vx_status tivxCaptureRegisterErrorFrame (vx_node node, vx_reference ref)
 Function to send error frame to capture node. More...
 

Macro Definition Documentation

◆ TIVX_CAPTURE_GET_STATISTICS

#define TIVX_CAPTURE_GET_STATISTICS   (0x40000001u)

Control Command to return capture statistics to application.

This control command returns the status of the capture node. Please refer to tivx_capture_statistics_t structure.

Definition at line 101 of file video_io_capture.h.

Function Documentation

◆ tivxCaptureNode()

VX_API_ENTRY vx_node VX_API_CALL tivxCaptureNode ( vx_graph  graph,
vx_user_data_object  input,
vx_object_array  output 
)

[Graph] Creates a camera capture node.

The capture node takes in a user data object of type tivx_capture_params_t to configure one or more capture channels. The output is of type vx_object_array, which contain an array of either vx_image or tivx_raw_image data types. vx_image is used if the sensor outputs processed image formats, while tivx_raw_image is used for raw sensor outputs.

If using tivx_raw_image as the output, the raw image type MUST be one of the following formats:

If using vx_image, the image type MUST be one of the following formats:

The number of items in the output object array corresponds to the number of syncronized, homogeneous camera sensors assigned to the capture node. Each item in an object array must have the same dimensions and formats. If multiple sensors are needed tot be configured at different rates, formats, or resolutions, then separate capture nodes should be used and syncronized by the application code.

Note
The capture node does not program or control the sensors, but relies on the application (or custom nodes) to call into the sensor drivers.
Parameters
[in]graphThe reference to the graph.
[in]inputThe input user data object of a single capture params structure of type tivx_capture_params_t.
[out]outputObject array output which has been created from an exemplar of either vx_image or tivx_raw_image.
See also
TIVX_KERNEL_CAPTURE_NAME
Returns
vx_node.
Return values
vx_nodeA node reference. Any possible errors preventing a successful creation should be checked using vxGetStatus

◆ tivx_capture_params_init()

void tivx_capture_params_init ( tivx_capture_params_t prms)

Function to initialize Capture Parameters.

Parameters
prms[in] Pointer to capture params configuration structure

◆ tivxCaptureRegisterErrorFrame()

vx_status tivxCaptureRegisterErrorFrame ( vx_node  node,
vx_reference  ref 
)

Function to send error frame to capture node.

Provided ref must be of the same type and have same properties as an element of the capture node output object array

This API must be called after the vxVerifyGraph call and before the processing of the OpenVX graph

Parameters
node[in] Capture node reference
ref[in] Error frame to be replicated