TI Deep Learning Product User Guide
itidl_ti.h File Reference

Introduction

This file defines the ivision interface for TI deep learning library.

Version
0.1 Oct 2016 : Initial Code
0.5 Jun 2018 : Cleaned up
1.0 Sep 2019 : Updated

Go to the source code of this file.

#define USE_IVISION   (1)
 
#define TIDL_NUM_MAX_LAYERS   ((int32_t) 1024)
 
#define TIDL_NUM_IN_BUFS   ((int32_t) 16)
 
#define TIDL_NUM_OUT_BUFS   ((int32_t) 16)
 
#define TIDL_STRING_SIZE   ((int32_t) 512)
 
#define TIDL_MAX_DATA_BUFS   ((int32_t) 1024)
 
#define TIDL_MAX_ALG_IN_BUFS   ((int32_t) 32)
 
#define TIDL_MAX_ALG_OUT_BUFS   ((int32_t) 32)
 
#define TIDL_MAX_NUM_GROUPS   ((int32_t) 64)
 
typedef float float32_tidl
 
typedef double float64_tidl
 
typedef int32_t(* TIDL_Lock_t) (void)
 Call back function pointer to lock interrupts. More...
 
typedef void(* TIDL_Unlock_t) (int32_t)
 Call back function pointer to unlock interrupts. More...
 
const IVISION_Fxns TIDL_VISION_FXNS
 The unique const function table for the TI deep learning algorithm. More...
 

Data Structures

struct  sBuffer_t
 This structure define the parameters of data or kernel buffer memory in TIDL. More...
 
struct  sTIDL_sysMemHandle_t
 This structure defines the system memory handles in TIDL There are total four handles: 0: L1, 1:L2, 2:L3 and 3:DDR. More...
 
struct  sTIDL_DataParams_t
 This structure define the parameters of data or kernel buffer used by TIDL layers (In,Out) More...
 
struct  sTIDL_DataLayerParams_t
 This structure define the parameters of Data layer in TIDL. More...
 
struct  sTIDL_ShuffleLayerParams_t
 This structure define the parameters of Shuffle layer in TIDL. More...
 
struct  sTIDL_DepthToSpaceParams_t
 This structure define the parameters of Depth To Space layer in TIDL. More...
 
struct  sTIDL_PadLayerParams_t
 This structure define the parameters of Pad layer in TIDL. More...
 
struct  sTIDL_odOutputReformatLayerParams_t
 This structure define the parameters of the OD output reformatting layer in TIDL. More...
 
struct  sTIDL_ResizeLayerParams_t
 This structure define the parameters of Resize layer in TIDL. More...
 
struct  sTIDL_RoiPoolingLayerParams_t
 This structure define the parameters of ROI Pooling layer in TIDL. More...
 
struct  sTIDL_SliceLayerParams_t
 
struct  sTIDL_ActParams_t
 This structure define the parameters of ReLU activation layer in TIDL. More...
 
struct  sTIDL_CalibParams_t
 This structure define the parameters of ReLU activation layer in TIDL. More...
 
struct  sTIDL_ArgMaxParams_t
 This structure define the parameters Arg max layer in TIDL. More...
 
struct  sTIDL_PoolingParams_t
 This structure define the parameters spatial Pooling layer in TIDL. More...
 
struct  sTIDL_CustomParams_t
 This structure defines the parameters for custom layer in TIDL. More...
 
struct  sTIDL_ConvParams_t
 This structure define the parameters Convolution Layer in TIDL. More...
 
struct  sTIDL_DetectOutputParams_t
 This structure define the parameters of Detection Output Layer in TIDL. More...
 
struct  sTIDL_AnchorBoxParams_t
 This structure define the parameters of AnchorBox used by Detection Output Layer in TIDL. More...
 
struct  sTIDL_ConcatParams_t
 This structure define the parameters of PriorBox layer in TIDL. More...
 
struct  sTIDL_BatchNormParams_t
 This structure define the parameters of Batch Norm layer in TIDL. More...
 
struct  sTIDL_BiasParams_t
 This structure define the parameters of Bias layer in TIDL. More...
 
struct  sTIDL_InnerProductParams_t
 This structure define the parameters of Inner Product (Fully connected) layer in TIDL. More...
 
struct  sTIDL_EltWiseParams_t
 This structure define the parameters of Element wise layer in TIDL. More...
 
struct  sTIDL_SoftMaxParams_t
 This structure define the parameters Soft max layer in TIDL. More...
 
struct  sTIDL_CropParams_t
 This structure define the parameters Crop layer in TIDL. More...
 
struct  sTIDL_dataConvertParams_t
 This structure define the parameters Dat Convert layer in TIDL. More...
 
struct  sTIDL_ReduceParams_t
 This structure define common parameters ReduceMax/ReduceMin layer in TIDL. More...
 
struct  sTIDL_ScatterElementsParams_t
 This structure define the parameters ScatterElements layer in TIDL. More...
 
struct  sTIDL_LayerParams_t
 This union define the layer specific parameters of all the supported layers in TIDL. More...
 
struct  sTIDL_Layer_t
 This structure define the common layer parameters in TIDL. More...
 
struct  sTIDL_Network_t
 This structure define the parameters CNN/Deep learning net in TIDL. More...
 
struct  sTIDL_IOBufDesc_t
 This structure defines the Input and output buffer descriptors required for a given Layer group. More...
 
struct  TIDL_CreateParams
 This structure contains all the parameters which TI DL library at create time. More...
 
struct  TIDL_InArgs
 This structure contains all the parameters which controls the applet at create time. More...
 
struct  TIDL_outArgs
 This structure contains all the parameters which controls the applet at create time. More...
 
struct  TIDL_ODLayerHeaderInfo
 This structure contains the header information of Objection detection layer. More...
 
struct  TIDL_ODLayerKeyPoint
 This structure contains the key points information of BBox detected by OD layer. More...
 
struct  TIDL_ODLayerObjInfo
 This structure contains the each object's information detected by Objection detection layer. More...
 
struct  TIDL_3DODLayerObjInfo
 This structure contains the each object's information detected by 3D Objection detection layer. More...
 

Macros

#define TIDL_OD_MAX_KEYPOINTS   (16)
 
#define TIDL_OD_MAX_ANCHORS_PER_HEAD   (16)
 
#define TIDL_NET_VERSION   (0x20211201)
 
#define TIDL_OD_MAX_KEY_POINTS   (32)
 
TIDL Layer Type

This group defines the different types of layers used in deep learning algorithms

#define TIDL_DataLayer   ((int32_t) 0)
 
#define TIDL_ConvolutionLayer   ((int32_t) 1)
 
#define TIDL_PoolingLayer   ((int32_t) 2)
 
#define TIDL_ReLULayer   ((int32_t) 3)
 
#define TIDL_PReLULayer   ((int32_t) 4)
 
#define TIDL_EltWiseLayer   ((int32_t) 5)
 
#define TIDL_InnerProductLayer   ((int32_t) 6)
 
#define TIDL_SoftMaxLayer   ((int32_t) 7)
 
#define TIDL_BatchNormLayer   ((int32_t) 8)
 
#define TIDL_BiasLayer   ((int32_t) 9)
 
#define TIDL_ScaleLayer   ((int32_t) 10)
 
#define TIDL_Deconv2DLayer   ((int32_t) 11)
 
#define TIDL_ConcatLayer   ((int32_t) 12)
 
#define TIDL_SplitLayer   ((int32_t) 13)
 
#define TIDL_SliceLayer   ((int32_t) 14)
 
#define TIDL_CropLayer   ((int32_t) 15)
 
#define TIDL_FlattenLayer   ((int32_t) 16)
 
#define TIDL_DropOutLayer   ((int32_t) 17)
 
#define TIDL_ArgMaxLayer   ((int32_t) 18)
 
#define TIDL_DetectionOutputLayer   ((int32_t) 19)
 
#define TIDL_ShuffleChannelLayer   ((int32_t) 20)
 
#define TIDL_ResizeLayer   ((int32_t) 21)
 
#define TIDL_RoiPoolingLayer   ((int32_t) 22)
 
#define TIDL_OdPostProcessingLayer   ((int32_t) 23)
 
#define TIDL_DepthToSpaceLayer   ((int32_t) 24)
 
#define TIDL_SigmoidLayer   ((int32_t) 25)
 
#define TIDL_PadLayer   ((int32_t) 26)
 
#define TIDL_ColorConversionLayer   ((int32_t) 27)
 
#define TIDL_OdOutputReformatLayer   ((int32_t) 28)
 
