MMALIB User Guide
MMALIB_types.h File Reference

Introduction

File to hold common structure, enums, macros and functions for MMALIB.

Version
0.1 - Jan 2018 : Initial Version

Definition in file MMALIB_types.h.

Go to the source code of this file.

Macros

#define MMALIB_DEBUGPRINT   0
 Enable debug printf statements. More...
 
#define MMALIB_const   const
 
#define __PRAGMA(x)   _Pragma(#x)
 
#define __INLINE_FUNC(x)   __PRAGMA(FUNC_ALWAYS_INLINE(x))
 
#define MMALIB_PRINTF(fmt, ...)
 
#define MMALIB_DEBUGPRINTFN(N, fmt, ...)
 
#define MMALIB_MESG(fmt, ...)
 
#define MMALIB_SOFT_MMA_RESET   0
 
#define MMALIB_STATIC_INLINE   static inline
 
#define MMALIB_PARAM_SIZE   128
 Parameter structure size in bytes. More...
 
#define MMALIB_BYTE_WIDTH   __MMA_A_COLS(sizeof(int8_t))
 MMA width in bytes. More...
 
#define MMALIB_MMA_ACCUMULATOR_BYTE_WIDTH_8_BIT   4
 MMA accumulator width in bytes for 8 bit output data width. More...
 
#define MMALIB_MMA_ACCUMULATOR_BYTE_WIDTH_16_BIT   8
 MMA accumulator width in bytes for 16 bit output data width. More...
 
#define MMALIB_MMA_ACCUMULATOR_BYTE_WIDTH_32_BIT   16
 MMA accumulator width in bytes for 32 bit output data width. More...
 
#define MMALIB_ALIGN_SHIFT_64BYTES    6
 Number of bits to shift for 64-byte memory alignment. More...
 
#define MMALIB_ALIGN_SHIFT_128BYTES    7
 Number of bits to shift for 128-byte memory alignment. More...
 
#define MMALIB_ALIGN_SHIFT_256BYTES    8
 Number of bits to shift for 256-byte memory alignment. More...
 
#define MMALIB_ALIGN_64BYTES    (1 << MMALIB_ALIGN_SHIFT_64BYTES)
 Align by 64-byte memory alignment. More...
 
#define MMALIB_ALIGN_128BYTES    (1 << MMALIB_ALIGN_SHIFT_128BYTES)
 Align by 128-byte memory alignment. More...
 
#define MMALIB_ALIGN_256BYTES    (1 << MMALIB_ALIGN_SHIFT_256BYTES)
 Align by 256-byte memory alignment. More...
 
#define MMALIB_L2DATA_ALIGN_SHIFT    MMALIB_ALIGN_SHIFT_64BYTES
 Set the default L2 data alignment. More...
 
#define MMALIB_L2DATA_ALIGNMENT   (((uint32_t)1) << ((uint32_t)MMALIB_L2DATA_ALIGN_SHIFT))
 Macro that specifies the alignment of data buffers in L2 memory for optimal performance. More...
 
#define MMALIB_MMA_SIZE_8_BIT   __MMA_A_COLS(sizeof(int8_t))
 MMA size as a function of precision. More...
 
#define MMALIB_MMA_SIZE_16_BIT   __MMA_A_COLS(sizeof(int16_t))
 
#define MMALIB_MMA_SIZE_32_BIT   __MMA_A_COLS(sizeof(int32_t))
 
#define MMALIB_MMA_BIAS_SIZE_32_BIT   __MMA_A_COLS(sizeof(int32_t))
 
#define MMALIB_MMA_BIAS_SIZE_64_BIT   ((MMALIB_MMA_BIAS_SIZE_32_BIT) >> 1)
 

Typedefs

typedef double MMALIB_D64
 Double precision floating point. More...
 
typedef float MMALIB_F32
 Single precision floating point. More...
 
typedef MMALIB_STATUS_NAME MMALIB_STATUS
 Return value for MMALIB functions. More...
 
typedef void * MMALIB_kernelHandle
 Handle type for MMALIB operations. More...
 
typedef MMALIB_tensor_format_e MMALIB_tensor_format
 

Enumerations

