473 lines
17 KiB
C
473 lines
17 KiB
C
/* GPL-2.0 WITH Linux-syscall-note OR Apache 2.0 */
|
|
/* Copyright (c) 2021 Fuzhou Rockchip Electronics Co., Ltd */
|
|
|
|
#ifndef INCLUDE_RT_MPI_RK_COMM_VI_H_
|
|
#define INCLUDE_RT_MPI_RK_COMM_VI_H_
|
|
|
|
#include "rk_common.h"
|
|
#include "rk_errno.h"
|
|
#include "rk_comm_video.h"
|
|
|
|
#ifdef __cplusplus
|
|
#if __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
#endif /* __cplusplus */
|
|
|
|
#define VI_CHN0 0
|
|
#define VI_CHN1 1
|
|
#define VI_CHN2 2
|
|
#define VI_CHN3 3
|
|
#define VI_CHN4 4
|
|
#define VI_CHN5 5
|
|
|
|
#define MAX_VI_FILE_PATH_LEN 256
|
|
#define MAX_VI_FILE_NAME_LEN 256
|
|
#define MAX_VI_ENTITY_NAME_LEN 32
|
|
#define MAX_VI_BIND_PIPE_NUM 16
|
|
|
|
typedef RK_S32 (*PREAIISP_CALLBACK)(RK_VOID *pUserData, RK_VOID *pPrivateData);
|
|
|
|
/* interface mode of video input */
|
|
typedef enum rkVI_INTF_MODE_E {
|
|
VI_MODE_BT656 = 0, /* ITU-R BT.656 YUV4:2:2 */
|
|
VI_MODE_BT601, /* ITU-R BT.601 YUV4:2:2 */
|
|
VI_MODE_DIGITAL_CAMERA, /* digatal camera mode */
|
|
VI_MODE_BT1120_STANDARD, /* BT.1120 progressive mode */
|
|
VI_MODE_BT1120_INTERLEAVED, /* BT.1120 interstage mode */
|
|
VI_MODE_MIPI, /* MIPI RAW mode */
|
|
VI_MODE_MIPI_YUV420_NORMAL, /* MIPI YUV420 normal mode */
|
|
VI_MODE_MIPI_YUV420_LEGACY, /* MIPI YUV420 legacy mode */
|
|
VI_MODE_MIPI_YUV422, /* MIPI YUV422 mode */
|
|
VI_MODE_LVDS, /* LVDS mode */
|
|
VI_MODE_SPI, /* SPi mode */
|
|
VI_MODE_SLVS, /* SLVS mode */
|
|
|
|
VI_MODE_BUTT
|
|
} VI_INTF_MODE_E;
|
|
|
|
/* Input mode */
|
|
typedef enum rkVI_INPUT_MODE_E {
|
|
VI_INPUT_MODE_BT656 = 0, /* ITU-R BT.656 YUV4:2:2 */
|
|
VI_INPUT_MODE_BT601, /* ITU-R BT.601 YUV4:2:2 */
|
|
VI_INPUT_MODE_DIGITAL_CAMERA, /* digatal camera mode */
|
|
VI_INPUT_MODE_INTERLEAVED, /* interstage mode */
|
|
VI_INPUT_MODE_MIPI, /* MIPI mode */
|
|
VI_INPUT_MODE_LVDS, /* LVDS mode */
|
|
VI_INPUT_MODE_SPI, /* SPi mode */
|
|
VI_INPUT_MODE_SLVS, /* SLVS mode */
|
|
|
|
VI_INPUT_MODE_BUTT
|
|
} VI_INPUT_MODE_E;
|
|
|
|
/* Work mode */
|
|
typedef enum rkVI_WORK_MODE_E {
|
|
VI_WORK_MODE_1Multiplex = 0, /* 1 Multiplex mode */
|
|
VI_WORK_MODE_2Multiplex, /* 2 Multiplex mode */
|
|
VI_WORK_MODE_3Multiplex, /* 3 Multiplex mode */
|
|
VI_WORK_MODE_4Multiplex, /* 4 Multiplex mode */
|
|
|
|
VI_WORK_MODE_BUTT
|
|
} VI_WORK_MODE_E;
|
|
|
|
/* Sequence of YUV data */
|
|
typedef enum rkVI_YUV_DATA_SEQ_E {
|
|
/*
|
|
* The input sequence of the second component
|
|
* (only contains u and v) in BT.1120 mode is VUVU
|
|
*/
|
|
VI_DATA_SEQ_VUVU = 0,
|
|
/*
|
|
* The input sequence of the second component
|
|
* (only contains u and v) in BT.1120 mode is UVUV
|
|
*/
|
|
VI_DATA_SEQ_UVUV,
|
|
|
|
VI_DATA_SEQ_UYVY, /* The input sequence of YUV is UYVY */
|
|
VI_DATA_SEQ_VYUY, /* The input sequence of YUV is VYUY */
|
|
VI_DATA_SEQ_YUYV, /* The input sequence of YUV is YUYV */
|
|
VI_DATA_SEQ_YVYU, /* The input sequence of YUV is YVYU */
|
|
|
|
VI_DATA_SEQ_BUTT
|
|
} VI_YUV_DATA_SEQ_E;
|
|
|
|
/* Input data type */
|
|
typedef enum rkVI_DATA_TYPE_E {
|
|
VI_DATA_TYPE_YUV = 0,
|
|
VI_DATA_TYPE_RGB,
|
|
|
|
VI_DATA_TYPE_BUTT
|
|
} VI_DATA_TYPE_E;
|
|
|
|
/* RAW MEM ALIGN MODE*/
|
|
typedef enum VI_RAW_MEMORY_TYPE_E {
|
|
VI_RAW_MEM_COMPACT = 0,
|
|
VI_RAW_MEM_WORD_LOW_ALIGN = 1,
|
|
VI_RAW_MEM_WORD_HIGH_ALIGN = 2,
|
|
} VI_RAW_MEMORY_TYPE_E;
|
|
|
|
/* DEV HDR Mode */
|
|
typedef enum rkVI_HDR_MODE_E {
|
|
VI_MODE_NORMAL = 0,
|
|
VI_MODE_ISP_HDR2 = 0x10,
|
|
VI_MODE_ISP_HDR3 = 0x20,
|
|
} VI_HDR_MODE_E;
|
|
|
|
typedef enum rkVI_V4L2_MEMORY_TYPE {
|
|
VI_V4L2_MEMORY_TYPE_MMAP = 1,
|
|
VI_V4L2_MEMORY_TYPE_USERPTR = 2,
|
|
VI_V4L2_MEMORY_TYPE_OVERLAY = 3,
|
|
VI_V4L2_MEMORY_TYPE_DMABUF = 4,
|
|
} VI_V4L2_MEMORY_TYPE;
|
|
|
|
/* The attributes of a VI device */
|
|
typedef struct rkVI_DEV_ATTR_S {
|
|
/* RW;Interface mode */
|
|
VI_INTF_MODE_E enIntfMode;
|
|
/* RW;Work mode */
|
|
VI_WORK_MODE_E enWorkMode;
|
|
/* The below members must be configured in BT.601 mode or DC mode and are invalid in other modes */
|
|
/* RW;Input data sequence (only the YUV format is supported) */
|
|
VI_YUV_DATA_SEQ_E enDataSeq;
|
|
/* RW;RGB: CSC-709 or CSC-601, PT YUV444 disable; YUV: default yuv CSC coef PT YUV444 enable. */
|
|
VI_DATA_TYPE_E enInputDataType;
|
|
/* RW;Input max size */
|
|
SIZE_S stMaxSize;
|
|
/* RW;Data rate of Device */
|
|
DATA_RATE_E enDataRate;
|
|
/* RW;Pixel format */
|
|
PIXEL_FORMAT_E enPixFmt;
|
|
/* RW;Dev mem type */
|
|
VI_RAW_MEMORY_TYPE_E enMemMode;
|
|
/* RW;Dev buff type */
|
|
VI_V4L2_MEMORY_TYPE enBufType;
|
|
/* RW;Dev buff cnt */
|
|
RK_U32 u32BufCount;
|
|
/* RW;Dev Hdr Mode */
|
|
VI_HDR_MODE_E enHdrMode;
|
|
/* RW;Dev Set Crop size*/
|
|
RECT_S stCropRect;
|
|
/* RW; Dev Long Frame raw buffer wrap line */
|
|
RK_U32 u32LongFrameWrapLine;
|
|
} VI_DEV_ATTR_S;
|
|
|
|
/* The status of chn */
|
|
typedef struct rkVI_DEV_STATUS_S {
|
|
SIZE_S stSize; /* RO;chn output size */
|
|
RK_BOOL bProbeOk; /* RO;whether sensor is probed success */
|
|
} VI_DEV_STATUS_S;
|
|
|
|
/* Information of pipe binded to device */
|
|
typedef struct rkVI_DEV_BIND_PIPE_S {
|
|
RK_U32 u32Num; /* RW;Range [1,VI_MAX_PHY_PIPE_NUM] */
|
|
VI_PIPE PipeId[MAX_VI_BIND_PIPE_NUM]; /* RW;Array of pipe ID */
|
|
RK_BOOL bDataOffline; /* RW;RK_FALSE: dev work online, RK_TRUE: dev work offline */
|
|
RK_BOOL bUserStartPipe[MAX_VI_BIND_PIPE_NUM]; /* RW;RK_FALSE: vi start pipe, RK_TRUE: user start pipe */
|
|
} VI_DEV_BIND_PIPE_S;
|
|
|
|
typedef enum rkVI_ALLOC_BUF_TYPE_E {
|
|
VI_ALLOC_BUF_TYPE_INTERNAL,
|
|
VI_ALLOC_BUF_TYPE_EXTERNAL,
|
|
VI_ALLOC_BUF_TYPE_CHN_SHARE
|
|
} VI_ALLOC_BUF_TYPE_E;
|
|
|
|
typedef enum rkVI_V4L2_CAPTURE_TYPE {
|
|
VI_V4L2_CAPTURE_TYPE_VIDEO_CAPTURE = 1,
|
|
VI_V4L2_CAPTURE_TYPE_VBI_CAPTURE = 4,
|
|
VI_V4L2_CAPTURE_TYPE_SLICED_VBI_CAPTURE = 6,
|
|
VI_V4L2_CAPTURE_TYPE_VIDEO_CAPTURE_MPLANE = 9,
|
|
VI_V4L2_CAPTURE_TYPE_SDR_CAPTURE = 11,
|
|
VI_V4L2_CAPTURE_TYPE_META_CAPTURE = 13,
|
|
/* Deprecated, do not use */
|
|
VI_V4L2_CAPTURE_TYPE_PRIVATE = 0x80,
|
|
} VI_V4L2_CAPTURE_TYPE;
|
|
|
|
|
|
/* vi mode type */
|
|
typedef enum rkVI_MODTYPE_E {
|
|
VI_DEV_PIPE_MODE = 1, /* DEV_PIPE_MODE */
|
|
VI_CHN_WRAP_MODE, /* CHN_WRAP_MODE */
|
|
VI_BUTT
|
|
} VI_MODTYPE_E;
|
|
|
|
/* vi dev pipe mode type */
|
|
typedef enum rkVI_DEV_PIPE_MODTYPE_E {
|
|
VI_DEV_PIPE_OFFLINE = 1, /* devx -> ddr -> pipex*/
|
|
VI_DEV_PIPE_ONLINE = 2, /* devx->pipex*/
|
|
VI_DEV_PIPE_LEFT_HALF_ONLINE = 3, /* dev0->pipe0, dev1->ddr->pipe1 */
|
|
VI_DEV_PIPE_RIGHT_HALF_ONLINE = 4, /* dev1->pipe1, dev0->ddr->pipe0 */
|
|
VI_DEV_PIPE_UNITE_HALF_ONLINE = 5, /* unite mode */
|
|
VI_DEV_PIPE_BUTT
|
|
} VI_DEV_PIPE_MODTYPE_E;
|
|
|
|
/* vi chn wrap mode type */
|
|
typedef enum rkVI_CHN_WRAP_MODTYPE_E {
|
|
VI_CHN_WRAP_HARD = 1, /* vi venc use hardware wrap */
|
|
VI_CHN_WRAP_SOFT = 2, /* vi venc use software wrap */
|
|
VI_CHN_WRAP_BUTT
|
|
} VI_CHN_WRAP_MODTYPE_E;
|
|
|
|
/* the param of the device pipe mod */
|
|
typedef struct rkVI_MOD_DEV_PIPE_S {
|
|
VI_DEV_PIPE_MODTYPE_E enDevPipeMode; /* RW; device pipe work mode*/
|
|
} VI_MOD_DEV_PIPE_S;
|
|
|
|
/* the param of the chn wrap mod */
|
|
typedef struct rkVI_MOD_CHN_WRAP_S {
|
|
VI_CHN_WRAP_MODTYPE_E enChnWrapMode; /* RW; chan wrap mode*/
|
|
} VI_MOD_CHN_WRAP_S;
|
|
|
|
/* the param of the mod */
|
|
typedef struct rVI_MODPARAM_S {
|
|
VI_MODTYPE_E enViModType; /* RW; enViModType*/
|
|
union {
|
|
VI_MOD_DEV_PIPE_S stDevPipeModParam;
|
|
VI_MOD_CHN_WRAP_S stChnWrapModParam;
|
|
};
|
|
} VI_PARAM_MOD_S;
|
|
|
|
/* use for aiisp to get exposure param */
|
|
typedef struct rkVIAIISP_EXP_PARAM {
|
|
RK_FLOAT fAnalogGain; /* sensor analog gain */
|
|
RK_FLOAT fDigitalGain; /* sensor digital gain */
|
|
RK_FLOAT fIspDgain; /* isp digital gain */
|
|
} VI_AIISP_EXP_PARAM_S;
|
|
|
|
typedef struct rkVIAIISP_CALLBACK_S {
|
|
PREAIISP_CALLBACK pfUpdateCallback;
|
|
RK_VOID *pPrivateData; /* Not yet used */
|
|
} VIAIISP_CALLBACK_S;
|
|
|
|
typedef struct rkVI_AIISP_INFO_S {
|
|
RK_BOOL bEnable; /* Whether AIISP is enable */
|
|
VIAIISP_CALLBACK_S callBack; /* Aiisp get sensor iso and private by userCallBack */
|
|
}VI_AIISP_INFO_S;
|
|
|
|
/* The attributes of pipe */
|
|
typedef struct rkVI_PIPE_ATTR_S {
|
|
/* RW;Range:[0,1];ISP bypass enable */
|
|
RK_BOOL bIspBypass;
|
|
/* RW;Range:[0,1];Range[VI_PIPE_MIN_WIDTH,VI_PIPE_MAX_WIDTH];Maximum width */
|
|
RK_U32 u32MaxW;
|
|
/* RW;Range[VI_PIPE_MIN_HEIGHT,VI_PIPE_MAX_HEIGHT];Maximum height */
|
|
RK_U32 u32MaxH;
|
|
/* RW;Pixel format */
|
|
PIXEL_FORMAT_E enPixFmt;
|
|
/* RW;Range:[0,4];Compress mode.*/
|
|
COMPRESS_MODE_E enCompressMode;
|
|
/* RW;Range:[0,4];Bit width*/
|
|
DATA_BITWIDTH_E enBitWidth;
|
|
/* RW;Frame rate */
|
|
FRAME_RATE_CTRL_S stFrameRate;
|
|
/* RW; Pipe Mem mode */
|
|
VI_RAW_MEMORY_TYPE_E enMemMode;
|
|
/* RW;Pipe Hdr Mode */
|
|
VI_HDR_MODE_E enHdrMode;
|
|
} VI_PIPE_ATTR_S;
|
|
|
|
/* The attributes of channel for isp opt */
|
|
typedef struct rkVI_ISP_OPT_S {
|
|
RK_U32 u32BufCount; /* RW;isp buf count */
|
|
RK_U32 u32BufSize; /* R;isp buf size */
|
|
VI_V4L2_CAPTURE_TYPE enCaptureType; /* RW;isp capture type */
|
|
VI_V4L2_MEMORY_TYPE enMemoryType; /* RW;isp buf memory type */
|
|
RK_CHAR aEntityName[MAX_VI_ENTITY_NAME_LEN]; /* RW;isp capture entity name*/
|
|
RK_BOOL bNoUseLibV4L2; /* RW;is no use libv4l2 */
|
|
SIZE_S stMaxSize; /* RW;isp output max resolution */
|
|
RECT_S stWindow; /* RW;isp output window*/
|
|
} VI_ISP_OPT_S;
|
|
|
|
/* The attributes of channel */
|
|
typedef struct rkVI_CHN_ATTR_S {
|
|
SIZE_S stSize; /* RW;Channel out put size */
|
|
PIXEL_FORMAT_E enPixelFormat; /* RW;Pixel format */
|
|
DYNAMIC_RANGE_E enDynamicRange; /* RW;Dynamic Range */
|
|
VIDEO_FORMAT_E enVideoFormat; /* RW;Video format */
|
|
COMPRESS_MODE_E enCompressMode; /* RW;256B Segment compress or no compress. */
|
|
RK_BOOL bMirror; /* RW;Mirror enable */
|
|
RK_BOOL bFlip; /* RW;Flip enable */
|
|
RK_U32 u32Depth; /* RW; Range: [0, 8]; User get list depth.*/
|
|
FRAME_RATE_CTRL_S stFrameRate; /* RW;Frame rate */
|
|
VI_ALLOC_BUF_TYPE_E enAllocBufType; /* RW;channel alloc buf opt */
|
|
VI_ISP_OPT_S stIspOpt; /* RW;isp opt */
|
|
MPP_CHN_S stShareBufChn; /* RW; enAllocBufType = VI_ALLOC_BUF_TYPE_CHN_SHARE, share buffer*/
|
|
} VI_CHN_ATTR_S;
|
|
|
|
/* The status of chn */
|
|
typedef struct rkVI_CHN_STATUS_S {
|
|
RK_BOOL bEnable; /* RO;Whether this channel is enabled */
|
|
RK_U32 u32FrameRate; /* RO;current frame rate */
|
|
RK_U32 u32CurFrameID; /* RO;current frame id */
|
|
RK_U32 u32InputLostFrame; /* RO;input lost frame count */
|
|
RK_U32 u32OutputLostFrame; /* RO;output lost frame count */
|
|
RK_U32 u32VbFail; /* RO;Video buffer malloc failure */
|
|
SIZE_S stSize; /* RO;chn output size */
|
|
} VI_CHN_STATUS_S;
|
|
|
|
/* Defines the configure parameters of VI saving file. */
|
|
typedef struct rkVI_SAVE_FILE_INFO_S {
|
|
RK_BOOL bCfg;
|
|
RK_CHAR aFilePath[MAX_VI_FILE_PATH_LEN];
|
|
RK_CHAR aFileName[MAX_VI_FILE_NAME_LEN];
|
|
RK_U32 u32FileSize; /*in KB*/
|
|
} VI_SAVE_FILE_INFO_S;
|
|
|
|
typedef struct rkVI_CHN_BUF_WRAP_S {
|
|
RK_BOOL bEnable;
|
|
RK_U32 u32BufLine; /* RW; Range: [128, H]; Chn buffer allocated by line. */
|
|
RK_U32 u32WrapBufferSize; /* RW; Whether to allocate buffer according to compression. */
|
|
} VI_CHN_BUF_WRAP_S;
|
|
|
|
/* struct rkisp_mirror_flip
|
|
* mirror: global for all output stream
|
|
* flip: independent for all output stream
|
|
*/
|
|
typedef struct rkISP_MIRROR_FLIP_S {
|
|
RK_U8 mirror;
|
|
RK_U8 flip;
|
|
} __attribute__((packed)) VI_ISP_MIRROR_FLIP_S;
|
|
|
|
typedef enum rkVI_CROP_COORDINATE_E {
|
|
VI_CROP_RATIO_COOR = 0,
|
|
VI_CROP_ABS_COOR,
|
|
VI_CROP_BUTT
|
|
} VI_CROP_COORDINATE_E;
|
|
|
|
typedef struct rkVI_CROP_INFO_S {
|
|
RK_BOOL bEnable;
|
|
VI_CROP_COORDINATE_E enCropCoordinate;
|
|
RECT_S stCropRect;
|
|
} VI_CROP_INFO_S;
|
|
|
|
/* User picture mode */
|
|
typedef enum rk_VI_USERPIC_MODE_E {
|
|
VI_USERPIC_MODE_PIC = 0,
|
|
VI_USERPIC_MODE_BGC,
|
|
VI_USERPIC_MODE_BUTT,
|
|
} VI_USERPIC_MODE_E;
|
|
|
|
/* User picture background color */
|
|
typedef struct rkVI_USERPIC_BGC_S {
|
|
RK_U32 u32BgColor;
|
|
} VI_USERPIC_BGC_S;
|
|
|
|
/* User picture attr */
|
|
typedef struct rkVI_USERPIC_ATTR_S {
|
|
VI_USERPIC_MODE_E enUsrPicMode;
|
|
union {
|
|
VIDEO_FRAME_INFO_S stUsrPicFrm;
|
|
VI_USERPIC_BGC_S stUsrPicBg;
|
|
} unUsrPic;
|
|
} VI_USERPIC_ATTR_S;
|
|
|
|
typedef enum rkVI_CONNECT_STATE_E {
|
|
VI_CONNECT_STATE_UNKNOWN = 0,
|
|
VI_CONNECT_STATE_CONNECT,
|
|
VI_CONNECT_STATE_DISCONNECT,
|
|
VI_CONNECT_STATE_BUTT
|
|
} VI_CONNECT_STATE_E;
|
|
|
|
typedef struct rkVI_CONNECT_INFO_S {
|
|
RK_U32 u32Width;
|
|
RK_U32 u32Height;
|
|
RK_FLOAT f32FrameRate;
|
|
PIXEL_FORMAT_E enPixFmt;
|
|
VI_CONNECT_STATE_E enConnect;
|
|
} VI_CONNECT_INFO_S;
|
|
|
|
typedef struct rkVI_EDID_S {
|
|
RK_U32 u32Pad;
|
|
RK_U32 u32StartBlock;
|
|
RK_U32 u32Blocks;
|
|
RK_U32 au32Reserved[5];
|
|
RK_U8 *pu8Edid;
|
|
} VI_EDID_S;
|
|
|
|
typedef struct rkVI_STREAM_S {
|
|
MB_BLK pMbBlk;
|
|
RK_U32 u32Len;
|
|
RK_U32 u32Seq;
|
|
RK_U64 u64PTS;
|
|
} VI_STREAM_S;
|
|
|
|
typedef enum rkVI_EVENT_E {
|
|
VI_EVENT_CONNECT_CHANGE = 1 << 0,
|
|
VI_EVENT_SOURCE_CHANGE = 1 << 1,
|
|
} VI_EVENT_E;
|
|
|
|
typedef struct rkVI_CB_INFO_S {
|
|
RK_U32 u32Event;
|
|
} VI_CB_INFO_S;
|
|
|
|
/** change event handling callback function */
|
|
typedef void (*RK_VI_EventCallback)(RK_VOID *pPrivateData, VI_CB_INFO_S *pstInfo);
|
|
|
|
typedef struct rkVI_EVENT_CALL_BACK_S {
|
|
RK_VI_EventCallback pfnCallback;
|
|
RK_VOID *pPrivateData;
|
|
} VI_EVENT_CALL_BACK_S;
|
|
|
|
typedef enum _rkVI_LIGHT_TYPE{
|
|
LIGHT_TYPE_PWM,
|
|
LIGHT_TYPE_GPIO,
|
|
} VI_LIGHT_TYPE_E;
|
|
|
|
typedef struct rkVI_LIGHT_PARAM {
|
|
RK_U8 u8LightType;
|
|
RK_U8 u8LightEnable;
|
|
RK_U64 u64DutyCycle;
|
|
RK_U64 u64Period;
|
|
RK_U32 u32Polarity;
|
|
} VI_LIGHT_CTL_PARAM_S;
|
|
|
|
typedef enum rkVI_SENSOR_MODE {
|
|
SENSOR_NO_HDR = 0,
|
|
SENSOR_HDR_X2 = 5,
|
|
SENSOR_HDR_X3 = 6,
|
|
SENSOR_HDR_COMPR,
|
|
} VI_SENSOR_MODE_E;
|
|
|
|
typedef struct rkVI_SENSOR_SETTING {
|
|
RK_U32 u32SensorWidth; // width of resolution
|
|
RK_U32 u32SensorHeight; // height of resolution
|
|
RK_U32 u32SensorFps; // 120 / 60 / 30
|
|
PIXEL_FORMAT_E enSensorFmt; // RK_FMT_*
|
|
VI_SENSOR_MODE_E enSensorMode; // linear / hdr2x / hdr3x
|
|
} VI_SENSOR_SETTING_S;
|
|
|
|
#define RK_ERR_VI_INVALID_PARA RK_DEF_ERR(RK_ID_VI, RK_ERR_LEVEL_ERROR, RK_ERR_ILLEGAL_PARAM)
|
|
#define RK_ERR_VI_INVALID_DEVID RK_DEF_ERR(RK_ID_VI, RK_ERR_LEVEL_ERROR, RK_ERR_INVALID_DEVID)
|
|
#define RK_ERR_VI_INVALID_PIPEID RK_DEF_ERR(RK_ID_VI, RK_ERR_LEVEL_ERROR, RK_ERR_INVALID_PIPEID)
|
|
#define RK_ERR_VI_INVALID_CHNID RK_DEF_ERR(RK_ID_VI, RK_ERR_LEVEL_ERROR, RK_ERR_INVALID_CHNID)
|
|
#define RK_ERR_VI_INVALID_NULL_PTR RK_DEF_ERR(RK_ID_VI, RK_ERR_LEVEL_ERROR, RK_ERR_NULL_PTR)
|
|
#define RK_ERR_VI_FAILED_NOTCONFIG RK_DEF_ERR(RK_ID_VI, RK_ERR_LEVEL_ERROR, RK_ERR_NOT_CONFIG)
|
|
#define RK_ERR_VI_SYS_NOTREADY RK_DEF_ERR(RK_ID_VI, RK_ERR_LEVEL_ERROR, RK_ERR_NOTREADY)
|
|
#define RK_ERR_VI_BUF_EMPTY RK_DEF_ERR(RK_ID_VI, RK_ERR_LEVEL_ERROR, RK_ERR_BUF_EMPTY)
|
|
#define RK_ERR_VI_BUF_FULL RK_DEF_ERR(RK_ID_VI, RK_ERR_LEVEL_ERROR, RK_ERR_BUF_FULL)
|
|
#define RK_ERR_VI_NOMEM RK_DEF_ERR(RK_ID_VI, RK_ERR_LEVEL_ERROR, RK_ERR_NOMEM)
|
|
#define RK_ERR_VI_NOT_SUPPORT RK_DEF_ERR(RK_ID_VI, RK_ERR_LEVEL_ERROR, RK_ERR_NOT_SUPPORT)
|
|
#define RK_ERR_VI_BUSY RK_DEF_ERR(RK_ID_VI, RK_ERR_LEVEL_ERROR, RK_ERR_BUSY)
|
|
#define RK_ERR_VI_NOT_PERM RK_DEF_ERR(RK_ID_VI, RK_ERR_LEVEL_ERROR, RK_ERR_NOT_PERM)
|
|
/* try to enable or initialize system,device or pipe or channel, before configing attribute */
|
|
#define RK_ERR_VI_NOT_CONFIG RK_DEF_ERR(RK_ID_VI, RK_ERR_LEVEL_ERROR, RK_ERR_NOT_CONFIG)
|
|
/* channel exists */
|
|
#define RK_ERR_VI_EXIST RK_DEF_ERR(RK_ID_VI, RK_ERR_LEVEL_ERROR, RK_ERR_EXIST)
|
|
/* the channel is not existed */
|
|
#define RK_ERR_VI_UNEXIST RK_DEF_ERR(RK_ID_VI, RK_ERR_LEVEL_ERROR, RK_ERR_UNEXIST)
|
|
/* the dev exists */
|
|
#define RK_ERR_VI_DEV_EXIST RK_DEF_ERR(RK_ID_VI, RK_ERR_LEVEL_ERROR, RK_ERR_DEV_EXIST)
|
|
/* the dev is not existed */
|
|
#define RK_ERR_VI_DEV_UNEXIST RK_DEF_ERR(RK_ID_VI, RK_ERR_LEVEL_ERROR, RK_ERR_DEV_UNEXIST)
|
|
/* the pipe exists */
|
|
#define RK_ERR_VI_PIPE_EXIST RK_DEF_ERR(RK_ID_VI, RK_ERR_LEVEL_ERROR, RK_ERR_PIPE_EXIST)
|
|
/* the pipe is not existed */
|
|
#define RK_ERR_VI_PIPE_UNEXIST RK_DEF_ERR(RK_ID_VI, RK_ERR_LEVEL_ERROR, RK_ERR_PIPE_UNEXIST)
|
|
|
|
#ifdef __cplusplus
|
|
#if __cplusplus
|
|
}
|
|
#endif
|
|
#endif /* __cplusplus */
|
|
|
|
#endif /* End of #ifndef INCLUDE_RT_MPI_RK_COMM_VI_H_ */
|