#define TIDL_DataConvertLayer   ((int32_t) 29)
 
#define TIDL_CustomLayer   ((int32_t) 30)
 
#define TIDL_BatchReshapeLayer   ((int32_t) 31)
 
#define TIDL_ReduceLayer   ((int32_t) 32)
 
#define TIDL_ScatterElementsLayer   ((int32_t) 33)
 
#define TIDL_SqueezeLayer   ((int32_t) 34)
 
#define TIDL_UnsupportedLayer   ((int32_t) 35)
 
TIDL Element Type

This group defines the different types of element type used by TIDL library

#define TIDL_UnsignedChar   ((int32_t) 0)
 
#define TIDL_SignedChar   ((int32_t) 1)
 
#define TIDL_UnsignedShort   ((int32_t) 2)
 
#define TIDL_SignedShort   ((int32_t) 3)
 
#define TIDL_UnsignedWord   ((int32_t) 4)
 
#define TIDL_SignedWord   ((int32_t) 5)
 
#define TIDL_SinglePrecFloat   ((int32_t) 6)
 
#define TIDL_UnsignedDoubleWord   ((int32_t) 7)
 
#define TIDL_SignedDoubleWord   ((int32_t) 8)
 
Tenosr Layout Type

This group defines the indices Tenosr Layout Type suported by TIDL library

#define TIDL_LT_NCHW   ((uint32_t) 0)
 
#define TIDL_LT_NHWC   ((uint32_t) 1)
 
#define TIDL_LT_MAX   (TIDLRT_LT_NHWC+1)
 
Tenosr Data convertion layer type

This group defines the Tenosr Data convertion layer typesuported by TIDL library

#define TIDL_DC_TYPE_INPUT   ((uint32_t) 0)
 
#define TIDL_DC_TYPE_OUTPUT   ((uint32_t) 1)
 
#define TIDL_DC_TYPE_MAX   (TIDL_DC_TYPE_OUTPUT+1)
 
TIDL Quantization Style

This group defines the different types of quantization Styles supported by TIDL library

#define TIDL_QuantStyleFixed   ((int32_t) 0)
 In this case, TIDL expects the Quantization information via interface. This is supported by caffe-jacinto training framework - Currently not supported for user. More...
 
#define TIDL_QuantStyleDynamic   ((int32_t) 1)
 IDynamic quantization does not depend on training. Quantization of kernel weights happen during model import using tool. More...
 
#define TIDL_QuantStyleNP2Fixed   ((int32_t) 2)
 Non Power of two scale for Weight and Power of two scale for Feature. Weight scale is Fixed and Feature scale is Dynamic. More...
 
#define TIDL_QuantStyleP2Dynamic   ((int32_t) 3)
 Power of two scale for both Weight and Feature. Weight scale is Fixed and Feature scale is Dynamic. More...
 
#define TIDL_QuantStyleCustom   ((int32_t) 10)
 Currently not supported for user. More...
 
TIDL Calibration Option

This group defines the different types of calibration options supported by TIDL library

#define TIDL_CalibOptionActivationRange   ((int32_t) 1)
 This option is to enable different methods to find activation range for quantization. If this bit field is 0 then simple min and max based range will be used for activation quantization. More...
 
#define TIDL_CalibOptionWeightRange   ((int32_t) 2)
 This option is to enable different methods to find weight range for quantization. If this bit field is 0 then simple min and max based range will be used for weight quantization. More...
 
#define TIDL_CalibOptionBiasCalibration   ((int32_t) 4)
 This option enables advanced bias calibration. More...
 
#define TIDL_CalibOptionPerChannelWeightQuantization   ((int32_t) 8)
 This option enables per channel quantization for weights for depthwise separable convolution layers. More...
 
#define TIDL_CalibOptionMixedPrecisionDepthwise   ((int32_t) 16)
 This option enables mixed precision for all depthwise convolution layers i.e. all depthwise convolution layers weights will be 16 bit and processing will happen in 16 bit with final weights in 8 bits. More...
 
#define TIDL_CalibOptionMixedPrecisionInput   ((int32_t) 32)
 This option enables mixed precision ( 16 bit weights) for the first convolution layer after the intput data layer. More...
 
#define TIDL_CalibOptionBiasRange   ((int32_t) 64)
 This option enables Bias Range clipping to avoid weight scale saturation. More...
 
TIDL Activation Range Method

This group defines the various supported algos for activation range collection

#define TIDL_ActivationRangeMethodHistogram   ((int32_t) 0)
 This option uses histogram to find the minimum and maximum activation range of each layer. Here Histogram is reset after each frame. More...
 
#define TIDL_ActivationRangeMethodGlobalHistogram   ((int32_t) 1)
 This option uses histogram to find the minimum and maximum activation range. Here the histogram is computed across all the frames used for calibration. More...
 
TIDL Weight Range Method

This group defines the various supported algos for weight range collection

#define TIDL_WeightRangeMethodHistogram   ((int32_t) 0)
 This option uses histogram to find the minimum and maximum weight range. More...
 
#define TIDL_WeightRangeMethodMedian   ((int32_t) 1)
 This option uses median to find the minimum and maximum weight range. More...
 
TIDL Memory Optimization Method

This group defines the different types of optimizations supported by TIDL library

#define TIDL_OptimiseExtMemL0   ((int32_t) 0)
 In this case, no optimization in output memory, output buffer will not re-use memory from previous layers, so algorithm uses more external memory. This is Currently used for debugging. More...
 
#define TIDL_OptimiseExtMemL1   ((int32_t) 1)
 In this case, output buffer will re-use memory from previous layers when they have same width and height, so algorithm uses less external memory compare to L0 case. More...
 
#define TIDL_OptimiseExtMemL2   ((int32_t) 2)
 In this case, output buffer will re-use memory from previous layers when they have different width and height, so algorithm uses less external memory compare to L1 case. More...
 
TIDL Kernel Type

This group defines the different types of optimizations in kernel types supported by TIDL

#define TIDL_Sparse   ((int32_t) 0)
 In this case, only non zero coefficients are considered for convolution. More...
 
#define TIDL_Dense   ((int32_t) 1)
 In this case, all coefficients are considered for convolution. More...
 
TIDL Stride Offset Method

This group defines the different logic to choose offset for kernels/windows with stride greater than 1

#define TIDL_StrideOffsetTopLeft   ((int32_t) 0)
 
#define TIDL_StrideOffsetCenter   ((int32_t) 1)
 
#define TIDL_StrideOffsetMax   ((int32_t) 2)
 
TIDL Pooling Type

This group defines the different types of spatial pooling supported by TIDL library

#define TIDL_MaxPooling   ((int32_t) 0)
 
#define TIDL_AveragePooling   ((int32_t) 1)
 
TIDL Activation Type

This group defines the different activation types supported by TIDL library

#define TIDL_NoAct   ((int32_t) 0)
 
#define TIDL_RelU   ((int32_t) 1)
 
#define TIDL_PRelU   ((int32_t) 2)
 
#define TIDL_RelU6   ((int32_t) 3)
 
#define TIDL_Clip   ((int32_t) 4)
 
#define TIDL_Sigmoid   ((int32_t) 5)
 
TIDL Element Wise Type

This group defines the different types of eltWise layer operations supported by TIDL library

#define TIDL_EltWiseProduct   ((int32_t) 0)
 
#define TIDL_EltWiseSum   ((int32_t) 1)
 
#define TIDL_EltWiseMax   ((int32_t) 2)
 
TIDL Data Dimension Index

This group defines the indices of dimension array of layer data buffer in TIDL library

#define TIDL_DIM_BATCH   ((int32_t) 0)
 
#define TIDL_DIM_NUMCH   ((int32_t) 1)
 
#define TIDL_DIM_HEIGHT   ((int32_t) 2)
 
#define TIDL_DIM_WIDTH   ((int32_t) 3)
 
#define TIDL_DIM_MAX   ((int32_t) 4)
 
TIDL Pitch Dimension Index

This group defines the indices of pitch array of layer data buffer in TIDL library

#define TIDL_ROI_PITCH   ((uint32_t) 0)
 
#define TIDL_CHANNEL_PITCH   ((uint32_t) 1)
 
#define TIDL_LINE_PITCH   ((uint32_t) 2)
 
#define TIDL_PITCH_MAX   ((uint32_t) (TIDL_DIM_MAX - 1))
 
TIDL Error Type

This group defines error numbers that have to be set when layer parameters deviate from expected range of values.

#define TIDL_E_CONVOLUTION   ((int32_t) -1000)
 