enum  MMALIB_STATUS_NAME {
  MMALIB_SUCCESS = 0 , MMALIB_ERR_FAILURE = 1 , MMALIB_ERR_INVALID_VALUE = 2 , MMALIB_ERR_INVALID_TYPE = 3 ,
  MMALIB_ERR_INVALID_DIMENSION = 4 , MMALIB_ERR_NULL_POINTER = 5 , MMALIB_ERR_NOT_IMPLEMENTED = 6 , MMALIB_ERR_NOT_EQUAL_WIDTH_STRIDE = 7 ,
  MMALIB_ERR_NOT_ALIGNED_PTRS_STRIDES = 8 , MMALIB_ERR_NOT_ALIGNED_WIDTHS = 9 , MMALIB_ERR_BUFFER_TOO_SMALL = 10 , MMALIB_ERR_INVALID_ACTIVATION = 11 ,
  MMALIB_ERR_INVALID_SHIFT = 12 , MMALIB_ERROR_MAX = 13 , MMALIB_ERR_CONVOLVE_ROW_INVALID_INCHOFFSET_CIRCULAR = 1000 , MMALIB_ERR_CONVOLVE_ROW_UNSUPPORTED_STRIDE = 1001 ,
  MMALIB_ERR_CONVOLVE_ROW_UNSUPPORTED_TYPE_COMBINATION = 1002 , MMALIB_ERR_CONVOLVE_ROW_INVALID_PTR_STRIDE = 1003 , MMALIB_ERR_CONVOLVE_ROW_INVALID_SUBMCHANNELS_STRIDE = 1004 , MMALIB_ERR_CONVOLVE_ROW_INVALID_SUBMCHANNELS = 1005 ,
  MMALIB_ERR_CONVOLVE_ROW_INVALID_BUFFER_DIMENSION = 1006 , MMALIB_ERR_CONVOLVE_ROW_INVALID_ROWS_STRIDE = 1007 , MMALIB_ERR_CONVOLVE_ROW_INVALID_INITARGS = 1008 , MMALIB_ERR_CONVOLVE_ROW_INVALID_VALIDCOLSIN = 1009 ,
  MMALIB_ERR_CONVOLVE_ROW_INVALID_NUM_GROUPS_PER_KERNEL = 1010 , MMALIB_ERR_CONVOLVE_ROW_INVALID_NUM_OUTPUT_CHANNELS_PER_GROUP = 1011 , MMALIB_ERR_CONVOLVE_ROW_INVALID_NUM_GROUPS_PER_KERNEL_STRIDED = 1012 , MMALIB_ERR_CONVOLVE_COL_INVALID_SHIFTMETHOD = 2000 ,
  MMALIB_ERR_CONVOLVE_COL_INVALID_SHIFTVALUES = 2001 , MMALIB_ERR_CONVOLVE_COL_INVALID_PAD_VALUES = 2002 , MMALIB_ERR_CONVOLVE_COL_INVALID_NUMBIASVALS = 2003 , MMALIB_ERR_CONVOLVE_COL_INVALID_BIASBVALUES = 2004 ,
  MMALIB_ERR_CONVOLVE_COL_INVALID_BIASB_TYPE = 2005 , MMALIB_ERR_CONVOLVE_COL_UNSUPPORTED_INPUT_FEATURE_MAP_TYPE = 2006 , MMALIB_ERR_CONVOLVE_COL_UNSUPPORTED_WEIGHTS_TYPE = 2007 , MMALIB_ERR_CONVOLVE_COL_UNSUPPORTED_WEIGHTS_DIMENSION = 2008 ,
  MMALIB_ERR_CONVOLVE_COL_UNSUPPORTED_OUTPUT_FEATURE_MAP_TYPE = 2009 , MMALIB_ERR_CONVOLVE_COL_UNSUPPORTED_TYPE_COMBINATION = 2010 , MMALIB_ERR_CONVOLVE_COL_UNSUPPORTED_STRIDE = 2011 , MMALIB_ERR_CONVOLVE_COL_UNSUPPORTED_GROUPING = 2012 ,
  MMALIB_ERR_CONVOLVE_COL_INVALID_CASE = 2013 , MMALIB_ERR_DECONVOLVE_ROW_INVALID_KERNEL_SIZE = 3000 , MMALIB_ERR_DECONVOLVE_ROW_INVALID_STRIDE = 3001 , MMALIB_ERR_DECONVOLVE_ROW_INVALID_DILATION = 3002 ,
  MMALIB_ERR_DECONVOLVE_ROW_INVALID_PAD = 3003 , MMALIB_ERR_DECONVOLVE_ROW_INVALID_INIT_ARGS = 3004 , MMALIB_ERR_DECONVOLVE_ROW_INVALID_BUFFER_DIMENSION_WEIGHTS = 3005 , MMALIB_ERR_DECONVOLVE_ROW_INVALID_SUBMCHANNELS = 3006 ,
  MMALIB_ERR_DECONVOLVE_ROW_INVALID_BUFFER_SIZES = 3007 , MMALIB_ERR_FULLYCONNECTED_INVALID_TYPE_COMBINATION = 4000 , MMALIB_ERR_FULLYCONNECTED_INVALID_DIMENSION_COMBINATION = 4001 , MMALIB_ERR_FULLYCONNECTED_INVALID_TYPE_RELU_COMBINATION = 4002 ,
  MMALIB_ERR_PIXELSHUFFLE_ROW_INVALID_INCHOFFSET_CIRCULAR = 5000 , MMALIB_ERR_PIXELSHUFFLE_ROW_UNSUPPORTED_STRIDE = 5001 , MMALIB_ERR_PIXELSHUFFLE_ROW_UNSUPPORTED_TYPE_COMBINATION = 5002 , MMALIB_ERR_PIXELSHUFFLE_ROW_INVALID_PTR_STRIDE = 5003 ,
  MMALIB_ERR_PIXELSHUFFLE_ROW_INVALID_SUBMCHANNELS_STRIDE = 5004 , MMALIB_ERR_PIXELSHUFFLE_ROW_INVALID_SUBMCHANNELS = 5005 , MMALIB_ERR_PIXELSHUFFLE_ROW_INVALID_BUFFER_DIMENSION = 5006 , MMALIB_ERR_PIXELSHUFFLE_ROW_INVALID_ROWS_STRIDE = 5007 ,
  MMALIB_ERR_PIXELSHUFFLE_ROW_INVALID_INITARGS = 5008 , MMALIB_ERR_PIXELSHUFFLE_ROW_INVALID_VALIDCOLSIN = 5009 , MMALIB_ERR_PIXELSHUFFLE_ROW_INVALID_UPSCALE_FACTOR = 5010 , MMALIB_ERR_TENSOR_CONVERT_INVALID_TYPE_COMBINATION = 6000 ,
  MMALIB_ERR_TENSOR_CONVERT_INVALID_DIMENSION_COMBINATION = 6001 , MMALIB_ERR_TENSOR_CONVERT_UNSUPPORTED_TYPE_COMBINATION = 6002 , MMALIB_ERR_TENSOR_CONVERT_UNSUPPORTED_CHANNEL_DIMENSION = 6003 , MMALIB_ERR_TENSOR_CONVERT_UNSUPPORTED_CONVRSION_FORMAT = 6004 ,
  MMALIB_ERR_TENSOR_CONVERT_UNSUPPORTED_PAD_DIMENSION = 6005 , MMALIB_ERR_MATRIX_MATRIX_MULTIPLY_UNSUPPORTED_INPUT_TYPE = 10000 , MMALIB_ERR_MATRIX_MATRIX_MULTIPLY_UNSUPPORTED_OUTPUT_TYPE = 10001 , MMALIB_ERR_MATRIX_MATRIX_MULTIPLY_UNSUPPORTED_TYPE_COMBINATION = 10002 ,
  MMALIB_ERR_MATRIX_MATRIX_MULTIPLY_ACCUMULATE_UNSUPPORTED_INPUT_TYPE = 11000 , MMALIB_ERR_MATRIX_MATRIX_MULTIPLY_ACCUMULATE_UNSUPPORTED_OUTPUT_TYPE = 11001 , MMALIB_ERR_MATRIX_MATRIX_MULTIPLY_ACCUMULATE_UNSUPPORTED_TYPE_COMBINATION = 11002 , MMALIB_ERR_MATRIX_TRANSPOSE_UNSUPPORTED_INPUT_TYPE = 12000 ,
  MMALIB_ERR_MATRIX_TRANSPOSE_UNSUPPORTED_OUTPUT_TYPE = 12001 , MMALIB_ERR_MATRIX_TRANSPOSE_UNSUPPORTED_TYPE_COMBINATION = 12002 , MMALIB_ERR_POINTWISE_MATRIX_MATRIX_MULTIPLY_UNSUPPORTED_INPUT_TYPE = 13000 , MMALIB_ERR_POINTWISE_MATRIX_MATRIX_MULTIPLY_UNSUPPORTED_OUTPUT_TYPE = 13001 ,
  MMALIB_ERR_POINTWISE_MATRIX_MATRIX_MULTIPLY_UNSUPPORTED_TYPE_COMBINATION = 13002
}
 The enumeration of all status codes. More...
 
