TIOVX User Guide

Detailed Description

Internal APIs for utility operations.

Defines

#define TIVX_ALIGN(value, align)   ((((value)+((align)-1U))/(align))*(align))
 Macro to align a 'value' to 'align' units.
 
#define TIVX_FLOOR(value, align)   (((value)/(align))*(align))
 Macro to floor a 'value' to 'align' units.
 
#define TIVX_DEFAULT_STRIDE_Y_ALIGN   (16U)
 Macro to specify default alignment to use for stride in Y-direction. More...
 
#define TIVX_TYPE_IS_SCALAR(type)   (((vx_enum)VX_TYPE_INVALID < (type)) && ((type) < (vx_enum)VX_TYPE_SCALAR_MAX))
 Used to determine if a type is a scalar.
 
#define TIVX_TYPE_IS_STRUCT(type)   (((type) >= (vx_enum)VX_TYPE_RECTANGLE) && ((type) < (vx_enum)VX_TYPE_KHRONOS_STRUCT_MAX))
 Used to determine if a type is a struct.
 
#define TIVX_TYPE_IS_OBJECT(type)   (((type) >= (vx_enum)VX_TYPE_REFERENCE) && ((type) < (vx_enum)VX_TYPE_KHRONOS_OBJECT_END))
 Used to determine if a type is an Khronos defined object.
 
#define TIVX_TYPE_IS_TI_OBJECT(type)   (((type) >= (vx_enum)VX_TYPE_VENDOR_OBJECT_START) && ((type) < (vx_enum)VX_TYPE_VENDOR_OBJECT_END))
 Used to determine if a type is TI defined object.
 
#define TIVX_MAGIC   (0xFACEC0DEU)
 A magic value to look for and set in references.
 
#define TIVX_BAD_MAGIC   (42U)
 A magic value to look for and set in references. Used to indicate a free'ed reference.
 
#define VX_CHECK_PARAM(ptr, size, type, align)   ((NULL != ptr) && (size == sizeof(type)) && (((vx_size)ptr & align) == 0U))
 A parameter checker for size and alignment.
 

Enumerations

enum  tivx_type_e { ,
  TIVX_TYPE_ARRAY_MAP_INFO = (vx_enum)VX_TYPE_VENDOR_STRUCT_START + 1,
  TIVX_TYPE_IMAGE_MAP_INFO = (vx_enum)VX_TYPE_VENDOR_STRUCT_START + 2,
  TIVX_TYPE_RAW_IMAGE_MAP_INFO = (vx_enum)VX_TYPE_VENDOR_STRUCT_START + 3,
  TIVX_TYPE_TENSOR_MAP_INFO = (vx_enum)VX_TYPE_VENDOR_STRUCT_START + 4,
  TIVX_TYPE_USER_DATA_OBJECT_MAP_INFO = (vx_enum)VX_TYPE_VENDOR_STRUCT_START + 5,
  TIVX_TYPE_EVENT_QUEUE_ELEMENT = (vx_enum)VX_TYPE_VENDOR_STRUCT_START + 6,
  TIVX_TYPE_TARGET = (vx_enum)VX_TYPE_VENDOR_STRUCT_START + 7,
  TIVX_TYPE_TARGET_KERNEL_INSTANCE = (vx_enum)VX_TYPE_VENDOR_STRUCT_START + 8,
  TIVX_TYPE_TARGET_KERNEL = (vx_enum)VX_TYPE_VENDOR_STRUCT_START + 9,
  TIVX_TYPE_DELAY_PARAM = (vx_enum)VX_TYPE_VENDOR_STRUCT_START + 10,
  TIVX_TYPE_EVENT = (vx_enum)VX_TYPE_VENDOR_STRUCT_START + 11,
  TIVX_TYPE_UINTPTR = (vx_enum)VX_TYPE_VENDOR_STRUCT_START + 12,
  TIVX_TYPE_CONTEXT_USER_STRUCTS = (vx_enum)VX_TYPE_VENDOR_STRUCT_START + 13,
  TIVX_TYPE_GRAPH_PARAMETERS = (vx_enum)VX_TYPE_VENDOR_STRUCT_START + 14,
  TIVX_TYPE_DATA_REF_QUEUE_LIST = (vx_enum)VX_TYPE_VENDOR_STRUCT_START + 15,
  TIVX_TYPE_DELAY_DATA_REF_QUEUE_LIST = (vx_enum)VX_TYPE_VENDOR_STRUCT_START + 16
}
 TIVX defined reference types. More...
 

Functions

static void tivx_uint32_to_uint64 (volatile uint64_t *val, uint32_t h, uint32_t l)
 Macro to convert 2x uint32 to uint64.
 
static void tivx_uint64_to_uint32 (uint64_t val, volatile uint32_t *h, volatile uint32_t *l)
 Macro to convert uint64 to 2x uint32.
 

Macro Definition Documentation

◆ TIVX_DEFAULT_STRIDE_Y_ALIGN

#define TIVX_DEFAULT_STRIDE_Y_ALIGN   (16U)

Macro to specify default alignment to use for stride in Y-direction.

HWA nodes require 16 byte alignment

Definition at line 105 of file vx_internal.h.

Enumeration Type Documentation

◆ tivx_type_e

TIVX defined reference types.

Enumerator
TIVX_TYPE_ARRAY_MAP_INFO 

Data reference queue type.

TIVX_TYPE_IMAGE_MAP_INFO 

A tivx_array_map_info.

TIVX_TYPE_RAW_IMAGE_MAP_INFO 

A tivx_image_map_info.

TIVX_TYPE_TENSOR_MAP_INFO 

A tivx_raw_image_map_info.

TIVX_TYPE_USER_DATA_OBJECT_MAP_INFO 

A tivx_tensor_map_info.

TIVX_TYPE_EVENT_QUEUE_ELEMENT 

A tivx_user_data_object_map_info.

TIVX_TYPE_TARGET 

A tivx_event_queue_elem.

TIVX_TYPE_TARGET_KERNEL_INSTANCE 

A tivx_target.

TIVX_TYPE_TARGET_KERNEL 

A tivx_target_kernel_instance.

TIVX_TYPE_DELAY_PARAM 

A tivx_target_kernel.

TIVX_TYPE_EVENT 

A tivx_delay_param.

TIVX_TYPE_UINTPTR 

A tivx_event.

TIVX_TYPE_CONTEXT_USER_STRUCTS 

A uintptr.

TIVX_TYPE_GRAPH_PARAMETERS 

A context->user_structs.

TIVX_TYPE_DATA_REF_QUEUE_LIST 

A graph->parameters.

TIVX_TYPE_DELAY_DATA_REF_QUEUE_LIST 

A graph->data_ref_q_list.

Definition at line 140 of file vx_internal.h.