#define TIDL_E_CONV_INVALID_INPUT_WIDTH   ((int32_t) (TIDL_E_CONVOLUTION - 0))
 
#define TIDL_E_CONV_INVALID_INPUT_HEIGHT   ((int32_t) (TIDL_E_CONVOLUTION - 1))
 
#define TIDL_E_CONV_INVALID_OUTPUT_WIDTH   ((int32_t) (TIDL_E_CONVOLUTION - 2))
 
#define TIDL_E_CONV_INVALID_OUTPUT_HEIGHT   ((int32_t) (TIDL_E_CONVOLUTION - 3))
 
#define TIDL_E_CONV_INVALID_NUM_IN_CHANNELS   ((int32_t) (TIDL_E_CONVOLUTION - 4))
 
#define TIDL_E_CONV_INVALID_NUM_OUT_CHANNELS   ((int32_t) (TIDL_E_CONVOLUTION - 5))
 
#define TIDL_E_CONV_INVALID_KER_WIDTH   ((int32_t) (TIDL_E_CONVOLUTION - 6))
 
#define TIDL_E_CONV_INVALID_KER_HEIGHT   ((int32_t) (TIDL_E_CONVOLUTION - 7))
 
#define TIDL_E_CONV_INVALID_KER_TYPE   ((int32_t) (TIDL_E_CONVOLUTION - 8))
 
#define TIDL_E_CONV_INVALID_STRIDE_WIDTH   ((int32_t) (TIDL_E_CONVOLUTION - 9))
 
#define TIDL_E_CONV_INVALID_STRIDE_HEIGHT   ((int32_t) (TIDL_E_CONVOLUTION - 10))
 
#define TIDL_E_CONV_NEGATIVE_OUTPUT_SHIFT   ((int32_t) (TIDL_E_CONVOLUTION - 11))
 
#define TIDL_E_CONV_POOL_INVALID_POOL_TYPE   ((int32_t) (TIDL_E_CONVOLUTION - 12))
 
#define TIDL_E_CONV_POOL_INVALID_KER_WIDTH   ((int32_t) (TIDL_E_CONVOLUTION - 13))
 
#define TIDL_E_CONV_POOL_INVALID_KER_HEIGHT   ((int32_t) (TIDL_E_CONVOLUTION - 14))
 
#define TIDL_E_CONV_POOL_INVALID_STRIDE_WIDTH   ((int32_t) (TIDL_E_CONVOLUTION - 15))
 
#define TIDL_E_CONV_POOL_INVALID_STRIDE_HEIGHT   ((int32_t) (TIDL_E_CONVOLUTION - 16))
 
#define TIDL_E_ELTWISE   ((int32_t) -1020)
 
#define TIDL_E_ELTWISE_INVALID_INPUT_WIDTH   ((int32_t) (TIDL_E_ELTWISE - 0))
 
#define TIDL_E_ELTWISE_INVALID_INPUT_HEIGHT   ((int32_t) (TIDL_E_ELTWISE - 1))
 
#define TIDL_E_ELTWISE_INVALID_OUTPUT_WIDTH   ((int32_t) (TIDL_E_ELTWISE - 2))
 
#define TIDL_E_ELTWISE_INVALID_OUTPUT_HEIGHT   ((int32_t) (TIDL_E_ELTWISE - 3))
 
#define TIDL_E_ELTWISE_INVALID_ELTWISE_TYPE   ((int32_t) (TIDL_E_ELTWISE - 4))
 
#define TIDL_E_ELTWISE_INVALID_NUM_CHANNELS   ((int32_t) (TIDL_E_ELTWISE - 5))
 
#define TIDL_E_POOLING   ((int32_t) -1030)
 
#define TIDL_E_POOL_INVALID_INPUT_WIDTH   ((int32_t) (TIDL_E_POOLING - 0))
 
#define TIDL_E_POOL_INVALID_INPUT_HEIGHT   ((int32_t) (TIDL_E_POOLING - 1))
 
#define TIDL_E_POOL_INVALID_OUTPUT_WIDTH   ((int32_t) (TIDL_E_POOLING - 2))
 
#define TIDL_E_POOL_INVALID_OUTPUT_HEIGHT   ((int32_t) (TIDL_E_POOLING - 3))
 
#define TIDL_E_POOL_INVALID_POOL_TYPE   ((int32_t) (TIDL_E_POOLING - 4))
 
#define TIDL_E_POOL_INVALID_NUM_CHANNELS   ((int32_t) (TIDL_E_POOLING - 5))
 
#define TIDL_E_POOL_INVALID_KER_WIDTH   ((int32_t) (TIDL_E_POOLING - 6))
 
#define TIDL_E_POOL_INVALID_KER_HEIGHT   ((int32_t) (TIDL_E_POOLING - 7))
 
#define TIDL_E_POOL_INVALID_STRIDE_WIDTH   ((int32_t) (TIDL_E_POOLING - 8))
 
#define TIDL_E_POOL_INVALID_STRIDE_HEIGHT   ((int32_t) (TIDL_E_POOLING - 9))
 
#define TIDL_E_INNER_PRODUCT   ((int32_t) -1040)
 
#define TIDL_E_IP_INVALID_NUM_IN_NODES   ((int32_t) (TIDL_E_INNER_PRODUCT - 0))
 
#define TIDL_E_IP_INVALID_NUM_OUT_NODES   ((int32_t) (TIDL_E_INNER_PRODUCT - 1))
 
#define TIDL_E_IP_NEGATIVE_OUTPUT_SHIFT   ((int32_t) (TIDL_E_INNER_PRODUCT - 2))
 
#define TIDL_E_ARGMAX   ((int32_t) -1050)
 
#define TIDL_E_ARGMAX_INVALID_NUM_CHANNELS   ((int32_t) (TIDL_E_ARGMAX - 0))
 
#define TIDL_E_BN   ((int32_t) -1060)
 
#define TIDL_E_BN_INVALID_INPUT_WIDTH   ((int32_t) (TIDL_E_BN - 0))
 
#define TIDL_E_BN_INVALID_INPUT_HEIGHT   ((int32_t) (TIDL_E_BN - 1))
 
#define TIDL_E_BN_INVALID_OUTPUT_WIDTH   ((int32_t) (TIDL_E_BN - 2))
 
#define TIDL_E_BN_INVALID_OUTPUT_HEIGHT   ((int32_t) (TIDL_E_BN - 3))
 
#define TIDL_E_BN_INVALID_NUM_CHANNELS   ((int32_t) (TIDL_E_BN - 4))
 
#define TIDL_E_BN_INVALID_ENABLE_RELU   ((int32_t) (TIDL_E_BN - 5))
 
#define TIDL_E_BN_NEGATIVE_OUTPUT_SHIFT   ((int32_t) (TIDL_E_BN - 6))
 
#define TIDL_E_CROP   ((int32_t) -1070)
 
#define TIDL_E_CROP_INVALID_INPUT_WIDTH   ((int32_t) (TIDL_E_CROP - 0))
 
#define TIDL_E_CROP_INVALID_INPUT_HEIGHT   ((int32_t) (TIDL_E_CROP - 1))
 
#define TIDL_E_CROP_INVALID_OUTPUT_WIDTH   ((int32_t) (TIDL_E_CROP - 2))
 
#define TIDL_E_CROP_INVALID_OUTPUT_HEIGHT   ((int32_t) (TIDL_E_CROP - 3))
 
#define TIDL_E_CROP_INVALID_NUM_CHANNELS   ((int32_t) (TIDL_E_CROP - 4))
 
#define TIDL_E_CROP_INVALID_OFFSET_WIDTH   ((int32_t) (TIDL_E_CROP - 5))
 
#define TIDL_E_CROP_INVALID_OFFSET_HEIGHT   ((int32_t) (TIDL_E_CROP - 6))
 
#define TIDL_E_FLATTEN   ((int32_t) -1080)
 
#define TIDL_E_FLATTEN_INVALID_INPUT_WIDTH   ((int32_t) (TIDL_E_FLATTEN - 0))
 
#define TIDL_E_FLATTEN_INVALID_INPUT_HEIGHT   ((int32_t) (TIDL_E_FLATTEN - 1))
 
#define TIDL_E_FLATTEN_INVALID_OUTPUT_WIDTH   ((int32_t) (TIDL_E_FLATTEN - 2))
 
#define TIDL_E_FLATTEN_INVALID_OUTPUT_HEIGHT   ((int32_t) (TIDL_E_FLATTEN - 3))
 
#define TIDL_E_SOFTMAX   ((int32_t) -1090)
 