enum  MMALIB_FUNCTION_STYLE { MMALIB_FUNCTION_NATC = 0 , MMALIB_FUNCTION_OPTIMIZED , MMALIB_FUNCTION_MAX = 128 }
 Enumeration for the style of function implementation. More...
 
enum  MMALIB_buffer_mode_e { MMALIB_LINEAR = 0 , MMALIB_SE_CIRCULAR , MMALIB_BUF_CIRCULAR }
 Buffer structure for input feature maps and coefficients of MMALIB_CNN_convolve_row_ixX_ixX_oxX. More...
 
enum  MMALIB_tensor_format_e { MMALIB_CHW = 0 , MMALIB_HWC }
 Tensor format. More...
 

Macro Definition Documentation

◆ MMALIB_DEBUGPRINT

#define MMALIB_DEBUGPRINT   0

Enable debug printf statements.

Definition at line 74 of file MMALIB_types.h.

◆ MMALIB_const

#define MMALIB_const   const

Definition at line 80 of file MMALIB_types.h.

◆ __PRAGMA

#define __PRAGMA (   x)    _Pragma(#x)

Definition at line 83 of file MMALIB_types.h.

◆ __INLINE_FUNC

#define __INLINE_FUNC (   x)    __PRAGMA(FUNC_ALWAYS_INLINE(x))

