229 lines
4.5 KiB
C
229 lines
4.5 KiB
C
/*
|
|
* Copyright (C) Cvitek Co., Ltd. 2019-2020. All rights reserved.
|
|
*
|
|
* File Name: include/cvi_common.h
|
|
* Description: Common video definitions.
|
|
*/
|
|
|
|
#ifndef __CVI_COMMON_H__
|
|
#define __CVI_COMMON_H__
|
|
|
|
#include <linux/cvi_type.h>
|
|
#include <linux/cvi_defines.h>
|
|
|
|
#ifdef __cplusplus
|
|
#if __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
#endif /* End of #ifdef __cplusplus */
|
|
|
|
#ifndef VER_X
|
|
#define VER_X 1
|
|
#endif
|
|
|
|
#ifndef VER_Y
|
|
#define VER_Y 0
|
|
#endif
|
|
|
|
#ifndef VER_Z
|
|
#define VER_Z 0
|
|
#endif
|
|
|
|
#ifndef __FILENAME__
|
|
#define __FILENAME__ (strrchr(__FILE__, '/') ? strrchr(__FILE__, '/') + 1 : __FILE__)
|
|
#endif
|
|
|
|
#ifdef CVI_DEBUG
|
|
#define VER_D " Debug"
|
|
#else
|
|
#define VER_D " Release"
|
|
#endif
|
|
|
|
|
|
#define ATTRIBUTE __attribute__((aligned(ALIGN_NUM)))
|
|
|
|
#ifndef ARRAY_SIZE
|
|
#define ARRAY_SIZE(x) (sizeof(x) / sizeof((x)[0]))
|
|
#endif
|
|
|
|
#define STR_HELPER(x) #x
|
|
#define STR(x) STR_HELPER(x)
|
|
#define MK_VERSION(x, y, z) STR(x) "." STR(y) "." STR(z)
|
|
|
|
|
|
|
|
typedef CVI_S32 AI_CHN;
|
|
typedef CVI_S32 AO_CHN;
|
|
typedef CVI_S32 AENC_CHN;
|
|
typedef CVI_S32 ADEC_CHN;
|
|
typedef CVI_S32 AUDIO_DEV;
|
|
typedef CVI_S32 VI_DEV;
|
|
typedef CVI_S32 VI_PIPE;
|
|
typedef CVI_S32 VI_CHN;
|
|
typedef CVI_S32 VO_DEV;
|
|
typedef CVI_S32 VO_LAYER;
|
|
typedef CVI_S32 VO_CHN;
|
|
typedef CVI_S32 GRAPHIC_LAYER;
|
|
typedef CVI_S32 VENC_CHN;
|
|
typedef CVI_S32 VDEC_CHN;
|
|
typedef CVI_S32 ISP_DEV;
|
|
typedef CVI_S32 SENSOR_ID;
|
|
typedef CVI_S32 MIPI_DEV;
|
|
typedef CVI_S32 SLAVE_DEV;
|
|
typedef CVI_S32 VPSS_GRP;
|
|
typedef CVI_S32 VPSS_CHN;
|
|
|
|
#define CVI_INVALID_CHN (-1)
|
|
#define CVI_INVALID_LAYER (-1)
|
|
#define CVI_INVALID_DEV (-1)
|
|
#define CVI_INVALID_HANDLE (-1)
|
|
#define CVI_INVALID_VALUE (-1)
|
|
#define CVI_INVALID_TYPE (-1)
|
|
|
|
|
|
#define CCM_MATRIX_SIZE (9)
|
|
#define CCM_MATRIX_NUM (7)
|
|
|
|
|
|
#define FOREACH_MOD(MOD) {\
|
|
MOD(BASE) \
|
|
MOD(VB) \
|
|
MOD(SYS) \
|
|
MOD(RGN) \
|
|
MOD(CHNL) \
|
|
MOD(VDEC) \
|
|
MOD(VPSS) \
|
|
MOD(VENC) \
|
|
MOD(H264E) \
|
|
MOD(JPEGE) \
|
|
MOD(MPEG4E) \
|
|
MOD(H265E) \
|
|
MOD(JPEGD) \
|
|
MOD(VO) \
|
|
MOD(VI) \
|
|
MOD(DIS) \
|
|
MOD(RC) \
|
|
MOD(AIO) \
|
|
MOD(AI) \
|
|
MOD(AO) \
|
|
MOD(AENC) \
|
|
MOD(ADEC) \
|
|
MOD(AUD) \
|
|
MOD(VPU) \
|
|
MOD(ISP) \
|
|
MOD(IVE) \
|
|
MOD(USER) \
|
|
MOD(PROC) \
|
|
MOD(LOG) \
|
|
MOD(H264D) \
|
|
MOD(GDC) \
|
|
MOD(PHOTO) \
|
|
MOD(FB) \
|
|
MOD(BUTT) \
|
|
}
|
|
|
|
#define GENERATE_ENUM(ENUM) CVI_ID_ ## ENUM,
|
|
|
|
typedef enum _MOD_ID_E FOREACH_MOD(GENERATE_ENUM) MOD_ID_E;
|
|
|
|
typedef struct _MMF_CHN_S {
|
|
MOD_ID_E enModId;
|
|
CVI_S32 s32DevId;
|
|
CVI_S32 s32ChnId;
|
|
} MMF_CHN_S;
|
|
|
|
|
|
/* We just copy this value of payload type from RTP/RTSP definition */
|
|
typedef enum {
|
|
PT_PCMU = 0,
|
|
PT_1016 = 1,
|
|
PT_G721 = 2,
|
|
PT_GSM = 3,
|
|
PT_G723 = 4,
|
|
PT_DVI4_8K = 5,
|
|
PT_DVI4_16K = 6,
|
|
PT_LPC = 7,
|
|
PT_PCMA = 8,
|
|
PT_G722 = 9,
|
|
PT_S16BE_STEREO = 10,
|
|
PT_S16BE_MONO = 11,
|
|
PT_QCELP = 12,
|
|
PT_CN = 13,
|
|
PT_MPEGAUDIO = 14,
|
|
PT_G728 = 15,
|
|
PT_DVI4_3 = 16,
|
|
PT_DVI4_4 = 17,
|
|
PT_G729 = 18,
|
|
PT_G711A = 19,
|
|
PT_G711U = 20,
|
|
PT_G726 = 21,
|
|
PT_G729A = 22,
|
|
PT_LPCM = 23,
|
|
PT_CelB = 25,
|
|
PT_JPEG = 26,
|
|
PT_CUSM = 27,
|
|
PT_NV = 28,
|
|
PT_PICW = 29,
|
|
PT_CPV = 30,
|
|
PT_H261 = 31,
|
|
PT_MPEGVIDEO = 32,
|
|
PT_MPEG2TS = 33,
|
|
PT_H263 = 34,
|
|
PT_SPEG = 35,
|
|
PT_MPEG2VIDEO = 36,
|
|
PT_AAC = 37,
|
|
PT_WMA9STD = 38,
|
|
PT_HEAAC = 39,
|
|
PT_PCM_VOICE = 40,
|
|
PT_PCM_AUDIO = 41,
|
|
PT_MP3 = 43,
|
|
PT_ADPCMA = 49,
|
|
PT_AEC = 50,
|
|
PT_X_LD = 95,
|
|
PT_H264 = 96,
|
|
PT_D_GSM_HR = 200,
|
|
PT_D_GSM_EFR = 201,
|
|
PT_D_L8 = 202,
|
|
PT_D_RED = 203,
|
|
PT_D_VDVI = 204,
|
|
PT_D_BT656 = 220,
|
|
PT_D_H263_1998 = 221,
|
|
PT_D_MP1S = 222,
|
|
PT_D_MP2P = 223,
|
|
PT_D_BMPEG = 224,
|
|
PT_MP4VIDEO = 230,
|
|
PT_MP4AUDIO = 237,
|
|
PT_VC1 = 238,
|
|
PT_JVC_ASF = 255,
|
|
PT_D_AVI = 256,
|
|
PT_DIVX3 = 257,
|
|
PT_AVS = 258,
|
|
PT_REAL8 = 259,
|
|
PT_REAL9 = 260,
|
|
PT_VP6 = 261,
|
|
PT_VP6F = 262,
|
|
PT_VP6A = 263,
|
|
PT_SORENSON = 264,
|
|
PT_H265 = 265,
|
|
PT_VP8 = 266,
|
|
PT_MVC = 267,
|
|
PT_PNG = 268,
|
|
/* add by ourselves */
|
|
PT_AMR = 1001,
|
|
PT_MJPEG = 1002,
|
|
PT_BUTT
|
|
} PAYLOAD_TYPE_E;
|
|
|
|
#define VERSION_NAME_MAXLEN 128
|
|
typedef struct _MMF_VERSION_S {
|
|
char version[VERSION_NAME_MAXLEN];
|
|
} MMF_VERSION_S;
|
|
|
|
#ifdef __cplusplus
|
|
#if __cplusplus
|
|
}
|
|
#endif
|
|
#endif /* __cplusplus */
|
|
|
|
#endif /* __CVI_COMMON_H__ */
|