#define TIDL_E_SOFTMAX_INVALID_NUM_CHANNELS   ((int32_t) (TIDL_E_SOFTMAX - 0))
 
#define TIDL_E_SHUFFLECHANNEL   ((int32_t) -1100)
 
#define TIDL_E_SHUFFLECHANNEL_INVALID_INPUT_WIDTH   ((int32_t) (TIDL_E_SHUFFLECHANNEL - 0))
 
#define TIDL_E_SHUFFLECHANNEL_INVALID_INPUT_HEIGHT   ((int32_t) (TIDL_E_SHUFFLECHANNEL - 1))
 
#define TIDL_E_SHUFFLECHANNEL_INVALID_OUTPUT_WIDTH   ((int32_t) (TIDL_E_SHUFFLECHANNEL - 2))
 
#define TIDL_E_SHUFFLECHANNEL_INVALID_OUTPUT_HEIGHT   ((int32_t) (TIDL_E_SHUFFLECHANNEL - 3))
 
#define TIDL_E_SHUFFLECHANNEL_INVALID_NUM_GROUPS   ((int32_t) (TIDL_E_SHUFFLECHANNEL - 4))
 
#define TIDL_E_COMMON   ((int32_t) -1110)
 
#define TIDL_E_UNSUPPORTED_LAYER   ((int32_t) (TIDL_E_COMMON - 0))
 
#define TIDL_E_DATAFLOW_INFO_NULL   ((int32_t) (TIDL_E_COMMON - 1))
 
#define TIDL_E_INVALID_DEBUG_TRACE_PRM   ((int32_t) (TIDL_E_COMMON - 2))
 
#define TIDL_E_INVALID_NET_VERSION   ((int32_t) (TIDL_E_COMMON - 3))
 
#define TIDL_E_INVALID_IO_LINE_PITCH   ((int32_t) (TIDL_E_COMMON - 4))
 
#define TIDL_E_QUANT_STATS_NOT_AVAILABALE   ((int32_t) (TIDL_E_COMMON - 5))
 
TIDL Scratch memory Type

Memory records for scratch memories

#define TIDL_SYSMEM_L1_SCRATCH   ((uint32_t) 0)
 
#define TIDL_SYSMEM_L2_SCRATCH   ((uint32_t) 1)
 
#define TIDL_SYSMEM_L3_SCRATCH   ((uint32_t) 2)
 
#define TIDL_SYSMEM_DDR_SCRATCH   ((uint32_t) 3)
 
#define TIDL_SYSMEM_MAX   ((uint32_t) 4)
 
TIDL Custom Layer Execution Model/Network

This group defines the different types of execution modes available for custom layer

#define TIDL_EXEC_MODE_STATS_COLLECTION   ((int32_t) 0)
 In this case, custom layer should calculate the min and max of buffer used for stats collection and based on that it should update the output tensor scale. More...
 
#define TIDL_EXEC_MODE_INFER_PROCESS   ((int32_t) 2)
 This is the case when custom layer API is called during processing. More...
 
#define TIDL_EXEC_MODE_INFER_PROCESS_REF   ((int32_t) 3)
 

Enumerations

enum  eTIDL_ResizeType { TIDL_ResizeNearest = 0, TIDL_ResizeBilinear = 1, TIDL_ResizeMax }
 This enumerator defines the different types of element type used by TIDL library. More...
 
enum  eTIDL_RoiPoolingType { TIDL_RoiPoolingFasterRCNN = 0, TIDL_RoiPoolingMax }
 This enumerator defines the different types of ROI pooling supported by TIDL library. More...
 
enum  eTIDL_PadLayerPadType { TIDL_PadZero = 0, TIDL_PadNonZeroConstant, TIDL_PadPerChannel }
 This enumerator defines the different types of padding supported by TIDL library. More...
 
enum  eTIDL_odOutputReformatType {
  TIDL_DetectionBoxesTflite = 0, TIDL_DetectionClassesTflite, TIDL_DetectionScoresTflite, TIDL_NumDetectionsTflite,
  TIDL_DetectionBoxesSsd, TIDL_DetectionClassesSsd, TIDL_DetectionScoresSsd, TIDL_DetectionBoxesAndScoresMmdetection,
  TIDL_DetectionClassesMmdetection, TIDL_DetectionBoxesScoresLabelsYoloV5, TIDL_DetectionBoxesScoresLabelsTfliteEfficientdet, TIDL_Detection3dOd
}
 This enumerator defines the different types of output types for the OD output reformatting layer. More...
 
enum  eTIDL_metaArchType {
  TIDL_metaArchCaffeJacinto = 0, TIDL_metaArchTFSSD = 1, TIDL_metaArchTFFasterRcnn = 2, TIDL_metaArchTIDLSSD = 3,
  TIDL_metaArchTIDLYolo = 4, TIDL_metaArchTIDLRetinaNet = 5, TIDL_metaArchTIDLYoloV5 = 6, TIDL_metaArchTIDL3DOD = 7,
  TIDL_metaArchMax = 8
}
 This enumerator defines the different Meta Arch types. More...
 
enum  eTIDL_processingType { TIDL_processingTypeDetectionOutput = 0, TIDL_processingTypeOdPostProcessing = 1, TIDL_processingTypeMax = 3 }
 This enumerator defines the different Meta Arch types. More...
 
enum  eTIDL_scoreConverterType { TIDL_scoreConverterLINEAR = 0, TIDL_scoreConverterSIGMOID = 1, TIDL_scoreConverterSOFTMAX = 2 }
 This enumerator defines the different Meta Arch types. More...
 
enum  eTIDL_inDataFormat { TIDL_inDataFormatBGRPlanar = 0, TIDL_inDataFormatRGBPlanar = 1, TIDL_inDataFormatRGBMax = 2 }
 This enumerator defines the different indata formats. More...
 
enum  eTIDL_inYuvFormat { TIDL_inYuvFormatYuv420_NV12 = 0, TIDL_inYuvFormatYuv422I_YUYV = 1, TIDL_inYuvFormatYuv422I_UYVY = 2, TIDL_inYuvFormatYuvMax = 3 }
 This enumerator defines the different YUV formats. More...
 
enum  eTIDL_inResizeType { TIDL_inResizeTypeDefault = 0, TIDL_inResizeTypeKeepAR = 1, TIDL_inResizeTypeMax = 2 }
 This enumerator defines the different indata formats. More...
 
enum  eTIDL_inReduceOp { TIDL_inReduceOpMax = 0, TIDL_inReduceOpMin = 1 }
 This enumerator defines the different indata formats. More...
 

Functions

static float32_tidl TIDL_getWorstcaseDelayForPreemption (sTIDL_Network_t *net)
 
static int TIDL_createParamsInit (TIDL_CreateParams *params)
 

Macro Definition Documentation

◆ USE_IVISION

#define USE_IVISION   (1)

◆ TIDL_NUM_MAX_LAYERS

#define TIDL_NUM_MAX_LAYERS   ((int32_t) 1024)

◆ TIDL_NUM_IN_BUFS

#define TIDL_NUM_IN_BUFS   ((int32_t) 16)

◆ TIDL_NUM_OUT_BUFS

#define TIDL_NUM_OUT_BUFS   ((int32_t) 16)

◆ TIDL_STRING_SIZE

#define TIDL_STRING_SIZE   ((int32_t) 512)

◆ TIDL_MAX_DATA_BUFS

#define TIDL_MAX_DATA_BUFS   ((int32_t) 1024)

◆ TIDL_MAX_ALG_IN_BUFS

#define TIDL_MAX_ALG_IN_BUFS   ((int32_t) 32)

◆ TIDL_MAX_ALG_OUT_BUFS

#define TIDL_MAX_ALG_OUT_BUFS   ((int32_t) 32)

◆ TIDL_MAX_NUM_GROUPS

#define TIDL_MAX_NUM_GROUPS   ((int32_t) 64)

◆ TIDL_DataLayer

#define TIDL_DataLayer   ((int32_t) 0)

◆ TIDL_ConvolutionLayer

#define TIDL_ConvolutionLayer   ((int32_t) 1)

◆ TIDL_PoolingLayer

#define TIDL_PoolingLayer   ((int32_t) 2)

◆ TIDL_ReLULayer

#define TIDL_ReLULayer   ((int32_t) 3)

◆ TIDL_PReLULayer

#define TIDL_PReLULayer   ((int32_t) 4)

◆ TIDL_EltWiseLayer

#define TIDL_EltWiseLayer   ((int32_t) 5)

◆ TIDL_InnerProductLayer

#define TIDL_InnerProductLayer   ((int32_t) 6)