Definition at line 87 of file MMALIB_types.h.

◆ MMALIB_PRINTF

#define MMALIB_PRINTF (   fmt,
  ... 
)
Value:
do { \
fprintf(stdout, fmt, __VA_ARGS__); \
} while (0)

Definition at line 95 of file MMALIB_types.h.

◆ MMALIB_DEBUGPRINTFN

#define MMALIB_DEBUGPRINTFN (   N,
  fmt,
  ... 
)

Definition at line 111 of file MMALIB_types.h.

◆ MMALIB_MESG

#define MMALIB_MESG (   fmt,
  ... 
)

Definition at line 120 of file MMALIB_types.h.

◆ MMALIB_SOFT_MMA_RESET

#define MMALIB_SOFT_MMA_RESET   0

Definition at line 141 of file MMALIB_types.h.

◆ MMALIB_STATIC_INLINE

#define MMALIB_STATIC_INLINE   static inline

Definition at line 144 of file MMALIB_types.h.

◆ MMALIB_PARAM_SIZE

#define MMALIB_PARAM_SIZE   128

Parameter structure size in bytes.

Definition at line 312 of file MMALIB_types.h.

◆ MMALIB_BYTE_WIDTH

#define MMALIB_BYTE_WIDTH   __MMA_A_COLS(sizeof(int8_t))

MMA width in bytes.

Definition at line 313 of file MMALIB_types.h.

◆ MMALIB_MMA_ACCUMULATOR_BYTE_WIDTH_8_BIT

#define MMALIB_MMA_ACCUMULATOR_BYTE_WIDTH_8_BIT   4

MMA accumulator width in bytes for 8 bit output data width.

Definition at line 314 of file MMALIB_types.h.

◆ MMALIB_MMA_ACCUMULATOR_BYTE_WIDTH_16_BIT

#define MMALIB_MMA_ACCUMULATOR_BYTE_WIDTH_16_BIT   8

MMA accumulator width in bytes for 16 bit output data width.

Definition at line 315 of file MMALIB_types.h.

◆ MMALIB_MMA_ACCUMULATOR_BYTE_WIDTH_32_BIT

#define MMALIB_MMA_ACCUMULATOR_BYTE_WIDTH_32_BIT   16

MMA accumulator width in bytes for 32 bit output data width.

Definition at line 316 of file MMALIB_types.h.

◆ MMALIB_ALIGN_SHIFT_64BYTES

