openCV library for Renesas RZ/A

Dependents:   RZ_A2M_Mbed_samples

Committer:
RyoheiHagimoto
Date:
Fri Jan 29 04:53:38 2021 +0000
Revision:
0:0e0631af0305
copied from https://github.com/d-kato/opencv-lib.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
RyoheiHagimoto 0:0e0631af0305 1 #ifndef OPENCV_CORE_HAL_INTERFACE_H
RyoheiHagimoto 0:0e0631af0305 2 #define OPENCV_CORE_HAL_INTERFACE_H
RyoheiHagimoto 0:0e0631af0305 3
RyoheiHagimoto 0:0e0631af0305 4 //! @addtogroup core_hal_interface
RyoheiHagimoto 0:0e0631af0305 5 //! @{
RyoheiHagimoto 0:0e0631af0305 6
RyoheiHagimoto 0:0e0631af0305 7 //! @name Return codes
RyoheiHagimoto 0:0e0631af0305 8 //! @{
RyoheiHagimoto 0:0e0631af0305 9 #define CV_HAL_ERROR_OK 0
RyoheiHagimoto 0:0e0631af0305 10 #define CV_HAL_ERROR_NOT_IMPLEMENTED 1
RyoheiHagimoto 0:0e0631af0305 11 #define CV_HAL_ERROR_UNKNOWN -1
RyoheiHagimoto 0:0e0631af0305 12 //! @}
RyoheiHagimoto 0:0e0631af0305 13
RyoheiHagimoto 0:0e0631af0305 14 #ifdef __cplusplus
RyoheiHagimoto 0:0e0631af0305 15 #include <cstddef>
RyoheiHagimoto 0:0e0631af0305 16 #else
RyoheiHagimoto 0:0e0631af0305 17 #include <stddef.h>
RyoheiHagimoto 0:0e0631af0305 18 #include <stdbool.h>
RyoheiHagimoto 0:0e0631af0305 19 #endif
RyoheiHagimoto 0:0e0631af0305 20
RyoheiHagimoto 0:0e0631af0305 21 //! @name Data types
RyoheiHagimoto 0:0e0631af0305 22 //! primitive types
RyoheiHagimoto 0:0e0631af0305 23 //! - schar - signed 1 byte integer
RyoheiHagimoto 0:0e0631af0305 24 //! - uchar - unsigned 1 byte integer
RyoheiHagimoto 0:0e0631af0305 25 //! - short - signed 2 byte integer
RyoheiHagimoto 0:0e0631af0305 26 //! - ushort - unsigned 2 byte integer
RyoheiHagimoto 0:0e0631af0305 27 //! - int - signed 4 byte integer
RyoheiHagimoto 0:0e0631af0305 28 //! - uint - unsigned 4 byte integer
RyoheiHagimoto 0:0e0631af0305 29 //! - int64 - signed 8 byte integer
RyoheiHagimoto 0:0e0631af0305 30 //! - uint64 - unsigned 8 byte integer
RyoheiHagimoto 0:0e0631af0305 31 //! @{
RyoheiHagimoto 0:0e0631af0305 32 #if !defined _MSC_VER && !defined __BORLANDC__
RyoheiHagimoto 0:0e0631af0305 33 # if defined __cplusplus && __cplusplus >= 201103L && !defined __APPLE__
RyoheiHagimoto 0:0e0631af0305 34 # include <cstdint>
RyoheiHagimoto 0:0e0631af0305 35 #ifndef __MBED__
RyoheiHagimoto 0:0e0631af0305 36 typedef std::uint32_t uint;
RyoheiHagimoto 0:0e0631af0305 37 # endif
RyoheiHagimoto 0:0e0631af0305 38 # else
RyoheiHagimoto 0:0e0631af0305 39 # include <stdint.h>
RyoheiHagimoto 0:0e0631af0305 40 #ifndef __MBED__
RyoheiHagimoto 0:0e0631af0305 41 typedef uint32_t uint;
RyoheiHagimoto 0:0e0631af0305 42 # endif
RyoheiHagimoto 0:0e0631af0305 43 # endif
RyoheiHagimoto 0:0e0631af0305 44 #else
RyoheiHagimoto 0:0e0631af0305 45 typedef unsigned uint;
RyoheiHagimoto 0:0e0631af0305 46 #endif
RyoheiHagimoto 0:0e0631af0305 47
RyoheiHagimoto 0:0e0631af0305 48 typedef signed char schar;
RyoheiHagimoto 0:0e0631af0305 49
RyoheiHagimoto 0:0e0631af0305 50 #ifndef __IPL_H__
RyoheiHagimoto 0:0e0631af0305 51 typedef unsigned char uchar;
RyoheiHagimoto 0:0e0631af0305 52 typedef unsigned short ushort;
RyoheiHagimoto 0:0e0631af0305 53 #endif
RyoheiHagimoto 0:0e0631af0305 54
RyoheiHagimoto 0:0e0631af0305 55 #if defined _MSC_VER || defined __BORLANDC__
RyoheiHagimoto 0:0e0631af0305 56 typedef __int64 int64;
RyoheiHagimoto 0:0e0631af0305 57 typedef unsigned __int64 uint64;
RyoheiHagimoto 0:0e0631af0305 58 # define CV_BIG_INT(n) n##I64
RyoheiHagimoto 0:0e0631af0305 59 # define CV_BIG_UINT(n) n##UI64
RyoheiHagimoto 0:0e0631af0305 60 #else
RyoheiHagimoto 0:0e0631af0305 61 typedef int64_t int64;
RyoheiHagimoto 0:0e0631af0305 62 typedef uint64_t uint64;
RyoheiHagimoto 0:0e0631af0305 63 # define CV_BIG_INT(n) n##LL
RyoheiHagimoto 0:0e0631af0305 64 # define CV_BIG_UINT(n) n##ULL
RyoheiHagimoto 0:0e0631af0305 65 #endif
RyoheiHagimoto 0:0e0631af0305 66
RyoheiHagimoto 0:0e0631af0305 67 #define CV_CN_MAX 512
RyoheiHagimoto 0:0e0631af0305 68 #define CV_CN_SHIFT 3
RyoheiHagimoto 0:0e0631af0305 69 #define CV_DEPTH_MAX (1 << CV_CN_SHIFT)
RyoheiHagimoto 0:0e0631af0305 70
RyoheiHagimoto 0:0e0631af0305 71 #define CV_8U 0
RyoheiHagimoto 0:0e0631af0305 72 #define CV_8S 1
RyoheiHagimoto 0:0e0631af0305 73 #define CV_16U 2
RyoheiHagimoto 0:0e0631af0305 74 #define CV_16S 3
RyoheiHagimoto 0:0e0631af0305 75 #define CV_32S 4
RyoheiHagimoto 0:0e0631af0305 76 #define CV_32F 5
RyoheiHagimoto 0:0e0631af0305 77 #define CV_64F 6
RyoheiHagimoto 0:0e0631af0305 78 #define CV_USRTYPE1 7
RyoheiHagimoto 0:0e0631af0305 79
RyoheiHagimoto 0:0e0631af0305 80 #define CV_MAT_DEPTH_MASK (CV_DEPTH_MAX - 1)
RyoheiHagimoto 0:0e0631af0305 81 #define CV_MAT_DEPTH(flags) ((flags) & CV_MAT_DEPTH_MASK)
RyoheiHagimoto 0:0e0631af0305 82
RyoheiHagimoto 0:0e0631af0305 83 #define CV_MAKETYPE(depth,cn) (CV_MAT_DEPTH(depth) + (((cn)-1) << CV_CN_SHIFT))
RyoheiHagimoto 0:0e0631af0305 84 #define CV_MAKE_TYPE CV_MAKETYPE
RyoheiHagimoto 0:0e0631af0305 85
RyoheiHagimoto 0:0e0631af0305 86 #define CV_8UC1 CV_MAKETYPE(CV_8U,1)
RyoheiHagimoto 0:0e0631af0305 87 #define CV_8UC2 CV_MAKETYPE(CV_8U,2)
RyoheiHagimoto 0:0e0631af0305 88 #define CV_8UC3 CV_MAKETYPE(CV_8U,3)
RyoheiHagimoto 0:0e0631af0305 89 #define CV_8UC4 CV_MAKETYPE(CV_8U,4)
RyoheiHagimoto 0:0e0631af0305 90 #define CV_8UC(n) CV_MAKETYPE(CV_8U,(n))
RyoheiHagimoto 0:0e0631af0305 91
RyoheiHagimoto 0:0e0631af0305 92 #define CV_8SC1 CV_MAKETYPE(CV_8S,1)
RyoheiHagimoto 0:0e0631af0305 93 #define CV_8SC2 CV_MAKETYPE(CV_8S,2)
RyoheiHagimoto 0:0e0631af0305 94 #define CV_8SC3 CV_MAKETYPE(CV_8S,3)
RyoheiHagimoto 0:0e0631af0305 95 #define CV_8SC4 CV_MAKETYPE(CV_8S,4)
RyoheiHagimoto 0:0e0631af0305 96 #define CV_8SC(n) CV_MAKETYPE(CV_8S,(n))
RyoheiHagimoto 0:0e0631af0305 97
RyoheiHagimoto 0:0e0631af0305 98 #define CV_16UC1 CV_MAKETYPE(CV_16U,1)
RyoheiHagimoto 0:0e0631af0305 99 #define CV_16UC2 CV_MAKETYPE(CV_16U,2)
RyoheiHagimoto 0:0e0631af0305 100 #define CV_16UC3 CV_MAKETYPE(CV_16U,3)
RyoheiHagimoto 0:0e0631af0305 101 #define CV_16UC4 CV_MAKETYPE(CV_16U,4)
RyoheiHagimoto 0:0e0631af0305 102 #define CV_16UC(n) CV_MAKETYPE(CV_16U,(n))
RyoheiHagimoto 0:0e0631af0305 103
RyoheiHagimoto 0:0e0631af0305 104 #define CV_16SC1 CV_MAKETYPE(CV_16S,1)
RyoheiHagimoto 0:0e0631af0305 105 #define CV_16SC2 CV_MAKETYPE(CV_16S,2)
RyoheiHagimoto 0:0e0631af0305 106 #define CV_16SC3 CV_MAKETYPE(CV_16S,3)
RyoheiHagimoto 0:0e0631af0305 107 #define CV_16SC4 CV_MAKETYPE(CV_16S,4)
RyoheiHagimoto 0:0e0631af0305 108 #define CV_16SC(n) CV_MAKETYPE(CV_16S,(n))
RyoheiHagimoto 0:0e0631af0305 109
RyoheiHagimoto 0:0e0631af0305 110 #define CV_32SC1 CV_MAKETYPE(CV_32S,1)
RyoheiHagimoto 0:0e0631af0305 111 #define CV_32SC2 CV_MAKETYPE(CV_32S,2)
RyoheiHagimoto 0:0e0631af0305 112 #define CV_32SC3 CV_MAKETYPE(CV_32S,3)
RyoheiHagimoto 0:0e0631af0305 113 #define CV_32SC4 CV_MAKETYPE(CV_32S,4)
RyoheiHagimoto 0:0e0631af0305 114 #define CV_32SC(n) CV_MAKETYPE(CV_32S,(n))
RyoheiHagimoto 0:0e0631af0305 115
RyoheiHagimoto 0:0e0631af0305 116 #define CV_32FC1 CV_MAKETYPE(CV_32F,1)
RyoheiHagimoto 0:0e0631af0305 117 #define CV_32FC2 CV_MAKETYPE(CV_32F,2)
RyoheiHagimoto 0:0e0631af0305 118 #define CV_32FC3 CV_MAKETYPE(CV_32F,3)
RyoheiHagimoto 0:0e0631af0305 119 #define CV_32FC4 CV_MAKETYPE(CV_32F,4)
RyoheiHagimoto 0:0e0631af0305 120 #define CV_32FC(n) CV_MAKETYPE(CV_32F,(n))
RyoheiHagimoto 0:0e0631af0305 121
RyoheiHagimoto 0:0e0631af0305 122 #define CV_64FC1 CV_MAKETYPE(CV_64F,1)
RyoheiHagimoto 0:0e0631af0305 123 #define CV_64FC2 CV_MAKETYPE(CV_64F,2)
RyoheiHagimoto 0:0e0631af0305 124 #define CV_64FC3 CV_MAKETYPE(CV_64F,3)
RyoheiHagimoto 0:0e0631af0305 125 #define CV_64FC4 CV_MAKETYPE(CV_64F,4)
RyoheiHagimoto 0:0e0631af0305 126 #define CV_64FC(n) CV_MAKETYPE(CV_64F,(n))
RyoheiHagimoto 0:0e0631af0305 127 //! @}
RyoheiHagimoto 0:0e0631af0305 128
RyoheiHagimoto 0:0e0631af0305 129 //! @name Comparison operation
RyoheiHagimoto 0:0e0631af0305 130 //! @sa cv::CmpTypes
RyoheiHagimoto 0:0e0631af0305 131 //! @{
RyoheiHagimoto 0:0e0631af0305 132 #define CV_HAL_CMP_EQ 0
RyoheiHagimoto 0:0e0631af0305 133 #define CV_HAL_CMP_GT 1
RyoheiHagimoto 0:0e0631af0305 134 #define CV_HAL_CMP_GE 2
RyoheiHagimoto 0:0e0631af0305 135 #define CV_HAL_CMP_LT 3
RyoheiHagimoto 0:0e0631af0305 136 #define CV_HAL_CMP_LE 4
RyoheiHagimoto 0:0e0631af0305 137 #define CV_HAL_CMP_NE 5
RyoheiHagimoto 0:0e0631af0305 138 //! @}
RyoheiHagimoto 0:0e0631af0305 139
RyoheiHagimoto 0:0e0631af0305 140 //! @name Border processing modes
RyoheiHagimoto 0:0e0631af0305 141 //! @sa cv::BorderTypes
RyoheiHagimoto 0:0e0631af0305 142 //! @{
RyoheiHagimoto 0:0e0631af0305 143 #define CV_HAL_BORDER_CONSTANT 0
RyoheiHagimoto 0:0e0631af0305 144 #define CV_HAL_BORDER_REPLICATE 1
RyoheiHagimoto 0:0e0631af0305 145 #define CV_HAL_BORDER_REFLECT 2
RyoheiHagimoto 0:0e0631af0305 146 #define CV_HAL_BORDER_WRAP 3
RyoheiHagimoto 0:0e0631af0305 147 #define CV_HAL_BORDER_REFLECT_101 4
RyoheiHagimoto 0:0e0631af0305 148 #define CV_HAL_BORDER_TRANSPARENT 5
RyoheiHagimoto 0:0e0631af0305 149 #define CV_HAL_BORDER_ISOLATED 16
RyoheiHagimoto 0:0e0631af0305 150 //! @}
RyoheiHagimoto 0:0e0631af0305 151
RyoheiHagimoto 0:0e0631af0305 152 //! @name DFT flags
RyoheiHagimoto 0:0e0631af0305 153 //! @{
RyoheiHagimoto 0:0e0631af0305 154 #define CV_HAL_DFT_INVERSE 1
RyoheiHagimoto 0:0e0631af0305 155 #define CV_HAL_DFT_SCALE 2
RyoheiHagimoto 0:0e0631af0305 156 #define CV_HAL_DFT_ROWS 4
RyoheiHagimoto 0:0e0631af0305 157 #define CV_HAL_DFT_COMPLEX_OUTPUT 16
RyoheiHagimoto 0:0e0631af0305 158 #define CV_HAL_DFT_REAL_OUTPUT 32
RyoheiHagimoto 0:0e0631af0305 159 #define CV_HAL_DFT_TWO_STAGE 64
RyoheiHagimoto 0:0e0631af0305 160 #define CV_HAL_DFT_STAGE_COLS 128
RyoheiHagimoto 0:0e0631af0305 161 #define CV_HAL_DFT_IS_CONTINUOUS 512
RyoheiHagimoto 0:0e0631af0305 162 #define CV_HAL_DFT_IS_INPLACE 1024
RyoheiHagimoto 0:0e0631af0305 163 //! @}
RyoheiHagimoto 0:0e0631af0305 164
RyoheiHagimoto 0:0e0631af0305 165 //! @name SVD flags
RyoheiHagimoto 0:0e0631af0305 166 //! @{
RyoheiHagimoto 0:0e0631af0305 167 #define CV_HAL_SVD_NO_UV 1
RyoheiHagimoto 0:0e0631af0305 168 #define CV_HAL_SVD_SHORT_UV 2
RyoheiHagimoto 0:0e0631af0305 169 #define CV_HAL_SVD_MODIFY_A 4
RyoheiHagimoto 0:0e0631af0305 170 #define CV_HAL_SVD_FULL_UV 8
RyoheiHagimoto 0:0e0631af0305 171 //! @}
RyoheiHagimoto 0:0e0631af0305 172
RyoheiHagimoto 0:0e0631af0305 173 //! @name Gemm flags
RyoheiHagimoto 0:0e0631af0305 174 //! @{
RyoheiHagimoto 0:0e0631af0305 175 #define CV_HAL_GEMM_1_T 1
RyoheiHagimoto 0:0e0631af0305 176 #define CV_HAL_GEMM_2_T 2
RyoheiHagimoto 0:0e0631af0305 177 #define CV_HAL_GEMM_3_T 4
RyoheiHagimoto 0:0e0631af0305 178 //! @}
RyoheiHagimoto 0:0e0631af0305 179
RyoheiHagimoto 0:0e0631af0305 180 //! @}
RyoheiHagimoto 0:0e0631af0305 181
RyoheiHagimoto 0:0e0631af0305 182 #endif