123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146 |
- /**********************************************************************************
- *
- * Copyright (c) 2019-2020 Beijing AXera Technology Co., Ltd. All Rights Reserved.
- *
- * This source file is the property of Beijing AXera Technology Co., Ltd. and
- * may not be copied or distributed in any isomorphic form without the prior
- * written consent of Beijing AXera Technology Co., Ltd.
- *
- **********************************************************************************/
- #ifndef __AX_NPU_COMMON_H__
- #define __AX_NPU_COMMON_H__
- #include "./ax_base_type.h"
- #include "./ax_global_type.h"
- #ifdef __cplusplus
- extern "C" {
- #endif
- #define AX_ID_NPU_SMOD_NPU_CV 0x11
- #define AX_ERR_NPU_CV_SUCCESS 0x00
- #define AX_ERR_NPU_CV_INVALID_PARAM AX_DEF_ERR(AX_ID_NPU, AX_ID_NPU_SMOD_NPU_CV, 0x81)
- #define AX_ERR_NPU_CV_UNSUPPORT_FUNCTION AX_DEF_ERR(AX_ID_NPU, AX_ID_NPU_SMOD_NPU_CV, 0x82)
- #define AX_ERR_NPU_CV_NOT_INIT AX_DEF_ERR(AX_ID_NPU, AX_ID_NPU_SMOD_NPU_CV, 0x83)
- #define AX_ERR_NPU_CV_INVALID_SEMANTIC_HANDLE AX_DEF_ERR(AX_ID_NPU, AX_ID_NPU_SMOD_NPU_CV, 0x84)
- #define AX_ERR_NPU_CV_INFERENCE_FAIL AX_DEF_ERR(AX_ID_NPU, AX_ID_NPU_SMOD_NPU_CV, 0x85)
- #define AX_ERR_NPU_CV_INFERENCE_CANCELLED AX_DEF_ERR(AX_ID_NPU, AX_ID_NPU_SMOD_NPU_CV, 0x86)
- #define AX_ERR_NPU_CV_INVALID_HDR_MODE AX_DEF_ERR(AX_ID_NPU, AX_ID_NPU_SMOD_NPU_CV, 0x87)
- #define AX_ERR_NPU_CV_TASK_NOT_EXIST AX_DEF_ERR(AX_ID_NPU, AX_ID_NPU_SMOD_NPU_CV, 0x88)
- #define AX_ERR_NPU_CV_TASK_RUNNING AX_DEF_ERR(AX_ID_NPU, AX_ID_NPU_SMOD_NPU_CV, 0x89)
- typedef enum _AX_NPU_CV_ErrorCode {
- AX_NPU_CV_SUCCESS = AX_ERR_NPU_CV_SUCCESS,
- AX_NPU_CV_INVALID_PARAM = AX_ERR_NPU_CV_INVALID_PARAM,
- AX_NPU_CV_UNSUPPORT_FUNCTION = AX_ERR_NPU_CV_UNSUPPORT_FUNCTION,
- AX_NPU_CV_NOT_INIT = AX_ERR_NPU_CV_NOT_INIT,
- AX_NPU_CV_INVALID_SEMANTIC_HANDLE = AX_ERR_NPU_CV_INVALID_SEMANTIC_HANDLE,
- AX_NPU_CV_INFERENCE_FAIL = AX_ERR_NPU_CV_INFERENCE_FAIL,
- AX_NPU_CV_INFERENCE_CANCELLED = AX_ERR_NPU_CV_INFERENCE_CANCELLED,
- AX_NPU_CV_INVALID_HDR_MODE = AX_ERR_NPU_CV_INVALID_HDR_MODE,
- AX_NPU_CV_TASK_NOT_EXIST = AX_ERR_NPU_CV_TASK_NOT_EXIST,
- AX_NPU_CV_TASK_RUNNING = AX_ERR_NPU_CV_TASK_RUNNING
- } AX_NPU_CV_ErrorCode;
- typedef enum _AX_NPU_CV_FrameDataType {
- AX_NPU_CV_FDT_UNKNOWN = 0,
- AX_NPU_CV_FDT_RAW10 = 1,
- AX_NPU_CV_FDT_RAW12 = 2,
- AX_NPU_CV_FDT_RAW16 = 3,
- AX_NPU_CV_FDT_NV12 = 4,
- AX_NPU_CV_FDT_NV21 = 5,
- AX_NPU_CV_FDT_RGB = 6,
- AX_NPU_CV_FDT_BGR = 7,
- AX_NPU_CV_FDT_RGBA = 8,
- AX_NPU_CV_FDT_GRAY = 9,
- AX_NPU_CV_FDT_YUV444 = 10,
- AX_NPU_CV_FDT_UV = 11,
- AX_NPU_CV_FDT_YUV422 = 12,
- AX_NPU_CV_FDT_BAYER_RGGB = 13,//RGGB 4ch
- AX_NPU_CV_FDT_BAYER_GBRG = 14,
- AX_NPU_CV_FDT_BAYER_GRBG = 15,
- AX_NPU_CV_FDT_BAYER_BGGR = 16,
- AX_NPU_CV_FDT_UYVY = 17,
- AX_NPU_CV_FDT_YUYV = 18,
- AX_NPU_CV_FDT_YUV420_LEGACY = 19,
- AX_NPU_CV_FDT_LAB = 20,
- AX_NPU_CV_FDT_BAYER_1CH_RGGB = 21,
- AX_NPU_CV_FDT_BAYER_1CH_GBRG = 22,
- AX_NPU_CV_FDT_BAYER_1CH_GRBG = 23,
- AX_NPU_CV_FDT_BAYER_1CH_BGGR = 24,
- } AX_NPU_CV_FrameDataType;
- typedef struct _AX_NPU_CV_Stride {
- AX_U32 nH, nW, nC; // Currently only supports the stride of width
- } AX_NPU_CV_Stride;
- typedef struct _AX_NPU_CV_Image {
- AX_U8* pVir;
- AX_U64 pPhy;
- AX_U32 nSize;
- AX_U32 nWidth;
- AX_U32 nHeight;
- AX_NPU_CV_FrameDataType eDtype;
- AX_NPU_CV_Stride tStride; // If unset, will be the same as the image shape.
- } AX_NPU_CV_Image;
- typedef struct _AX_NPU_CV_Box {
- AX_F32 fX, fY, fW, fH;
- } AX_NPU_CV_Box;
- typedef struct _AX_NPU_CV_Point {
- AX_F32 fX, fY;
- } AX_NPU_CV_Point;
- typedef union _AX_NPU_CV_Color {
- AX_U8 nRGBColorValue[3]; // nRGBColorValue[0] for R, nRGBColorValue[1] for G, nRGBColorValue[2] for B
- AX_U8 nYUVColorValue[2]; // nYUVColorValue[0] for Y; nYUVColorValue[1] for UV or VU
- AX_U8 nGrayColorValue[1];
- } AX_NPU_CV_Color;
- typedef enum _AX_NPU_CV_DataType {
- AX_NPU_CV_DT_UNKNOWN = 0,
- AX_NPU_CV_DT_UINT8 = 1,
- AX_NPU_CV_DT_INT8 = 2,
- AX_NPU_CV_DT_UINT16 = 3,
- AX_NPU_CV_DT_INT16 = 4,
- AX_NPU_CV_DT_UINT32 = 5,
- AX_NPU_CV_DT_INT32 = 6,
- AX_NPU_CV_DT_UINT64 = 7,
- AX_NPU_CV_DT_INT64 = 8,
- AX_NPU_CV_DT_FLOAT32 = 9,
- AX_NPU_CV_DT_FLOAT64 = 10,
- } AX_NPU_CV_DataType;
- typedef struct _AX_NPU_CV_Matrix2D {
- AX_U8* pVir;
- AX_U64 pPhy;
- AX_U32 nRows;
- AX_U32 nColumns;
- AX_NPU_CV_DataType eDataType;
- } AX_NPU_CV_Matrix2D;
- typedef struct _AX_NPU_CV_Matrix3D {
- AX_U8* pVir;
- AX_U64 pPhy;
- AX_U32 N;
- AX_U32 nRows;
- AX_U32 nColumns;
- AX_NPU_CV_DataType eDataType;
- } AX_NPU_CV_Matrix3D;
- typedef enum _AX_NPU_CV_Interp {
- AX_NPU_CV_BILINEAR = 0,
- AX_NPU_CV_NEAREST = 1
- } AX_NPU_CV_Interp;
- const AX_S32 PHY_MEM_ALIGN_SIZE = 128;
- #ifdef __cplusplus
- }
- #endif
- #endif
|