#define MMALIB_ALIGN_SHIFT_64BYTES    6

Number of bits to shift for 64-byte memory alignment.

Definition at line 326 of file MMALIB_types.h.

◆ MMALIB_ALIGN_SHIFT_128BYTES

#define MMALIB_ALIGN_SHIFT_128BYTES    7

Number of bits to shift for 128-byte memory alignment.

Definition at line 328 of file MMALIB_types.h.

◆ MMALIB_ALIGN_SHIFT_256BYTES

#define MMALIB_ALIGN_SHIFT_256BYTES    8

Number of bits to shift for 256-byte memory alignment.

Definition at line 330 of file MMALIB_types.h.

◆ MMALIB_ALIGN_64BYTES

#define MMALIB_ALIGN_64BYTES    (1 << MMALIB_ALIGN_SHIFT_64BYTES)

Align by 64-byte memory alignment.

Definition at line 333 of file MMALIB_types.h.

◆ MMALIB_ALIGN_128BYTES

#define MMALIB_ALIGN_128BYTES    (1 << MMALIB_ALIGN_SHIFT_128BYTES)

Align by 128-byte memory alignment.

Definition at line 335 of file MMALIB_types.h.

◆ MMALIB_ALIGN_256BYTES

#define MMALIB_ALIGN_256BYTES    (1 << MMALIB_ALIGN_SHIFT_256BYTES)

Align by 256-byte memory alignment.

Definition at line 337 of file MMALIB_types.h.

◆ MMALIB_L2DATA_ALIGN_SHIFT

#define MMALIB_L2DATA_ALIGN_SHIFT    MMALIB_ALIGN_SHIFT_64BYTES

Set the default L2 data alignment.

Definition at line 340 of file MMALIB_types.h.

◆ MMALIB_L2DATA_ALIGNMENT

#define MMALIB_L2DATA_ALIGNMENT   (((uint32_t)1) << ((uint32_t)MMALIB_L2DATA_ALIGN_SHIFT))

Macro that specifies the alignment of data buffers in L2 memory for optimal performance.

Definition at line 344 of file MMALIB_types.h.

◆ MMALIB_MMA_SIZE_8_BIT

#define MMALIB_MMA_SIZE_8_BIT   __MMA_A_COLS(sizeof(int8_t))

MMA size as a function of precision.

Definition at line 353 of file MMALIB_types.h.

◆ MMALIB_MMA_SIZE_16_BIT

#define MMALIB_MMA_SIZE_16_BIT   __MMA_A_COLS(sizeof(int16_t))

Definition at line 354 of file MMALIB_types.h.

◆ MMALIB_MMA_SIZE_32_BIT

#define MMALIB_MMA_SIZE_32_BIT   __MMA_A_COLS(sizeof(int32_t))

Definition at line 355 of file MMALIB_types.h.

◆ MMALIB_MMA_BIAS_SIZE_32_BIT

#define MMALIB_MMA_BIAS_SIZE_32_BIT   __MMA_A_COLS(sizeof(int32_t))

Definition at line 358 of file MMALIB_types.h.

◆ MMALIB_MMA_BIAS_SIZE_64_BIT

#define MMALIB_MMA_BIAS_SIZE_64_BIT   ((MMALIB_MMA_BIAS_SIZE_32_BIT) >> 1)

Definition at line 359 of file MMALIB_types.h.

Typedef Documentation

◆ MMALIB_D64

typedef double MMALIB_D64

Double precision floating point.

Definition at line 172 of file MMALIB_types.h.

◆ MMALIB_F32

typedef float MMALIB_F32

Single precision floating point.

Definition at line 173 of file MMALIB_types.h.

◆ MMALIB_STATUS

Return value for MMALIB functions.

Definition at line 277 of file MMALIB_types.h.

◆ MMALIB_kernelHandle

typedef void* MMALIB_kernelHandle

Handle type for MMALIB operations.

Definition at line 279 of file MMALIB_types.h.

◆ MMALIB_tensor_format

Definition at line 304 of file MMALIB_types.h.

Enumeration Type Documentation

◆ MMALIB_STATUS_NAME

The enumeration of all status codes.

Enumerator
MMALIB_SUCCESS 

0 => No error

MMALIB_ERR_FAILURE 

1 => Unspecified error

