72 #include <TI/tivx_nodes.h> 77 #include <TI/tivx_soc.h> 93 #define TIVX_TARGET_MAX_NAME (64u) 103 #define TIVX_TARGET_HOST "HOST" 110 #define TIVX_RESOURCE_NAME_MAX (39u) 117 #define TIVX_CONFIG_PATH_LENGTH (512u) 128 #define TIVX_GRAPH_PARAMETER_ENQUEUE_FLAG_PIPEUP (0x00000001u) 138 #define TIVX_CONTROL_CMD_SEND_TO_ALL_REPLICATED_NODES ((uint32_t)-1) 146 #define TIVX_GRAPH_MAX_SUPER_NODES (8u) 151 #define TIVX_MAX_DSP_BAM_USER_PLUGINS (8u) 156 #define TIVX_SUPER_NODE_MAX_NODES (16u) 161 #define TIVX_SUPER_NODE_MAX_EDGES (16u) 166 #define TIVX_SUPER_NODE_MAX_OBJECTS (16u) 177 #define TIVX_PYRAMID_MAX_LEVELS_ORB (17u) 182 #define TIVX_MAX_KERNEL_ID (VX_KERNEL_MASK) 187 #define TIVX_MAX_LIBRARY_ID (VX_LIBRARY(VX_LIBRARY_MASK)) 196 typedef struct _tivx_resource_stats_t {
216 typedef enum _tivx_attribute_extensions_e {
303 typedef enum _tivx_df_image_e {
330 typedef enum _tivx_status_e {
514 #define dimof(x) (sizeof(x)/sizeof(x[0])) 567 const char *kernel_name,
761 uint32_t replicate_nodex_idx, uint32_t node_cmd_id,
805 uint32_t replicate_nodex_idx, uint32_t node_cmd_id,
806 vx_reference ref[], uint32_t num_refs, uint32_t timeout);
void tivxHostInit(void)
Function to initialize OpenVX HOST side functionality.
uint32_t min_required_value
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.
vx_status VX_API_CALL tivxGetNodeParameterNumBufByIndex(vx_node node, vx_uint32 index, vx_uint32 *num_buf)
Get number of buffers to allocate at output of a node parameter.
Interface to Memory allocation and deallocation APIs.
#define TIVX_RESOURCE_NAME_MAX
Max size of macro.
tivx_attribute_extensions_e
TI attribute extensions.
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.
vx_status tivxExportAllResourceMaxUsedValueToFile(void)
Exports the max used values to a file.
void tivxInit(void)
Function to initialize OpenVX framework.
VX_API_ENTRY vx_status VX_API_CALL tivxSetKernelSinkDepth(vx_kernel kernel, uint32_t num_sink_bufs)
Set the number of sink buffers.
vx_status VX_API_CALL tivxSetNodeParameterNumBufByIndex(vx_node node, vx_uint32 index, vx_uint32 num_buf)
Set number of buffers to allocate at output of a node parameter.
Interface to Tensor APIs (modeled after OpenVX 1.2 tensor support)
Set/Query the node level timeout parameter. Read-Write. Can be written at initialization as well as a...
vx_bool tivxIsTargetEnabled(const char target_name[])
Utility function to know if target is enabled or not.
The TI Raw Image extension.
tivx_df_image_e
Based on the VX_DF_IMAGE definition.
struct _vx_context * vx_context
Query the strides from a vx_tensor object. Read-Only. Can be read at initialization as well as at run...
Indicates the base for the TIVX error codes. Used for bounds checks only.
Query the imagepatch addressing structure from a vx_image. Read-Only. Can be read at initialization a...
struct _vx_reference * vx_reference
The OpenVX Pipelining, Streaming and Batch Processing extension API.
Query the graph pipeline depth. Read-Only. Can be read at initialization as well as at runtime...
Indicates that the wait operation on an event timed-out.
The Internal Debugging API.
A single plane of packed 12-bit data.
vx_status(* vx_publish_kernels_f)(vx_context context)
Query the context number of user library ID's. Read-Only. Can be read at initialization as well as at...
void tivxDeInit(void)
Function to de-initialize OpenVX framework.
VX_API_ENTRY vx_status VX_API_CALL tivxReferenceExportHandle(const vx_reference ref, void *addr[], uint32_t size[], uint32_t max_entries, uint32_t *num_entries)
Exports the handles from a reference object.
Struct containing config parameters of given static resource. Allows for a log to be kept of the reso...
vx_status VX_API_CALL tivxSetGraphPipelineDepth(vx_graph graph, vx_uint32 pipeline_depth)
Indicates to the implementation the depth of the graph pipeline.
vx_status VX_API_CALL tivxGraphParameterEnqueueReadyRef(vx_graph graph, vx_uint32 graph_parameter_index, vx_reference *refs, vx_uint32 num_refs, vx_uint32 flags)
Same as vxGraphParameterEnqueueReadyRef except that it take an additional TIOVX specific flag paramet...
vx_reference tivxGetReferenceParent(vx_reference child_ref)
Utility function to extract the parent reference from an element.
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...
#define VX_ATTRIBUTE_BASE(vendor, object)
Returns a boolean indicating whether or not a reference is invalid.
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.
struct _vx_user_data_object * vx_user_data_object
The User Data Object. User Data Object is a strongly-typed container for other data structures...
VX_API_ENTRY vx_status VX_API_CALL tivxSetUserDataObjectAttribute(vx_user_data_object user_data_object, vx_enum attribute, const void *ptr, vx_size size)
Sets attributes on the user data object.
The list of supported kernels in the TIOVX.
struct _vx_kernel * vx_kernel
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.
Sets the valid data size within the user data object.
a NV12 frame of packed 12-bit data.
#define VX_DF_IMAGE(a, b, c, d)
vx_status tivxQueryResourceStats(const char *resource_name, tivx_resource_stats_t *stat)
Query resource for resource stats.
Set/Query the graph level timeout parameter. Read-Write. Can be written at initialization as well as ...
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.
Returns the target string corresponding to the node.
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.
vx_node tivxGraphGetNode(vx_graph graph, uint32_t index)
This API is used to get a reference to a node within a graph at a given index within the graph...
VX_API_ENTRY vx_status VX_API_CALL tivxAddKernelTarget(vx_kernel kernel, const char *target_name)
Associate a target with a kernel.
Returns the timestamp in micro-seconds corresponding to the given reference.
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.
Interface to TI run-time logging APIs.
Returns the graph stream executions. Read-only. Use a vx_uint32 parameter.
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).
Query the context number of user kernel ID's. Read-Only. Can be read at initialization as well as at ...
vx_status VX_API_CALL tivxExportGraphToDot(vx_graph graph, const char *output_file_path, const char *output_file_prefix)
Export graph representation as DOT graph file.
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 dervied from references.
void tivxPrintAllResourceStats(void)
Prints out resource stats.
The OpenVX User Data Object extension API.