◆ TIDL_SoftMaxLayer

#define TIDL_SoftMaxLayer   ((int32_t) 7)

◆ TIDL_BatchNormLayer

#define TIDL_BatchNormLayer   ((int32_t) 8)

◆ TIDL_BiasLayer

#define TIDL_BiasLayer   ((int32_t) 9)

◆ TIDL_ScaleLayer

#define TIDL_ScaleLayer   ((int32_t) 10)

◆ TIDL_Deconv2DLayer

#define TIDL_Deconv2DLayer   ((int32_t) 11)

◆ TIDL_ConcatLayer

#define TIDL_ConcatLayer   ((int32_t) 12)

◆ TIDL_SplitLayer

#define TIDL_SplitLayer   ((int32_t) 13)

◆ TIDL_SliceLayer

#define TIDL_SliceLayer   ((int32_t) 14)

◆ TIDL_CropLayer

#define TIDL_CropLayer   ((int32_t) 15)

◆ TIDL_FlattenLayer

#define TIDL_FlattenLayer   ((int32_t) 16)

◆ TIDL_DropOutLayer

#define TIDL_DropOutLayer   ((int32_t) 17)

◆ TIDL_ArgMaxLayer

#define TIDL_ArgMaxLayer   ((int32_t) 18)

◆ TIDL_DetectionOutputLayer

#define TIDL_DetectionOutputLayer   ((int32_t) 19)

◆ TIDL_ShuffleChannelLayer

#define TIDL_ShuffleChannelLayer   ((int32_t) 20)

◆ TIDL_ResizeLayer

#define TIDL_ResizeLayer   ((int32_t) 21)

◆ TIDL_RoiPoolingLayer

#define TIDL_RoiPoolingLayer   ((int32_t) 22)

◆ TIDL_OdPostProcessingLayer

#define TIDL_OdPostProcessingLayer   ((int32_t) 23)

◆ TIDL_DepthToSpaceLayer

#define TIDL_DepthToSpaceLayer   ((int32_t) 24)

◆ TIDL_SigmoidLayer

#define TIDL_SigmoidLayer   ((int32_t) 25)

◆ TIDL_PadLayer

#define TIDL_PadLayer   ((int32_t) 26)

◆ TIDL_ColorConversionLayer

#define TIDL_ColorConversionLayer   ((int32_t) 27)

◆ TIDL_OdOutputReformatLayer

#define TIDL_OdOutputReformatLayer   ((int32_t) 28)

◆ TIDL_DataConvertLayer

#define TIDL_DataConvertLayer   ((int32_t) 29)

◆ TIDL_CustomLayer

#define TIDL_CustomLayer   ((int32_t) 30)

◆ TIDL_BatchReshapeLayer

#define TIDL_BatchReshapeLayer   ((int32_t) 31)

◆ TIDL_ReduceLayer

#define TIDL_ReduceLayer   ((int32_t) 32)

◆ TIDL_ScatterElementsLayer

#define TIDL_ScatterElementsLayer   ((int32_t) 33)

◆ TIDL_SqueezeLayer

#define TIDL_SqueezeLayer   ((int32_t) 34)

◆ TIDL_UnsupportedLayer

#define TIDL_UnsupportedLayer   ((int32_t) 35)

◆ TIDL_UnsignedChar

#define TIDL_UnsignedChar   ((int32_t) 0)

◆ TIDL_SignedChar

#define TIDL_SignedChar   ((int32_t) 1)

◆ TIDL_UnsignedShort

#define TIDL_UnsignedShort   ((int32_t) 2)

◆ TIDL_SignedShort

#define TIDL_SignedShort   ((int32_t) 3)

◆ TIDL_UnsignedWord

#define TIDL_UnsignedWord   ((int32_t) 4)

◆ TIDL_SignedWord

#define TIDL_SignedWord   ((int32_t) 5)

◆ TIDL_SinglePrecFloat

#define TIDL_SinglePrecFloat   ((int32_t) 6)

◆ TIDL_UnsignedDoubleWord

#define TIDL_UnsignedDoubleWord   ((int32_t) 7)

◆ TIDL_SignedDoubleWord

#define TIDL_SignedDoubleWord   ((int32_t) 8)

◆ TIDL_LT_NCHW

#define TIDL_LT_NCHW   ((uint32_t) 0)

◆ TIDL_LT_NHWC

#define TIDL_LT_NHWC   ((uint32_t) 1)

◆ TIDL_LT_MAX

#define TIDL_LT_MAX   (TIDLRT_LT_NHWC+1)

◆ TIDL_DC_TYPE_INPUT

#define TIDL_DC_TYPE_INPUT   ((uint32_t) 0)

◆ TIDL_DC_TYPE_OUTPUT

#define TIDL_DC_TYPE_OUTPUT   ((uint32_t) 1)

◆ TIDL_DC_TYPE_MAX

#define TIDL_DC_TYPE_MAX   (TIDL_DC_TYPE_OUTPUT+1)

◆ TIDL_QuantStyleFixed

#define TIDL_QuantStyleFixed   ((int32_t) 0)

In this case, TIDL expects the Quantization information via interface. This is supported by caffe-jacinto training framework - Currently not supported for user.

◆ TIDL_QuantStyleDynamic

#define TIDL_QuantStyleDynamic   ((int32_t) 1)

IDynamic quantization does not depend on training. Quantization of kernel weights happen during model import using tool.

◆ TIDL_QuantStyleNP2Fixed

#define TIDL_QuantStyleNP2Fixed   ((int32_t) 2)

Non Power of two scale for Weight and Power of two scale for Feature. Weight scale is Fixed and Feature scale is Dynamic.

◆ TIDL_QuantStyleP2Dynamic

#define TIDL_QuantStyleP2Dynamic   ((int32_t) 3)

Power of two scale for both Weight and Feature. Weight scale is Fixed and Feature scale is Dynamic.

◆ TIDL_QuantStyleCustom

#define TIDL_QuantStyleCustom   ((int32_t) 10)

Currently not supported for user.

◆ TIDL_CalibOptionActivationRange

#define TIDL_CalibOptionActivationRange   ((int32_t) 1)

This option is to enable different methods to find activation range for quantization. If this bit field is 0 then simple min and max based range will be used for activation quantization.

◆ TIDL_CalibOptionWeightRange

#define TIDL_CalibOptionWeightRange   ((int32_t) 2)

This option is to enable different methods to find weight range for quantization. If this bit field is 0 then simple min and max based range will be used for weight quantization.

◆ TIDL_CalibOptionBiasCalibration

#define TIDL_CalibOptionBiasCalibration   ((int32_t) 4)

This option enables advanced bias calibration.

◆ TIDL_CalibOptionPerChannelWeightQuantization

#define TIDL_CalibOptionPerChannelWeightQuantization   ((int32_t) 8)

This option enables per channel quantization for weights for depthwise separable convolution layers.

◆ TIDL_CalibOptionMixedPrecisionDepthwise

#define TIDL_CalibOptionMixedPrecisionDepthwise   ((int32_t) 16)

This option enables mixed precision for all depthwise convolution layers i.e. all depthwise convolution layers weights will be 16 bit and processing will happen in 16 bit with final weights in 8 bits.

◆ TIDL_CalibOptionMixedPrecisionInput

#define TIDL_CalibOptionMixedPrecisionInput   ((int32_t) 32)

This option enables mixed precision ( 16 bit weights) for the first convolution layer after the intput data layer.

◆ TIDL_CalibOptionBiasRange

#define TIDL_CalibOptionBiasRange   ((int32_t) 64)

This option enables Bias Range clipping to avoid weight scale saturation.

◆ TIDL_ActivationRangeMethodHistogram

#define TIDL_ActivationRangeMethodHistogram   ((int32_t) 0)

This option uses histogram to find the minimum and maximum activation range of each layer. Here Histogram is reset after each frame.

◆ TIDL_ActivationRangeMethodGlobalHistogram

#define TIDL_ActivationRangeMethodGlobalHistogram   ((int32_t) 1)

This option uses histogram to find the minimum and maximum activation range. Here the histogram is computed across all the frames used for calibration.

◆ TIDL_WeightRangeMethodHistogram

#define TIDL_WeightRangeMethodHistogram   ((int32_t) 0)

This option uses histogram to find the minimum and maximum weight range.

◆ TIDL_WeightRangeMethodMedian

#define TIDL_WeightRangeMethodMedian   ((int32_t) 1)

This option uses median to find the minimum and maximum weight range.

◆ TIDL_OptimiseExtMemL0