MMALIB_ERR_INVALID_VALUE 

2 => Invalid parameter value

MMALIB_ERR_INVALID_TYPE 

3 => Invalid parameter type (MMALIB_data_type_e data_type)

MMALIB_ERR_INVALID_DIMENSION 

4 => Dimension parameter (width/height) is too big/small

MMALIB_ERR_NULL_POINTER 

5 => Unsupported null pointer condition

MMALIB_ERR_NOT_IMPLEMENTED 

6 => Parameter configuration is not supported/implemented

MMALIB_ERR_NOT_EQUAL_WIDTH_STRIDE 

7 => Stride should be equal to width * element size

MMALIB_ERR_NOT_ALIGNED_PTRS_STRIDES 

8 => Pointers and stride values are not aligned to documented value

MMALIB_ERR_NOT_ALIGNED_WIDTHS 

9 => Width values are not aligned to documented value

MMALIB_ERR_BUFFER_TOO_SMALL 

10 => Buffer size not large enough

MMALIB_ERR_INVALID_ACTIVATION 

11 => Activation selection incompatible with data type

MMALIB_ERR_INVALID_SHIFT 

12 => Requested shift amount is not valid

MMALIB_ERROR_MAX 
MMALIB_ERR_CONVOLVE_ROW_INVALID_INCHOFFSET_CIRCULAR 

1000 => Invalid InChOffset value

MMALIB_ERR_CONVOLVE_ROW_UNSUPPORTED_STRIDE 

1001 => Unsupported stride value

MMALIB_ERR_CONVOLVE_ROW_UNSUPPORTED_TYPE_COMBINATION 

1002 => Unsupported combination of weights, input and output data types

MMALIB_ERR_CONVOLVE_ROW_INVALID_PTR_STRIDE 

1003 => Invalid pointer stride

MMALIB_ERR_CONVOLVE_ROW_INVALID_SUBMCHANNELS_STRIDE 

1004 => Invalid subMChannels strided

MMALIB_ERR_CONVOLVE_ROW_INVALID_SUBMCHANNELS 

1005 => Invalid subMChannels and MChannels combination

MMALIB_ERR_CONVOLVE_ROW_INVALID_BUFFER_DIMENSION 

1006 => Invalid buffer dimension

MMALIB_ERR_CONVOLVE_ROW_INVALID_ROWS_STRIDE 

1007 => Invalid Valid RowsIn Strided

MMALIB_ERR_CONVOLVE_ROW_INVALID_INITARGS 

1008 => inWidth, validColsIn, inChOffset, Fc, Fr, dilationX, dilationY, strideX, strideY, or maxHeight

MMALIB_ERR_CONVOLVE_ROW_INVALID_VALIDCOLSIN 

1009 => Invalid Valid ColsIn

MMALIB_ERR_CONVOLVE_ROW_INVALID_NUM_GROUPS_PER_KERNEL 

1010 => Invalid numGroupsPerKernel

MMALIB_ERR_CONVOLVE_ROW_INVALID_NUM_OUTPUT_CHANNELS_PER_GROUP 

1011 => Invalid number of output channels per group

MMALIB_ERR_CONVOLVE_ROW_INVALID_NUM_GROUPS_PER_KERNEL_STRIDED 

1012 => Invalid numGroupsPerKernel strided convolution

MMALIB_ERR_CONVOLVE_COL_INVALID_SHIFTMETHOD 

2000 => Invalid shiftMethod selected

MMALIB_ERR_CONVOLVE_COL_INVALID_SHIFTVALUES 

2001 => Invalid shiftValues pointer in combination with shiftMethod value

MMALIB_ERR_CONVOLVE_COL_INVALID_PAD_VALUES 

2002 => Invalid combination of pad values

MMALIB_ERR_CONVOLVE_COL_INVALID_NUMBIASVALS 

2003 => Invalid selection for numBiasVals, note combination restrictions with shiftMethod

MMALIB_ERR_CONVOLVE_COL_INVALID_BIASBVALUES 

2004 => Invalid biasBValues pointer in combination with shiftMethod value

MMALIB_ERR_CONVOLVE_COL_INVALID_BIASB_TYPE 

2005 => Invalid biasB data type, check that it matches input feature map type

MMALIB_ERR_CONVOLVE_COL_UNSUPPORTED_INPUT_FEATURE_MAP_TYPE 

