73 #include <TI/tivx_nodes.h> 78 #include <TI/tivx_soc.h> 79 #include <TI/tivx_log_stats.h> 95 #define TIVX_TARGET_MAX_NAME (64u) 105 #define TIVX_TARGET_HOST "HOST" 112 #define TIVX_CONFIG_PATH_LENGTH (512u) 122 #define TIVX_CONTROL_CMD_SEND_TO_ALL_REPLICATED_NODES ((uint32_t)-1) 130 #define TIVX_GRAPH_MAX_SUPER_NODES (8u) 135 #define TIVX_MAX_DSP_BAM_USER_PLUGINS (8u) 140 #define TIVX_SUPER_NODE_MAX_NODES (16u) 145 #define TIVX_SUPER_NODE_MAX_EDGES (16u) 150 #define TIVX_SUPER_NODE_MAX_OBJECTS (16u) 161 #define TIVX_PYRAMID_MAX_LEVELS_ORB (17u) 166 #define TIVX_MAX_KERNEL_ID (VX_KERNEL_MASK) 171 #define TIVX_MAX_LIBRARY_ID (VX_LIBRARY(VX_LIBRARY_MASK)) 180 #define TIVX_ENUM_RAW_IMAGE_BUFFER_ACCESS (vx_enum)0x0 183 #define TIVX_ENUM_RAW_IMAGE_PIXEL_CONTAINER (vx_enum)0x1 186 #define TIVX_ENUM_EVENT_QUEUE (vx_enum)0x2 193 typedef enum _tivx_graph_attribute_extensions_e {
204 typedef enum _tivx_node_attribute_extensions_e {
233 typedef enum _tivx_reference_attribute_extensions_e {
255 typedef enum _tivx_kernel_attribute_extensions_e {
271 typedef enum _tivx_context_attribute_extensions_e {
293 typedef enum _tivx_image_attribute_extensions_e {
325 typedef enum _tivx_tensor_attribute_extensions_e {
340 typedef enum _tivx_df_image_e {
367 typedef enum _tivx_status_e {
510 #define dimof(x) (sizeof(x)/sizeof(x[0])) 563 const char *kernel_name,
701 uint32_t replicate_nodex_idx, uint32_t node_cmd_id,
744 uint32_t replicate_nodex_idx, uint32_t node_cmd_id,
745 vx_reference ref[], uint32_t num_refs, uint32_t timeout);
void tivxHostInit(void)
Function to initialize OpenVX HOST side functionality.
Query the imagepatch addressing structure from a vx_image. Read-Only. Can be read at initialization a...
VX_API_ENTRY vx_bool VX_API_CALL tivxIsReferenceMetaFormatEqual(vx_reference ref1, vx_reference ref2)
Check for equivalence between the meta formats of two reference objects.
tivx_image_attribute_extensions_e
TI attribute extensions for the image object.
uint64_t tivxPlatformGetTimeInUsecs(void)
Get the time in micro seconds.
VX_API_ENTRY vx_status VX_API_CALL tivxSetReferenceAttribute(vx_reference ref, vx_enum attribute, const void *ptr, vx_size size)
Sets reference attributes for the below enums: TIVX_REFERENCE_TIMESTAMP.
Set/Query the node level timeout parameter. Read-Write. Can be written at initialization as well as a...
void tivxInit(void)
Function to initialize OpenVX framework.
tivx_reference_attribute_extensions_e
TI attribute extensions for the reference object.
VX_API_ENTRY vx_status VX_API_CALL tivxSetKernelSinkDepth(vx_kernel kernel, uint32_t num_sink_bufs)
Set the number of sink buffers.
Interface to Tensor APIs (modeled after OpenVX 1.2 tensor support)
The OpenVX Bidirectional Parameters extension API.
vx_bool tivxIsTargetEnabled(const char target_name[])
Utility function to know if target is enabled or not.
The TI Raw Image extension.
vx_status VX_API_CALL tivxGetNodeParameterNumBufByIndex(vx_node node, vx_uint32 idx, vx_uint32 *num_buf)
Get number of buffers to allocate at output of a node parameter.
tivx_df_image_e
Based on the VX_DF_IMAGE definition.
Returns a boolean indicating whether or not a reference is invalid.
struct _vx_context * vx_context
vx_node tivxGraphGetNode(vx_graph graph, uint32_t idx)
This API is used to get a reference to a node within a graph at a given index within the graph...
Indicates the base for the TIVX error codes. Used for bounds checks only.
Returns the timestamp in micro-seconds corresponding to the given reference.
vx_status VX_API_CALL tivxSetNodeParameterNumBufByIndex(vx_node node, vx_uint32 idx, vx_uint32 num_buf)
Set number of buffers to allocate at output of a node parameter.
struct _vx_reference * vx_reference
The OpenVX Pipelining, Streaming and Batch Processing extension API.
A single plane of packed 12-bit data.
vx_status(* vx_publish_kernels_f)(vx_context context)
void tivxDeInit(void)
Function to de-initialize OpenVX framework.
The Internal Debugging API.
vx_status VX_API_CALL tivxSetGraphPipelineDepth(vx_graph graph, vx_uint32 pipeline_depth)
Indicates to the implementation the depth of the graph pipeline.
vx_reference tivxGetReferenceParent(vx_reference child_ref)
Utility function to extract the parent reference from an element.
tivx_context_attribute_extensions_e
TI attribute extensions for the context object.
vx_node tivxCreateNodeByKernelRef(vx_graph graph, vx_kernel kernel, vx_reference params[], vx_uint32 num)
Utility function to create a node given parameter references and kernel reference.
vx_node tivxCreateNodeByKernelEnum(vx_graph graph, vx_enum kernelenum, vx_reference params[], vx_uint32 num)
Utility function to create a node given parameter references and kernel enum.
The TI Super Node extension.
Set/Query the kernel level timeout parameter. Read-Write. Can be written at initialization as well as...
tivx_node_attribute_extensions_e
TI attribute extensions for the node object.
#define VX_ATTRIBUTE_BASE(vendor, object)
Query the reference to see if the associated buffer has been allocated. Note that this is only applic...
vx_status VX_API_CALL tivxNodeSendCommand(vx_node node, uint32_t replicate_nodex_idx, uint32_t node_cmd_id, vx_reference ref[], uint32_t num_refs)
Send node specific Control command.
Interface to Memory allocation and deallocation APIs.
tivx_tensor_attribute_extensions_e
TI attribute extensions for the tensor object.
The list of supported kernels in the TIOVX.
Parameter allowing an application to query or set the stride Y alignment of a vx_image. By default, this value will be set to TIVX_DEFAULT_STRIDE_Y_ALIGN. Care must be taken to understand the requirements of the hardware which is consuming or producing the vx_image. Hardware which is being used via an OpenVX node has verification time errors thrown if the alignment is not in accordance with the requirements of the hardware, but alignment requirements of other hardware which is outside the scope of TIOVX (i.e., codecs) must be understood by the application developer and taken into consideration when creating the image consumed by that hardware. (For instance, the default value was originally chosen since this is a requirement of codec used on TI Jacinto devices) Read-Write. Can be read at any time, but only written to prior to the allocation of the buffer. Cannot be applied to subimages or images with subimages. If attempting to modify as a part of an object array, the exemplar itself shall be set rather than the elements of the object array Use a vx_uint32 parameter.
struct _vx_kernel * vx_kernel
Query the context number of user kernel ID's. Read-Only. Can be read at initialization as well as at ...
VX_API_ENTRY vx_status VX_API_CALL tivxSetNodeTileSize(vx_node node, vx_uint32 block_width, vx_uint32 block_height)
Sets the tile size for a given node in a graph. This is only valid for BAM-enabled kernels on C66 DSP...
tivx_status_e
The enumeration of all TIVX operational error codes.
a NV12 frame of packed 12-bit data.
#define VX_DF_IMAGE(a, b, c, d)
Query the node to see if it has timed out. Read-Only. Can be read at initialization as well as at run...
A single plane of 32-bit pixel as 4 interleaved 8-bit units of B then G then R data, then a don't care byte. This uses the BT709 full range by default.
tivx_graph_attribute_extensions_e
TI attribute extensions for the graph object.
vx_status VX_API_CALL tivxNodeSendCommandTimed(vx_node node, uint32_t replicate_nodex_idx, uint32_t node_cmd_id, vx_reference ref[], uint32_t num_refs, uint32_t timeout)
Send node specific Control command.
Returns the target string corresponding to the node.
VX_API_ENTRY vx_status VX_API_CALL tivxReferenceExportHandle(const vx_reference ref, void *addr[], uint32_t size[], uint32_t max_num_entries, uint32_t *num_entries)
Exports the handles from a reference object.
Query the context number of user library ID's. Read-Only. Can be read at initialization as well as at...
VX_API_ENTRY vx_status VX_API_CALL tivxAddKernelTarget(vx_kernel kernel, const char *target_name)
Associate a target with a kernel.
void tivxHostDeInit(void)
Function to de-initialize OpenVX HOST side functionality.
vx_enum tivxGetSelfCpuId(void)
Return CPU ID of the CPU on which this API is called.
VX_API_ENTRY vx_reference VX_API_CALL tivxCreateReferenceFromExemplar(vx_context context, vx_reference exemplar)
Create reference from a exemplar object.
Returns the graph stream executions. Read-only. Use a vx_uint32 parameter.
Interface to TI run-time logging APIs.
tivx_kernel_attribute_extensions_e
TI attribute extensions for the kernel object.
Query the strides from a vx_tensor object. Read-Only. Can be read at initialization as well as at run...
struct _vx_graph * vx_graph
VX_API_ENTRY vx_status VX_API_CALL tivxRegisterModule(const char *name, vx_publish_kernels_f publish, vx_unpublish_kernels_f unpublish)
Register publish and unpublish functions against a module name.
A single plane of packed 16-bit RGB565 data.
VX_API_ENTRY vx_status VX_API_CALL tivxReferenceImportHandle(vx_reference ref, const void *addr[], const uint32_t size[], uint32_t num_entries)
Updates a reference object with the supplied handles (pointers to memory).
vx_bool tivxIsReferenceVirtual(vx_reference ref)
Utility function to check if the given reference is virtual or not.
VX_API_ENTRY vx_status VX_API_CALL tivxUnRegisterModule(const char *name)
UnRegister publish and unpublish functions if previously registered.
struct _vx_node * vx_node
vx_node tivxCreateNodeByKernelName(vx_graph graph, const char *kernel_name, vx_reference params[], vx_uint32 num)
Utility function to create a node given parameter references and kernel name.
vx_status(* VX_API_CALL)(vx_reference *ref)
Callback type used to register release callbacks from object derived from references.
The OpenVX User Data Object extension API.