#define TIDL_OptimiseExtMemL0   ((int32_t) 0)

In this case, no optimization in output memory, output buffer will not re-use memory from previous layers, so algorithm uses more external memory. This is Currently used for debugging.

◆ TIDL_OptimiseExtMemL1

#define TIDL_OptimiseExtMemL1   ((int32_t) 1)

In this case, output buffer will re-use memory from previous layers when they have same width and height, so algorithm uses less external memory compare to L0 case.

◆ TIDL_OptimiseExtMemL2

#define TIDL_OptimiseExtMemL2   ((int32_t) 2)

In this case, output buffer will re-use memory from previous layers when they have different width and height, so algorithm uses less external memory compare to L1 case.

◆ TIDL_Sparse

#define TIDL_Sparse   ((int32_t) 0)

In this case, only non zero coefficients are considered for convolution.

◆ TIDL_Dense

#define TIDL_Dense   ((int32_t) 1)

In this case, all coefficients are considered for convolution.

◆ TIDL_StrideOffsetTopLeft

#define TIDL_StrideOffsetTopLeft   ((int32_t) 0)

◆ TIDL_StrideOffsetCenter

#define TIDL_StrideOffsetCenter   ((int32_t) 1)

◆ TIDL_StrideOffsetMax

#define TIDL_StrideOffsetMax   ((int32_t) 2)

◆ TIDL_MaxPooling

#define TIDL_MaxPooling   ((int32_t) 0)

◆ TIDL_AveragePooling

#define TIDL_AveragePooling   ((int32_t) 1)

◆ TIDL_NoAct

#define TIDL_NoAct   ((int32_t) 0)

◆ TIDL_RelU

#define TIDL_RelU   ((int32_t) 1)

◆ TIDL_PRelU

#define TIDL_PRelU   ((int32_t) 2)

◆ TIDL_RelU6

#define TIDL_RelU6   ((int32_t) 3)

◆ TIDL_Clip

#define TIDL_Clip   ((int32_t) 4)

◆ TIDL_Sigmoid

#define TIDL_Sigmoid   ((int32_t) 5)

◆ TIDL_EltWiseProduct

#define TIDL_EltWiseProduct   ((int32_t) 0)

◆ TIDL_EltWiseSum

#define TIDL_EltWiseSum   ((int32_t) 1)

◆ TIDL_EltWiseMax

#define TIDL_EltWiseMax   ((int32_t) 2)

◆ TIDL_DIM_BATCH

#define TIDL_DIM_BATCH   ((int32_t) 0)

◆ TIDL_DIM_NUMCH

#define TIDL_DIM_NUMCH   ((int32_t) 1)

◆ TIDL_DIM_HEIGHT

#define TIDL_DIM_HEIGHT   ((int32_t) 2)

◆ TIDL_DIM_WIDTH

#define TIDL_DIM_WIDTH   ((int32_t) 3)

◆ TIDL_DIM_MAX

#define TIDL_DIM_MAX   ((int32_t) 4)

◆ TIDL_ROI_PITCH

#define TIDL_ROI_PITCH   ((uint32_t) 0)

◆ TIDL_CHANNEL_PITCH

#define TIDL_CHANNEL_PITCH   ((uint32_t) 1)

◆ TIDL_LINE_PITCH

#define TIDL_LINE_PITCH   ((uint32_t) 2)

◆ TIDL_PITCH_MAX

#define TIDL_PITCH_MAX   ((uint32_t) (TIDL_DIM_MAX - 1))

◆ TIDL_E_CONVOLUTION

#define TIDL_E_CONVOLUTION   ((int32_t) -1000)

◆ TIDL_E_CONV_INVALID_INPUT_WIDTH

#define TIDL_E_CONV_INVALID_INPUT_WIDTH   ((int32_t) (TIDL_E_CONVOLUTION - 0))

◆ TIDL_E_CONV_INVALID_INPUT_HEIGHT

#define TIDL_E_CONV_INVALID_INPUT_HEIGHT   ((int32_t) (TIDL_E_CONVOLUTION - 1))

◆ TIDL_E_CONV_INVALID_OUTPUT_WIDTH

#define TIDL_E_CONV_INVALID_OUTPUT_WIDTH   ((int32_t) (TIDL_E_CONVOLUTION - 2))

◆ TIDL_E_CONV_INVALID_OUTPUT_HEIGHT

#define TIDL_E_CONV_INVALID_OUTPUT_HEIGHT   ((int32_t) (TIDL_E_CONVOLUTION - 3))

◆ TIDL_E_CONV_INVALID_NUM_IN_CHANNELS

#define TIDL_E_CONV_INVALID_NUM_IN_CHANNELS   ((int32_t) (TIDL_E_CONVOLUTION - 4))

◆ TIDL_E_CONV_INVALID_NUM_OUT_CHANNELS

#define TIDL_E_CONV_INVALID_NUM_OUT_CHANNELS   ((int32_t) (TIDL_E_CONVOLUTION - 5))

◆ TIDL_E_CONV_INVALID_KER_WIDTH

#define TIDL_E_CONV_INVALID_KER_WIDTH   ((int32_t) (TIDL_E_CONVOLUTION - 6))

◆ TIDL_E_CONV_INVALID_KER_HEIGHT

#define TIDL_E_CONV_INVALID_KER_HEIGHT   ((int32_t) (TIDL_E_CONVOLUTION - 7))

◆ TIDL_E_CONV_INVALID_KER_TYPE

#define TIDL_E_CONV_INVALID_KER_TYPE   ((int32_t) (TIDL_E_CONVOLUTION - 8))

◆ TIDL_E_CONV_INVALID_STRIDE_WIDTH

#define TIDL_E_CONV_INVALID_STRIDE_WIDTH   ((int32_t) (TIDL_E_CONVOLUTION - 9))

◆ TIDL_E_CONV_INVALID_STRIDE_HEIGHT

#define TIDL_E_CONV_INVALID_STRIDE_HEIGHT   ((int32_t) (TIDL_E_CONVOLUTION - 10))

◆ TIDL_E_CONV_NEGATIVE_OUTPUT_SHIFT

#define TIDL_E_CONV_NEGATIVE_OUTPUT_SHIFT   ((int32_t) (TIDL_E_CONVOLUTION - 11))

◆ TIDL_E_CONV_POOL_INVALID_POOL_TYPE

#define TIDL_E_CONV_POOL_INVALID_POOL_TYPE   ((int32_t) (TIDL_E_CONVOLUTION - 12))

◆ TIDL_E_CONV_POOL_INVALID_KER_WIDTH

#define TIDL_E_CONV_POOL_INVALID_KER_WIDTH   ((int32_t) (TIDL_E_CONVOLUTION - 13))

◆ TIDL_E_CONV_POOL_INVALID_KER_HEIGHT

#define TIDL_E_CONV_POOL_INVALID_KER_HEIGHT   ((int32_t) (TIDL_E_CONVOLUTION - 14))

◆ TIDL_E_CONV_POOL_INVALID_STRIDE_WIDTH

#define TIDL_E_CONV_POOL_INVALID_STRIDE_WIDTH   ((int32_t) (TIDL_E_CONVOLUTION - 15))

◆ TIDL_E_CONV_POOL_INVALID_STRIDE_HEIGHT

#define TIDL_E_CONV_POOL_INVALID_STRIDE_HEIGHT   ((int32_t) (TIDL_E_CONVOLUTION - 16))

◆ TIDL_E_ELTWISE

#define TIDL_E_ELTWISE   ((int32_t) -1020)

◆ TIDL_E_ELTWISE_INVALID_INPUT_WIDTH

#define TIDL_E_ELTWISE_INVALID_INPUT_WIDTH   ((int32_t) (TIDL_E_ELTWISE - 0))

◆ TIDL_E_ELTWISE_INVALID_INPUT_HEIGHT

#define TIDL_E_ELTWISE_INVALID_INPUT_HEIGHT   ((int32_t) (TIDL_E_ELTWISE - 1))

◆ TIDL_E_ELTWISE_INVALID_OUTPUT_WIDTH

#define TIDL_E_ELTWISE_INVALID_OUTPUT_WIDTH   ((int32_t) (TIDL_E_ELTWISE - 2))

◆ TIDL_E_ELTWISE_INVALID_OUTPUT_HEIGHT

#define TIDL_E_ELTWISE_INVALID_OUTPUT_HEIGHT   ((int32_t) (TIDL_E_ELTWISE - 3))

◆ TIDL_E_ELTWISE_INVALID_ELTWISE_TYPE