2006 => Unsupported input feature map data type

MMALIB_ERR_CONVOLVE_COL_UNSUPPORTED_WEIGHTS_TYPE 

2007 => Unsupported filter weights data type

MMALIB_ERR_CONVOLVE_COL_UNSUPPORTED_WEIGHTS_DIMENSION 

2008 => Unsupported filter weights dimension

MMALIB_ERR_CONVOLVE_COL_UNSUPPORTED_OUTPUT_FEATURE_MAP_TYPE 

2009 => Unsupported output feature map data type

MMALIB_ERR_CONVOLVE_COL_UNSUPPORTED_TYPE_COMBINATION 

2010 => Unsupported combination of weights, input and output data types

MMALIB_ERR_CONVOLVE_COL_UNSUPPORTED_STRIDE 

2011 => Unsupported stride value

MMALIB_ERR_CONVOLVE_COL_UNSUPPORTED_GROUPING 

2012 => Unsupported input/output feature map grouping

MMALIB_ERR_CONVOLVE_COL_INVALID_CASE 

2013 => Unexpected error related to problem geometry

MMALIB_ERR_DECONVOLVE_ROW_INVALID_KERNEL_SIZE 

3000 => Invalid kernel size, widht or height

MMALIB_ERR_DECONVOLVE_ROW_INVALID_STRIDE 

3001 => Invalid stride values

MMALIB_ERR_DECONVOLVE_ROW_INVALID_DILATION 

3002 => Invalid dilation values

MMALIB_ERR_DECONVOLVE_ROW_INVALID_PAD 

3003 => Invalid pad value

MMALIB_ERR_DECONVOLVE_ROW_INVALID_INIT_ARGS 

3004 => Invalid init args

MMALIB_ERR_DECONVOLVE_ROW_INVALID_BUFFER_DIMENSION_WEIGHTS 

3005 => Invalid buffer dim for weights

MMALIB_ERR_DECONVOLVE_ROW_INVALID_SUBMCHANNELS 

3006 => Invalid subMChannels and MChannels combination

MMALIB_ERR_DECONVOLVE_ROW_INVALID_BUFFER_SIZES 

3007 => Invalid buffer size

MMALIB_ERR_FULLYCONNECTED_INVALID_TYPE_COMBINATION 

4000 => Invalid datatype combination

MMALIB_ERR_FULLYCONNECTED_INVALID_DIMENSION_COMBINATION 

4001 => Invalid dimension combination

MMALIB_ERR_FULLYCONNECTED_INVALID_TYPE_RELU_COMBINATION 

4002 => Invalid type and ReLU combination

MMALIB_ERR_PIXELSHUFFLE_ROW_INVALID_INCHOFFSET_CIRCULAR 

5000 => Invalid InChOffset value

MMALIB_ERR_PIXELSHUFFLE_ROW_UNSUPPORTED_STRIDE 

5001 => Unsupported stride value

MMALIB_ERR_PIXELSHUFFLE_ROW_UNSUPPORTED_TYPE_COMBINATION 

5002 => Unsupported combination of weights, input and output data types

MMALIB_ERR_PIXELSHUFFLE_ROW_INVALID_PTR_STRIDE 

5003 => Invalid pointer stride

MMALIB_ERR_PIXELSHUFFLE_ROW_INVALID_SUBMCHANNELS_STRIDE 

5004 => Invalid subMChannels strided

MMALIB_ERR_PIXELSHUFFLE_ROW_INVALID_SUBMCHANNELS 

5005 => Invalid subMChannels and MChannels combination

MMALIB_ERR_PIXELSHUFFLE_ROW_INVALID_BUFFER_DIMENSION 

5006 => Invalid buffer dimension

MMALIB_ERR_PIXELSHUFFLE_ROW_INVALID_ROWS_STRIDE 

5007 => Invalid Valid RowsIn Strided

MMALIB_ERR_PIXELSHUFFLE_ROW_INVALID_INITARGS 

5008 => inWidth, validColsIn, inChOffset, Fc, Fr, dilationX, dilationY, strideX, strideY, or maxHeight

MMALIB_ERR_PIXELSHUFFLE_ROW_INVALID_VALIDCOLSIN 

5009 => Invalid Valid ColsIn

MMALIB_ERR_PIXELSHUFFLE_ROW_INVALID_UPSCALE_FACTOR 

5010 => Invalid upscale factor

MMALIB_ERR_TENSOR_CONVERT_INVALID_TYPE_COMBINATION 

6000 => Invalid datatype combination

MMALIB_ERR_TENSOR_CONVERT_INVALID_DIMENSION_COMBINATION 

6001 => Invalid dimension combination

MMALIB_ERR_TENSOR_CONVERT_UNSUPPORTED_TYPE_COMBINATION 

6002 => Unsupported dimension combination

MMALIB_ERR_TENSOR_CONVERT_UNSUPPORTED_CHANNEL_DIMENSION 

6003 => Unsupported channel dimension

MMALIB_ERR_TENSOR_CONVERT_UNSUPPORTED_CONVRSION_FORMAT 

6004 => Unsupported conversion format

MMALIB_ERR_TENSOR_CONVERT_UNSUPPORTED_PAD_DIMENSION 

6005 => Unsupported pad dimension

MMALIB_ERR_MATRIX_MATRIX_MULTIPLY_UNSUPPORTED_INPUT_TYPE 

10000 => Unsupported input data type

MMALIB_ERR_MATRIX_MATRIX_MULTIPLY_UNSUPPORTED_OUTPUT_TYPE 

10001 => Unsupported output data type

MMALIB_ERR_MATRIX_MATRIX_MULTIPLY_UNSUPPORTED_TYPE_COMBINATION 

10002 => Unsupported combination of input and output data type

MMALIB_ERR_MATRIX_MATRIX_MULTIPLY_ACCUMULATE_UNSUPPORTED_INPUT_TYPE 

11000 => Unsupported input data type

MMALIB_ERR_MATRIX_MATRIX_MULTIPLY_ACCUMULATE_UNSUPPORTED_OUTPUT_TYPE 

11001 => Unsupported output data type

MMALIB_ERR_MATRIX_MATRIX_MULTIPLY_ACCUMULATE_UNSUPPORTED_TYPE_COMBINATION 

11002 => Unsupported combination of input and output data type

MMALIB_ERR_MATRIX_TRANSPOSE_UNSUPPORTED_INPUT_TYPE 

12000 => Unsupported input data type

MMALIB_ERR_MATRIX_TRANSPOSE_UNSUPPORTED_OUTPUT_TYPE 

12001 => Unsupported output data type

MMALIB_ERR_MATRIX_TRANSPOSE_UNSUPPORTED_TYPE_COMBINATION 

12002 => Unsupported combination of input and output data type

MMALIB_ERR_POINTWISE_MATRIX_MATRIX_MULTIPLY_UNSUPPORTED_INPUT_TYPE 

13000 => Unsupported input data type

MMALIB_ERR_POINTWISE_MATRIX_MATRIX_MULTIPLY_UNSUPPORTED_OUTPUT_TYPE 

13001 => Unsupported output data type

MMALIB_ERR_POINTWISE_MATRIX_MATRIX_MULTIPLY_UNSUPPORTED_TYPE_COMBINATION 

13002 => Unsupported combination of input and output data type

Definition at line 176 of file MMALIB_types.h.

◆ MMALIB_FUNCTION_STYLE

Enumeration for the style of function implementation.

Enumerator
MMALIB_FUNCTION_NATC 

Natural C implementation of the function

MMALIB_FUNCTION_OPTIMIZED 

Optimized C implementation of the function for the MMA + C7x architecture

MMALIB_FUNCTION_MAX 

Definition at line 282 of file MMALIB_types.h.

◆ MMALIB_buffer_mode_e

Buffer structure for input feature maps and coefficients of MMALIB_CNN_convolve_row_ixX_ixX_oxX.

Enumerator
MMALIB_LINEAR 

Linear buffer.

MMALIB_SE_CIRCULAR 

Circular buffer for input feature map managed by streaming engine

MMALIB_BUF_CIRCULAR 

Circular buffer for coefficients.

Definition at line 291 of file MMALIB_types.h.

◆ MMALIB_tensor_format_e

Tensor format.

Enumerator
MMALIB_CHW 

Used when tensor is in NCHW format.

MMALIB_HWC 

Used when tensor is in NHWC format.

Definition at line 299 of file MMALIB_types.h.