#define TIDL_E_ELTWISE_INVALID_ELTWISE_TYPE   ((int32_t) (TIDL_E_ELTWISE - 4))

◆ TIDL_E_ELTWISE_INVALID_NUM_CHANNELS

#define TIDL_E_ELTWISE_INVALID_NUM_CHANNELS   ((int32_t) (TIDL_E_ELTWISE - 5))

◆ TIDL_E_POOLING

#define TIDL_E_POOLING   ((int32_t) -1030)

◆ TIDL_E_POOL_INVALID_INPUT_WIDTH

#define TIDL_E_POOL_INVALID_INPUT_WIDTH   ((int32_t) (TIDL_E_POOLING - 0))

◆ TIDL_E_POOL_INVALID_INPUT_HEIGHT

#define TIDL_E_POOL_INVALID_INPUT_HEIGHT   ((int32_t) (TIDL_E_POOLING - 1))

◆ TIDL_E_POOL_INVALID_OUTPUT_WIDTH

#define TIDL_E_POOL_INVALID_OUTPUT_WIDTH   ((int32_t) (TIDL_E_POOLING - 2))

◆ TIDL_E_POOL_INVALID_OUTPUT_HEIGHT

#define TIDL_E_POOL_INVALID_OUTPUT_HEIGHT   ((int32_t) (TIDL_E_POOLING - 3))

◆ TIDL_E_POOL_INVALID_POOL_TYPE

#define TIDL_E_POOL_INVALID_POOL_TYPE   ((int32_t) (TIDL_E_POOLING - 4))

◆ TIDL_E_POOL_INVALID_NUM_CHANNELS

#define TIDL_E_POOL_INVALID_NUM_CHANNELS   ((int32_t) (TIDL_E_POOLING - 5))

◆ TIDL_E_POOL_INVALID_KER_WIDTH

#define TIDL_E_POOL_INVALID_KER_WIDTH   ((int32_t) (TIDL_E_POOLING - 6))

◆ TIDL_E_POOL_INVALID_KER_HEIGHT

#define TIDL_E_POOL_INVALID_KER_HEIGHT   ((int32_t) (TIDL_E_POOLING - 7))

◆ TIDL_E_POOL_INVALID_STRIDE_WIDTH

#define TIDL_E_POOL_INVALID_STRIDE_WIDTH   ((int32_t) (TIDL_E_POOLING - 8))

◆ TIDL_E_POOL_INVALID_STRIDE_HEIGHT

#define TIDL_E_POOL_INVALID_STRIDE_HEIGHT   ((int32_t) (TIDL_E_POOLING - 9))

◆ TIDL_E_INNER_PRODUCT

#define TIDL_E_INNER_PRODUCT   ((int32_t) -1040)

◆ TIDL_E_IP_INVALID_NUM_IN_NODES

#define TIDL_E_IP_INVALID_NUM_IN_NODES   ((int32_t) (TIDL_E_INNER_PRODUCT - 0))

◆ TIDL_E_IP_INVALID_NUM_OUT_NODES

#define TIDL_E_IP_INVALID_NUM_OUT_NODES   ((int32_t) (TIDL_E_INNER_PRODUCT - 1))

◆ TIDL_E_IP_NEGATIVE_OUTPUT_SHIFT

#define TIDL_E_IP_NEGATIVE_OUTPUT_SHIFT   ((int32_t) (TIDL_E_INNER_PRODUCT - 2))

◆ TIDL_E_ARGMAX

#define TIDL_E_ARGMAX   ((int32_t) -1050)

◆ TIDL_E_ARGMAX_INVALID_NUM_CHANNELS

#define TIDL_E_ARGMAX_INVALID_NUM_CHANNELS   ((int32_t) (TIDL_E_ARGMAX - 0))

◆ TIDL_E_BN

#define TIDL_E_BN   ((int32_t) -1060)

◆ TIDL_E_BN_INVALID_INPUT_WIDTH

#define TIDL_E_BN_INVALID_INPUT_WIDTH   ((int32_t) (TIDL_E_BN - 0))

◆ TIDL_E_BN_INVALID_INPUT_HEIGHT

#define TIDL_E_BN_INVALID_INPUT_HEIGHT   ((int32_t) (TIDL_E_BN - 1))

◆ TIDL_E_BN_INVALID_OUTPUT_WIDTH

#define TIDL_E_BN_INVALID_OUTPUT_WIDTH   ((int32_t) (TIDL_E_BN - 2))

◆ TIDL_E_BN_INVALID_OUTPUT_HEIGHT

#define TIDL_E_BN_INVALID_OUTPUT_HEIGHT   ((int32_t) (TIDL_E_BN - 3))

◆ TIDL_E_BN_INVALID_NUM_CHANNELS

#define TIDL_E_BN_INVALID_NUM_CHANNELS   ((int32_t) (TIDL_E_BN - 4))

◆ TIDL_E_BN_INVALID_ENABLE_RELU

#define TIDL_E_BN_INVALID_ENABLE_RELU   ((int32_t) (TIDL_E_BN - 5))

◆ TIDL_E_BN_NEGATIVE_OUTPUT_SHIFT

#define TIDL_E_BN_NEGATIVE_OUTPUT_SHIFT   ((int32_t) (TIDL_E_BN - 6))

◆ TIDL_E_CROP

#define TIDL_E_CROP   ((int32_t) -1070)

◆ TIDL_E_CROP_INVALID_INPUT_WIDTH

#define TIDL_E_CROP_INVALID_INPUT_WIDTH   ((int32_t) (TIDL_E_CROP - 0))

◆ TIDL_E_CROP_INVALID_INPUT_HEIGHT

#define TIDL_E_CROP_INVALID_INPUT_HEIGHT   ((int32_t) (TIDL_E_CROP - 1))

◆ TIDL_E_CROP_INVALID_OUTPUT_WIDTH

#define TIDL_E_CROP_INVALID_OUTPUT_WIDTH   ((int32_t) (TIDL_E_CROP - 2))

◆ TIDL_E_CROP_INVALID_OUTPUT_HEIGHT

#define TIDL_E_CROP_INVALID_OUTPUT_HEIGHT   ((int32_t) (TIDL_E_CROP - 3))

◆ TIDL_E_CROP_INVALID_NUM_CHANNELS

#define TIDL_E_CROP_INVALID_NUM_CHANNELS   ((int32_t) (TIDL_E_CROP - 4))

◆ TIDL_E_CROP_INVALID_OFFSET_WIDTH

#define TIDL_E_CROP_INVALID_OFFSET_WIDTH   ((int32_t) (TIDL_E_CROP - 5))

◆ TIDL_E_CROP_INVALID_OFFSET_HEIGHT

#define TIDL_E_CROP_INVALID_OFFSET_HEIGHT   ((int32_t) (TIDL_E_CROP - 6))

◆ TIDL_E_FLATTEN

#define TIDL_E_FLATTEN   ((int32_t) -1080)

◆ TIDL_E_FLATTEN_INVALID_INPUT_WIDTH

#define TIDL_E_FLATTEN_INVALID_INPUT_WIDTH   ((int32_t) (TIDL_E_FLATTEN - 0))

◆ TIDL_E_FLATTEN_INVALID_INPUT_HEIGHT

#define TIDL_E_FLATTEN_INVALID_INPUT_HEIGHT   ((int32_t) (TIDL_E_FLATTEN - 1))

◆ TIDL_E_FLATTEN_INVALID_OUTPUT_WIDTH

#define TIDL_E_FLATTEN_INVALID_OUTPUT_WIDTH   ((int32_t) (TIDL_E_FLATTEN - 2))

◆ TIDL_E_FLATTEN_INVALID_OUTPUT_HEIGHT

#define TIDL_E_FLATTEN_INVALID_OUTPUT_HEIGHT   ((int32_t) (TIDL_E_FLATTEN - 3))

◆ TIDL_E_SOFTMAX

#define TIDL_E_SOFTMAX   ((int32_t) -1090)

◆ TIDL_E_SOFTMAX_INVALID_NUM_CHANNELS

#define TIDL_E_SOFTMAX_INVALID_NUM_CHANNELS   ((int32_t) (TIDL_E_SOFTMAX - 0))

◆ TIDL_E_SHUFFLECHANNEL

#define TIDL_E_SHUFFLECHANNEL   ((int32_t) -1100)

◆ TIDL_E_SHUFFLECHANNEL_INVALID_INPUT_WIDTH

#define TIDL_E_SHUFFLECHANNEL_INVALID_INPUT_WIDTH   ((int32_t) (TIDL_E_SHUFFLECHANNEL - 0))

◆ TIDL_E_SHUFFLECHANNEL_INVALID_INPUT_HEIGHT

#define TIDL_E_SHUFFLECHANNEL_INVALID_INPUT_HEIGHT   ((int32_t) (TIDL_E_SHUFFLECHANNEL - 1))

◆ TIDL_E_SHUFFLECHANNEL_INVALID_OUTPUT_WIDTH

#define TIDL_E_SHUFFLECHANNEL_INVALID_OUTPUT_WIDTH   ((int32_t) (TIDL_E_SHUFFLECHANNEL - 2))

◆ TIDL_E_SHUFFLECHANNEL_INVALID_OUTPUT_HEIGHT

#define TIDL_E_SHUFFLECHANNEL_INVALID_OUTPUT_HEIGHT   ((int32_t) (TIDL_E_SHUFFLECHANNEL - 3))

◆ TIDL_E_SHUFFLECHANNEL_INVALID_NUM_GROUPS

#define TIDL_E_SHUFFLECHANNEL_INVALID_NUM_GROUPS   ((int32_t) (TIDL_E_SHUFFLECHANNEL - 4))

◆ TIDL_E_COMMON

#define TIDL_E_COMMON   ((int32_t) -1110)

◆ TIDL_E_UNSUPPORTED_LAYER

#define TIDL_E_UNSUPPORTED_LAYER   ((int32_t) (TIDL_E_COMMON - 0))

◆ TIDL_E_DATAFLOW_INFO_NULL

#define TIDL_E_DATAFLOW_INFO_NULL   ((int32_t) (TIDL_E_COMMON - 1))

◆ TIDL_E_INVALID_DEBUG_TRACE_PRM

#define TIDL_E_INVALID_DEBUG_TRACE_PRM   ((int32_t) (TIDL_E_COMMON - 2))

◆ TIDL_E_INVALID_NET_VERSION

#define TIDL_E_INVALID_NET_VERSION   ((int32_t) (TIDL_E_COMMON - 3))

◆ TIDL_E_INVALID_IO_LINE_PITCH

#define TIDL_E_INVALID_IO_LINE_PITCH   ((int32_t) (TIDL_E_COMMON - 4))

◆ TIDL_E_QUANT_STATS_NOT_AVAILABALE

#define TIDL_E_QUANT_STATS_NOT_AVAILABALE   ((int32_t) (TIDL_E_COMMON - 5))

◆ TIDL_SYSMEM_L1_SCRATCH

#define TIDL_SYSMEM_L1_SCRATCH   ((uint32_t) 0)

◆ TIDL_SYSMEM_L2_SCRATCH

#define TIDL_SYSMEM_L2_SCRATCH   ((uint32_t) 1)

◆ TIDL_SYSMEM_L3_SCRATCH

#define TIDL_SYSMEM_L3_SCRATCH   ((uint32_t) 2)

◆ TIDL_SYSMEM_DDR_SCRATCH

#define TIDL_SYSMEM_DDR_SCRATCH   ((uint32_t) 3)

◆ TIDL_SYSMEM_MAX

#define TIDL_SYSMEM_MAX   ((uint32_t) 4)

◆ TIDL_EXEC_MODE_STATS_COLLECTION

#define TIDL_EXEC_MODE_STATS_COLLECTION   ((int32_t) 0)

In this case, custom layer should calculate the min and max of buffer used for stats collection and based on that it should update the output tensor scale.

◆ TIDL_EXEC_MODE_INFER_PROCESS

#define TIDL_EXEC_MODE_INFER_PROCESS   ((int32_t) 2)

This is the case when custom layer API is called during processing.

◆ TIDL_EXEC_MODE_INFER_PROCESS_REF

#define TIDL_EXEC_MODE_INFER_PROCESS_REF   ((int32_t) 3)

◆ TIDL_OD_MAX_KEYPOINTS

#define TIDL_OD_MAX_KEYPOINTS   (16)

◆ TIDL_OD_MAX_ANCHORS_PER_HEAD

#define TIDL_OD_MAX_ANCHORS_PER_HEAD   (16)

◆ TIDL_NET_VERSION

#define TIDL_NET_VERSION   (0x20211201)

◆ TIDL_OD_MAX_KEY_POINTS

#define TIDL_OD_MAX_KEY_POINTS   (32)

Typedef Documentation

◆ float32_tidl

typedef float float32_tidl

◆ float64_tidl

typedef double float64_tidl

◆ TIDL_Lock_t

typedef int32_t(* TIDL_Lock_t) (void)

Call back function pointer to lock interrupts.

Returns
oldIntState : returns interrupt state

◆ TIDL_Unlock_t

typedef void(* TIDL_Unlock_t) (int32_t)

Call back function pointer to unlock interrupts.

Parameters
oldIntState: previous interrupt state
Returns
None

Enumeration Type Documentation

◆ eTIDL_ResizeType

This enumerator defines the different types of element type used by TIDL library.

Enumerator
TIDL_ResizeNearest 
TIDL_ResizeBilinear 
TIDL_ResizeMax 

◆ eTIDL_RoiPoolingType

This enumerator defines the different types of ROI pooling supported by TIDL library.

Enumerator
TIDL_RoiPoolingFasterRCNN 
TIDL_RoiPoolingMax 

◆ eTIDL_PadLayerPadType

This enumerator defines the different types of padding supported by TIDL library.

Enumerator
TIDL_PadZero 
TIDL_PadNonZeroConstant 
TIDL_PadPerChannel 

◆ eTIDL_odOutputReformatType

This enumerator defines the different types of output types for the OD output reformatting layer.

Enumerator
TIDL_DetectionBoxesTflite 
TIDL_DetectionClassesTflite 
TIDL_DetectionScoresTflite 
TIDL_NumDetectionsTflite 
TIDL_DetectionBoxesSsd 
TIDL_DetectionClassesSsd 
TIDL_DetectionScoresSsd 
TIDL_DetectionBoxesAndScoresMmdetection 
TIDL_DetectionClassesMmdetection 
TIDL_DetectionBoxesScoresLabelsYoloV5 
TIDL_DetectionBoxesScoresLabelsTfliteEfficientdet 
TIDL_Detection3dOd 

◆ eTIDL_metaArchType

This enumerator defines the different Meta Arch types.

Enumerator
TIDL_metaArchCaffeJacinto 
TIDL_metaArchTFSSD 
TIDL_metaArchTFFasterRcnn 
TIDL_metaArchTIDLSSD 
TIDL_metaArchTIDLYolo 
TIDL_metaArchTIDLRetinaNet 
TIDL_metaArchTIDLYoloV5 
TIDL_metaArchTIDL3DOD 
TIDL_metaArchMax 

◆ eTIDL_processingType

This enumerator defines the different Meta Arch types.

Enumerator
TIDL_processingTypeDetectionOutput 
TIDL_processingTypeOdPostProcessing 
TIDL_processingTypeMax 

◆ eTIDL_scoreConverterType

This enumerator defines the different Meta Arch types.

Enumerator
TIDL_scoreConverterLINEAR 
TIDL_scoreConverterSIGMOID 
TIDL_scoreConverterSOFTMAX 

◆ eTIDL_inDataFormat

This enumerator defines the different indata formats.

Enumerator
TIDL_inDataFormatBGRPlanar 
TIDL_inDataFormatRGBPlanar 
TIDL_inDataFormatRGBMax 

◆ eTIDL_inYuvFormat

This enumerator defines the different YUV formats.

Enumerator
TIDL_inYuvFormatYuv420_NV12 
TIDL_inYuvFormatYuv422I_YUYV 
TIDL_inYuvFormatYuv422I_UYVY 
TIDL_inYuvFormatYuvMax 

◆ eTIDL_inResizeType

This enumerator defines the different indata formats.

Enumerator
TIDL_inResizeTypeDefault 
TIDL_inResizeTypeKeepAR 
TIDL_inResizeTypeMax 

◆ eTIDL_inReduceOp

This enumerator defines the different indata formats.

Enumerator
TIDL_inReduceOpMax 
TIDL_inReduceOpMin 

Function Documentation

◆ TIDL_getWorstcaseDelayForPreemption()

static float32_tidl TIDL_getWorstcaseDelayForPreemption ( sTIDL_Network_t net)
inlinestatic

◆ TIDL_createParamsInit()

static int TIDL_createParamsInit ( TIDL_CreateParams params)
inlinestatic

Variable Documentation

◆ TIDL_VISION_FXNS

const IVISION_Fxns TIDL_VISION_FXNS

The unique const function table for the TI deep learning algorithm.