forked from Hshine/RM_Vison
1082 lines
59 KiB
C
1082 lines
59 KiB
C
|
||
#ifndef _MV_CAMERA_PARAMS_H_
|
||
#define _MV_CAMERA_PARAMS_H_
|
||
|
||
#include "PixelType.h"
|
||
|
||
#ifndef __cplusplus
|
||
typedef char bool;
|
||
#define true 1
|
||
#define false 0
|
||
#endif
|
||
|
||
/// \~chinese
|
||
/// 设备类型定义
|
||
/// \~english
|
||
/// Device Type Definition
|
||
#define MV_UNKNOW_DEVICE 0x00000000 ///< \~chinese 未知设备类型,保留意义 \~english Unknown Device Type, Reserved
|
||
#define MV_GIGE_DEVICE 0x00000001 ///< \~chinese GigE设备 \~english GigE Device
|
||
#define MV_1394_DEVICE 0x00000002 ///< \~chinese 1394-a/b 设备 \~english 1394-a/b Device
|
||
#define MV_USB_DEVICE 0x00000004 ///< \~chinese USB 设备 \~english USB Device
|
||
#define MV_CAMERALINK_DEVICE 0x00000008 ///< \~chinese CamLink设备 \~english CamLink Device
|
||
|
||
/// \~chinese GigE设备信息 \~english GigE device info
|
||
typedef struct _MV_GIGE_DEVICE_INFO_
|
||
{
|
||
unsigned int nIpCfgOption;
|
||
unsigned int nIpCfgCurrent; ///< \~chinese \~english IP configuration:bit31-static bit30-dhcp bit29-lla
|
||
unsigned int nCurrentIp;
|
||
unsigned int nCurrentSubNetMask; ///< \~chinese \~english curtent subnet mask
|
||
unsigned int nDefultGateWay; ///< \~chinese \~english current gateway
|
||
unsigned char chManufacturerName[32];
|
||
unsigned char chModelName[32];
|
||
unsigned char chDeviceVersion[32];
|
||
unsigned char chManufacturerSpecificInfo[48];
|
||
unsigned char chSerialNumber[16];
|
||
unsigned char chUserDefinedName[16];
|
||
unsigned int nNetExport; ///< \~chinese 网口IP地址 \~english NetWork IP Address
|
||
|
||
unsigned int nReserved[4];
|
||
}MV_GIGE_DEVICE_INFO;
|
||
|
||
#define INFO_MAX_BUFFER_SIZE 64
|
||
|
||
/// \~chinese USB设备信息 \~english USB device info
|
||
typedef struct _MV_USB3_DEVICE_INFO_
|
||
{
|
||
unsigned char CrtlInEndPoint; ///< \~chinese 控制输入端点 \~english Control input endpoint
|
||
unsigned char CrtlOutEndPoint; ///< \~chinese 控制输出端点 \~english Control output endpoint
|
||
unsigned char StreamEndPoint; ///< \~chinese 流端点 \~english Flow endpoint
|
||
unsigned char EventEndPoint; ///< \~chinese 事件端点 \~english Event endpoint
|
||
unsigned short idVendor; ///< \~chinese 供应商ID号 \~english Vendor ID Number
|
||
unsigned short idProduct; ///< \~chinese 产品ID号 \~english Device ID Number
|
||
unsigned int nDeviceNumber; ///< \~chinese 设备序列号 \~english Device Serial Number
|
||
unsigned char chDeviceGUID[INFO_MAX_BUFFER_SIZE]; ///< \~chinese 设备GUID号 \~english Device GUID Number
|
||
unsigned char chVendorName[INFO_MAX_BUFFER_SIZE]; ///< \~chinese 供应商名字 \~english Vendor Name
|
||
unsigned char chModelName[INFO_MAX_BUFFER_SIZE]; ///< \~chinese 型号名字 \~english Model Name
|
||
unsigned char chFamilyName[INFO_MAX_BUFFER_SIZE]; ///< \~chinese 家族名字 \~english Family Name
|
||
unsigned char chDeviceVersion[INFO_MAX_BUFFER_SIZE]; ///< \~chinese 设备版本号 \~english Device Version
|
||
unsigned char chManufacturerName[INFO_MAX_BUFFER_SIZE]; ///< \~chinese 制造商名字 \~english Manufacturer Name
|
||
unsigned char chSerialNumber[INFO_MAX_BUFFER_SIZE]; ///< \~chinese 序列号 \~english Serial Number
|
||
unsigned char chUserDefinedName[INFO_MAX_BUFFER_SIZE]; ///< \~chinese 用户自定义名字 \~english User Defined Name
|
||
unsigned int nbcdUSB; ///< \~chinese 支持的USB协议 \~english Support USB Protocol
|
||
|
||
unsigned int nReserved[3]; ///< \~chinese 保留字节 \~english Reserved bytes
|
||
}MV_USB3_DEVICE_INFO;
|
||
|
||
/// \~chinese
|
||
/// \brief CamLink设备信息
|
||
/// \~english
|
||
/// \brief CamLink device info
|
||
typedef struct _MV_CamL_DEV_INFO_
|
||
{
|
||
unsigned char chPortID[INFO_MAX_BUFFER_SIZE];
|
||
unsigned char chModelName[INFO_MAX_BUFFER_SIZE];
|
||
unsigned char chFamilyName[INFO_MAX_BUFFER_SIZE];
|
||
unsigned char chDeviceVersion[INFO_MAX_BUFFER_SIZE];
|
||
unsigned char chManufacturerName[INFO_MAX_BUFFER_SIZE];
|
||
unsigned char chSerialNumber[INFO_MAX_BUFFER_SIZE];
|
||
|
||
unsigned int nReserved[38];
|
||
}MV_CamL_DEV_INFO;
|
||
|
||
/// \~chinese
|
||
/// \brief 设备信息
|
||
/// \~english
|
||
/// \brief Device info
|
||
typedef struct _MV_CC_DEVICE_INFO_
|
||
{
|
||
unsigned short nMajorVer;
|
||
unsigned short nMinorVer;
|
||
unsigned int nMacAddrHigh; ///< \~chinese MAC 地址\~english MAC Address
|
||
unsigned int nMacAddrLow;
|
||
|
||
unsigned int nTLayerType; ///< \~chinese 设备传输层协议类型,e.g. MV_GIGE_DEVICE\~english Device Transport Layer Protocol Type, e.g. MV_GIGE_DEVICE
|
||
|
||
unsigned int nReserved[4];
|
||
|
||
union
|
||
{
|
||
MV_GIGE_DEVICE_INFO stGigEInfo;
|
||
MV_USB3_DEVICE_INFO stUsb3VInfo;
|
||
MV_CamL_DEV_INFO stCamLInfo;
|
||
// more ...
|
||
}SpecialInfo;
|
||
|
||
}MV_CC_DEVICE_INFO;
|
||
|
||
/// \~chinese 网络传输的相关信息\~english Network transmission information
|
||
typedef struct _MV_NETTRANS_INFO_
|
||
{
|
||
int64_t nReviceDataSize; ///< \~chinese 已接收数据大小 [统计StartGrabbing和StopGrabbing之间的数据量]\~english Received Data Size [Calculate the Data Size between StartGrabbing and StopGrabbing]
|
||
int nThrowFrameCount; ///< \~chinese 丢帧数量\~english Throw frame number
|
||
unsigned int nNetRecvFrameCount;
|
||
int64_t nRequestResendPacketCount; ///< \~chinese 请求重发包数
|
||
int64_t nResendPacketCount; ///< \~chinese 重发包数
|
||
|
||
}MV_NETTRANS_INFO;
|
||
|
||
#define MV_MAX_TLS_NUM 8 ///< \~chinese 最多支持的传输层实例个数\~english The maximum number of supported transport layer instances
|
||
#define MV_MAX_DEVICE_NUM 256 ///< \~chinese 最大支持的设备个数\~english The maximum number of supported devices
|
||
|
||
/// \~chinese
|
||
/// \brief 设备信息列表
|
||
/// \~english
|
||
/// \brief Device Information List
|
||
typedef struct _MV_CC_DEVICE_INFO_LIST_
|
||
{
|
||
unsigned int nDeviceNum; ///< \~chinese 在线设备数量\~english Online Device Number
|
||
MV_CC_DEVICE_INFO* pDeviceInfo[MV_MAX_DEVICE_NUM]; ///< \~chinese 支持最多256个设备\~english Support up to 256 devices
|
||
|
||
}MV_CC_DEVICE_INFO_LIST;
|
||
|
||
|
||
/// \~chinese Chunk内容 \~english The content of ChunkData
|
||
typedef struct _MV_CHUNK_DATA_CONTENT_
|
||
{
|
||
unsigned char* pChunkData;
|
||
unsigned int nChunkID;
|
||
unsigned int nChunkLen;
|
||
|
||
unsigned int nReserved[8]; // 保留
|
||
|
||
}MV_CHUNK_DATA_CONTENT;
|
||
|
||
/// \~chinese 输出帧的信息\~english Output Frame Information
|
||
typedef struct _MV_FRAME_OUT_INFO_
|
||
{
|
||
unsigned short nWidth; ///< \~chinese 图像宽 \~english Image Width
|
||
unsigned short nHeight; ///< \~chinese 图像高 \~english Image Height
|
||
enum MvGvspPixelType enPixelType; ///< \~chinese 像素格式 \~english Pixel Type
|
||
|
||
unsigned int nFrameNum; ///< \~chinese 帧号 \~english Frame Number
|
||
unsigned int nDevTimeStampHigh; ///< \~chinese 时间戳高32位\~english Timestamp high 32 bits
|
||
unsigned int nDevTimeStampLow; ///< \~chinese 时间戳低32位\~english Timestamp low 32 bits
|
||
unsigned int nReserved0; ///< \~chinese 保留,8字节对齐\~english Reserved, 8-byte aligned
|
||
int64_t nHostTimeStamp; ///< \~chinese 主机生成的时间戳\~english Host-generated timestamp
|
||
|
||
unsigned int nFrameLen;
|
||
|
||
unsigned int nLostPacket; ///< \~chinese 本帧丢包数\~english Lost Pacekt Number In This Frame
|
||
unsigned int nReserved[2];
|
||
}MV_FRAME_OUT_INFO;
|
||
|
||
/// \~chinese 输出帧的信息\~english Output Frame Information
|
||
typedef struct _MV_FRAME_OUT_INFO_EX_
|
||
{
|
||
unsigned short nWidth; ///< \~chinese 图像宽 \~english Image Width
|
||
unsigned short nHeight; ///< \~chinese 图像高 \~english Image Height
|
||
enum MvGvspPixelType enPixelType; ///< \~chinese 像素格式 \~english Pixel Type
|
||
|
||
unsigned int nFrameNum; ///< \~chinese 帧号 \~english Frame Number
|
||
unsigned int nDevTimeStampHigh; ///< \~chinese 时间戳高32位\~english Timestamp high 32 bits
|
||
unsigned int nDevTimeStampLow; ///< \~chinese 时间戳低32位\~english Timestamp low 32 bits
|
||
unsigned int nReserved0; ///< \~chinese 保留,8字节对齐\~english Reserved, 8-byte aligned
|
||
int64_t nHostTimeStamp; ///< \~chinese 主机生成的时间戳\~english Host-generated timestamp
|
||
|
||
unsigned int nFrameLen;
|
||
|
||
/// \~chinese 设备水印时标\~english Device frame-specific time scale
|
||
unsigned int nSecondCount;
|
||
unsigned int nCycleCount;
|
||
unsigned int nCycleOffset;
|
||
|
||
float fGain;
|
||
float fExposureTime;
|
||
unsigned int nAverageBrightness; ///< \~chinese 平均亮度\~english Average brightness
|
||
|
||
/// \~chinese 白平衡相关\~english White balance
|
||
unsigned int nRed;
|
||
unsigned int nGreen;
|
||
unsigned int nBlue;
|
||
|
||
unsigned int nFrameCounter;
|
||
unsigned int nTriggerIndex; ///< \~chinese 触发计数\~english Trigger Counting
|
||
|
||
unsigned int nInput; ///< \~chinese 输入\~english Input
|
||
unsigned int nOutput; ///< \~chinese 输出\~english Output
|
||
|
||
/// \~chinese ROI区域\~english ROI Region
|
||
unsigned short nOffsetX;
|
||
unsigned short nOffsetY;
|
||
unsigned short nChunkWidth;
|
||
unsigned short nChunkHeight;
|
||
|
||
unsigned int nLostPacket; ///< \~chinese 本帧丢包数\~english Lost Pacekt Number In This Frame
|
||
|
||
unsigned int nUnparsedChunkNum;///< \~chinese 未解析的Chunkdata个数
|
||
union
|
||
{
|
||
MV_CHUNK_DATA_CONTENT* pUnparsedChunkContent;
|
||
int64_t nAligning;
|
||
}UnparsedChunkList;
|
||
|
||
unsigned int nReserved[36]; // 保留
|
||
}MV_FRAME_OUT_INFO_EX;
|
||
|
||
/// \~chinese 图像结构体,输出图像指针地址及图像信息\~english Image Struct, output the pointer of Image and the information of the specific image
|
||
typedef struct _MV_FRAME_OUT_
|
||
{
|
||
unsigned char* pBufAddr; ///< \~chinese 图像指针地址\~english pointer of image
|
||
MV_FRAME_OUT_INFO_EX stFrameInfo; ///< \~chinese 图像信息\~english information of the specific image
|
||
|
||
unsigned int nRes[16]; ///< \~chinese 保留\~english reserved
|
||
}MV_FRAME_OUT;
|
||
|
||
|
||
typedef struct _MV_DISPLAY_FRAME_INFO_
|
||
{
|
||
void* hWnd; ///< \~chinese 窗口句柄\~english HWND
|
||
unsigned char* pData; ///< \~chinese 显示的数据\~english Data Buffer
|
||
unsigned int nDataLen; ///< \~chinese 数据长度\~english Data Size
|
||
unsigned short nWidth; ///< \~chinese 图像宽\~english Width
|
||
unsigned short nHeight; ///< \~chinese 图像高\~english Height
|
||
enum MvGvspPixelType enPixelType; ///< \~chinese 像素格式\~english Pixel format
|
||
unsigned int nRes[4];
|
||
|
||
}MV_DISPLAY_FRAME_INFO;
|
||
|
||
/// \~chinese 保存图片格式\~english Save image type
|
||
enum MV_SAVE_IAMGE_TYPE
|
||
{
|
||
MV_Image_Undefined = 0,
|
||
MV_Image_Bmp = 1,
|
||
MV_Image_Jpeg = 2,
|
||
MV_Image_Png = 3,
|
||
MV_Image_Tif = 4,
|
||
};
|
||
|
||
/// \~chinese 图片保存参数\~english Save Image Parameters
|
||
typedef struct _MV_SAVE_IMAGE_PARAM_T_
|
||
{
|
||
unsigned char* pData; ///< [IN] \~chinese 输入数据缓存\~english Input Data Buffer
|
||
unsigned int nDataLen; ///< [IN] \~chinese 输入数据大小\~english Input Data Size
|
||
enum MvGvspPixelType enPixelType; ///< [IN] \~chinese 输入数据的像素格式\~english Input Data Pixel Format
|
||
unsigned short nWidth; ///< [IN] \~chinese 图像宽\~english Image Width
|
||
unsigned short nHeight; ///< [IN] \~chinese 图像高\~english Image Height
|
||
|
||
unsigned char* pImageBuffer; ///< [OUT] \~chinese 输出图片缓存\~english Output Image Buffer
|
||
unsigned int nImageLen; ///< [OUT] \~chinese 输出图片大小\~english Output Image Size
|
||
unsigned int nBufferSize; ///< [IN] \~chinese 提供的输出缓冲区大小\~english Output buffer size provided
|
||
enum MV_SAVE_IAMGE_TYPE enImageType; ///< [IN] \~chinese 输出图片格式\~english Output Image Format
|
||
|
||
}MV_SAVE_IMAGE_PARAM;
|
||
|
||
/// \~chinese 图片保存参数\~english Save Image Parameters
|
||
typedef struct _MV_SAVE_IMAGE_PARAM_T_EX_
|
||
{
|
||
unsigned char* pData; ///< [IN] \~chinese 输入数据缓存\~english Input Data Buffer
|
||
unsigned int nDataLen; ///< [IN] \~chinese 输入数据大小\~english Input Data Size
|
||
enum MvGvspPixelType enPixelType; ///< [IN] \~chinese 输入数据的像素格式\~english Input Data Pixel Format
|
||
unsigned short nWidth; ///< [IN] \~chinese 图像宽\~english Image Width
|
||
unsigned short nHeight; ///< [IN] \~chinese 图像高\~english Image Height
|
||
|
||
unsigned char* pImageBuffer; ///< [OUT] \~chinese 输出图片缓存\~english Output Image Buffer
|
||
unsigned int nImageLen; ///< [OUT] \~chinese 输出图片大小\~english Output Image Size
|
||
unsigned int nBufferSize; ///< [IN] \~chinese 提供的输出缓冲区大小\~english Output buffer size provided
|
||
enum MV_SAVE_IAMGE_TYPE enImageType; ///< [IN] \~chinese 输出图片格式\~english Output Image Format
|
||
unsigned int nJpgQuality; ///< [IN] \~chinese JPG编码质量(50-99],其它格式无效\~english Encoding quality(50-99],Other formats are invalid
|
||
|
||
///< [IN] \~chinese Bayer格式转为RGB24的插值方法 0-最近邻 1-双线性 2-Hamilton (如果传入其它值则默认为最近邻)
|
||
///< [IN] \~english Interpolation method of convert Bayer to RGB24 0-nearest neighbour 1-bilinearity 2-Hamilton
|
||
unsigned int iMethodValue;
|
||
unsigned int nReserved[3];
|
||
|
||
}MV_SAVE_IMAGE_PARAM_EX;
|
||
|
||
/// \~chinese 旋转角度 \~english Rotation angle
|
||
typedef enum _MV_IMG_ROTATION_ANGLE_
|
||
{
|
||
MV_IMAGE_ROTATE_90 = 1,
|
||
MV_IMAGE_ROTATE_180 = 2,
|
||
MV_IMAGE_ROTATE_270 = 3,
|
||
|
||
}MV_IMG_ROTATION_ANGLE;
|
||
|
||
/// \~chinese 图像旋转结构体 \~english Rotate image structure
|
||
typedef struct _MV_CC_ROTATE_IMAGE_PARAM_T_
|
||
{
|
||
enum MvGvspPixelType enPixelType; ///< [IN] \~chinese 像素格式 \~english Pixel format
|
||
unsigned int nWidth; ///< [IN][OUT] \~chinese 图像宽 \~english Width
|
||
unsigned int nHeight; ///< [IN][OUT] \~chinese 图像高 \~english Height
|
||
|
||
unsigned char* pSrcData; ///< [IN] \~chinese 输入数据缓存 \~english Input data buffer
|
||
unsigned int nSrcDataLen; ///< [IN] \~chinese 输入数据长度 \~english Input data length
|
||
|
||
unsigned char* pDstBuf; ///< [OUT] \~chinese 输出数据缓存 \~english Output data buffer
|
||
unsigned int nDstBufLen; ///< [OUT] \~chinese 输出数据长度 \~english Output data length
|
||
unsigned int nDstBufSize; ///< [IN] \~chinese 提供的输出缓冲区大小 \~english Provided output buffer size
|
||
|
||
MV_IMG_ROTATION_ANGLE enRotationAngle; ///< [IN] \~chinese 旋转角度 \~english Rotation angle
|
||
|
||
unsigned int nRes[8]; ///< \~chinese 预留 \~english Reserved
|
||
|
||
}MV_CC_ROTATE_IMAGE_PARAM;
|
||
|
||
/// \~chinese 翻转类型 \~english Flip type
|
||
typedef enum _MV_IMG_FLIP_TYPE_
|
||
{
|
||
MV_FLIP_VERTICAL = 1,
|
||
MV_FLIP_HORIZONTAL = 2,
|
||
|
||
}MV_IMG_FLIP_TYPE;
|
||
|
||
/// \~chinese 图像翻转结构体 \~english Flip image structure
|
||
typedef struct _MV_CC_FLIP_IMAGE_PARAM_T_
|
||
{
|
||
enum MvGvspPixelType enPixelType; ///< [IN] \~chinese 像素格式 \~english Pixel format
|
||
unsigned int nWidth; ///< [IN] \~chinese 图像宽 \~english Width
|
||
unsigned int nHeight; ///< [IN] \~chinese 图像高 \~english Height
|
||
|
||
unsigned char* pSrcData; ///< [IN] \~chinese 输入数据缓存 \~english Input data buffer
|
||
unsigned int nSrcDataLen; ///< [IN] \~chinese 输入数据长度 \~english Input data length
|
||
|
||
unsigned char* pDstBuf; ///< [OUT] \~chinese 输出数据缓存 \~english Output data buffer
|
||
unsigned int nDstBufLen; ///< [OUT] \~chinese 输出数据长度 \~english Output data length
|
||
unsigned int nDstBufSize; ///< [IN] \~chinese 提供的输出缓冲区大小 \~english Provided output buffer size
|
||
|
||
MV_IMG_FLIP_TYPE enFlipType; ///< [IN] \~chinese 翻转类型 \~english Flip type
|
||
|
||
unsigned int nRes[8]; ///< \~chinese 预留 \~english Reserved
|
||
|
||
}MV_CC_FLIP_IMAGE_PARAM;
|
||
|
||
|
||
/// \~chinese 图像转换结构体 \~english Pixel convert structure
|
||
typedef struct _MV_PIXEL_CONVERT_PARAM_T_
|
||
{
|
||
unsigned short nWidth; ///< [IN] \~chinese 图像宽 \~english Width
|
||
unsigned short nHeight; ///< [IN] \~chinese 图像高\~english Height
|
||
|
||
enum MvGvspPixelType enSrcPixelType; ///< [IN] \~chinese 源像素格式\~english Source pixel format
|
||
unsigned char* pSrcData; ///< [IN] \~chinese 输入数据缓存\~english Input data buffer
|
||
unsigned int nSrcDataLen; ///< [IN] \~chinese 输入数据大小\~english Input data size
|
||
|
||
enum MvGvspPixelType enDstPixelType; ///< [IN] \~chinese 目标像素格式\~english Destination pixel format
|
||
unsigned char* pDstBuffer; ///< [OUT] \~chinese 输出数据缓存\~english Output data buffer
|
||
unsigned int nDstLen; ///< [OUT] \~chinese 输出数据大小\~english Output data size
|
||
unsigned int nDstBufferSize; ///< [IN] \~chinese 提供的输出缓冲区大小\~english Provided outbut buffer size
|
||
|
||
unsigned int nRes[4];
|
||
}MV_CC_PIXEL_CONVERT_PARAM;
|
||
|
||
/// \~chinese Gamma类型 \~english Gamma type
|
||
typedef enum _MV_CC_GAMMA_TYPE_
|
||
{
|
||
MV_CC_GAMMA_TYPE_NONE = 0, ///< \~chinese 不启用 \~english Disable
|
||
MV_CC_GAMMA_TYPE_VALUE = 1, ///< \~chinese Gamma值 \~english Gamma value
|
||
MV_CC_GAMMA_TYPE_USER_CURVE = 2, ///< \~chinese Gamma曲线 \~english Gamma curve
|
||
///< \~chinese 长度:256*sizeof(unsigned char) \~english 8bit,length:256*sizeof(unsigned char)
|
||
MV_CC_GAMMA_TYPE_LRGB2SRGB = 3, ///< \~chinese linear RGB to sRGB \~english linear RGB to sRGB
|
||
MV_CC_GAMMA_TYPE_SRGB2LRGB = 4, ///< \~chinese sRGB to linear RGB(仅色彩插值时支持,色彩校正时无效) \~english sRGB to linear RGB
|
||
|
||
}MV_CC_GAMMA_TYPE;
|
||
|
||
// Gamma信息
|
||
/// \~chinese Gamma信息结构体 \~english Gamma info structure
|
||
typedef struct _MV_CC_GAMMA_PARAM_T_
|
||
{
|
||
MV_CC_GAMMA_TYPE enGammaType; ///< [IN] \~chinese Gamma类型 \~english Gamma type
|
||
float fGammaValue; ///< [IN] \~chinese Gamma值[0.1,4.0] \~english Gamma value[0.1,4.0]
|
||
unsigned char* pGammaCurveBuf; ///< [IN] \~chinese Gamma曲线缓存 \~english Gamma curve buffer
|
||
unsigned int nGammaCurveBufLen; ///< [IN] \~chinese Gamma曲线长度 \~english Gamma curve buffer size
|
||
|
||
unsigned int nRes[8]; ///< \~chinese 预留 \~english Reserved
|
||
|
||
}MV_CC_GAMMA_PARAM;
|
||
|
||
/// \~chinese 水印信息 \~english Frame-specific information
|
||
typedef struct _MV_CC_FRAME_SPEC_INFO_
|
||
{
|
||
/// \~chinese 设备水印时标 \~english Device frame-specific time scale
|
||
unsigned int nSecondCount; ///< [OUT] \~chinese 秒数 \~english The Seconds
|
||
unsigned int nCycleCount; ///< [OUT] \~chinese 周期数 \~english The Count of Cycle
|
||
unsigned int nCycleOffset; ///< [OUT] \~chinese 周期偏移量 \~english The Offset of Cycle
|
||
|
||
float fGain; ///< [OUT] \~chinese 增益 \~english Gain
|
||
float fExposureTime; ///< [OUT] \~chinese 曝光时间 \~english Exposure Time
|
||
unsigned int nAverageBrightness; ///< [OUT] \~chinese 平均亮度 \~english Average brightness
|
||
|
||
/// \~chinese 白平衡相关 \~english White balance
|
||
unsigned int nRed; ///< [OUT] \~chinese 红色 \~english Red
|
||
unsigned int nGreen; ///< [OUT] \~chinese 绿色 \~english Green
|
||
unsigned int nBlue; ///< [OUT] \~chinese 蓝色 \~english Blue
|
||
|
||
unsigned int nFrameCounter; ///< [OUT] \~chinese 总帧数 \~english Frame Counter
|
||
unsigned int nTriggerIndex; ///< [OUT] \~chinese 触发计数 \~english Trigger Counting
|
||
|
||
unsigned int nInput; ///< [OUT] \~chinese 输入 \~english Input
|
||
unsigned int nOutput; ///< [OUT] \~chinese 输出 \~english Output
|
||
|
||
/// \~chinese ROI区域 \~english ROI Region
|
||
unsigned short nOffsetX; ///< [OUT] \~chinese 水平偏移量 \~english OffsetX
|
||
unsigned short nOffsetY; ///< [OUT] \~chinese 垂直偏移量 \~english OffsetY
|
||
unsigned short nFrameWidth; ///< [OUT] \~chinese 水印宽 \~english The Width of Chunk
|
||
unsigned short nFrameHeight; ///< [OUT] \~chinese 水印高 \~english The Height of Chunk
|
||
|
||
unsigned int nReserved[16]; ///< \~chinese 预留 \~english Reserved
|
||
|
||
}MV_CC_FRAME_SPEC_INFO;
|
||
|
||
/// \~chinese 无损解码参数 \~english High Bandwidth decode structure
|
||
typedef struct _MV_CC_HB_DECODE_PARAM_T_
|
||
{
|
||
unsigned char* pSrcBuf; ///< [IN] \~chinese 输入数据缓存 \~english Input data buffer
|
||
unsigned int nSrcLen; ///< [IN] \~chinese 输入数据大小 \~english Input data size
|
||
|
||
unsigned int nWidth; ///< [OUT] \~chinese 图像宽 \~english Width
|
||
unsigned int nHeight; ///< [OUT] \~chinese 图像高 \~english Height
|
||
unsigned char* pDstBuf; ///< [OUT] \~chinese 输出数据缓存 \~english Output data buffer
|
||
unsigned int nDstBufSize; ///< [IN] \~chinese 提供的输出缓冲区大小 \~english Provided output buffer size
|
||
unsigned int nDstBufLen; ///< [OUT] \~chinese 输出数据大小 \~english Output data size
|
||
enum MvGvspPixelType enDstPixelType; ///< [OUT] \~chinese 输出的像素格式 \~english Output pixel format
|
||
|
||
MV_CC_FRAME_SPEC_INFO stFrameSpecInfo; ///< [OUT] \~chinese 水印信息 \~english Frame Spec Info
|
||
|
||
unsigned int nRes[8]; ///< \~chinese 预留 \~english Reserved
|
||
|
||
}MV_CC_HB_DECODE_PARAM;
|
||
|
||
/// \~chinese 录像格式定义\~english Record Format Type
|
||
typedef enum _MV_RECORD_FORMAT_TYPE_
|
||
{
|
||
MV_FormatType_Undefined = 0,
|
||
MV_FormatType_AVI = 1,
|
||
|
||
}MV_RECORD_FORMAT_TYPE;
|
||
|
||
/// \~chinese 录像参数\~english Record Parameters
|
||
typedef struct _MV_CC_RECORD_PARAM_T_
|
||
{
|
||
enum MvGvspPixelType enPixelType; ///< [IN] \~chinese 输入数据的像素格式
|
||
|
||
unsigned short nWidth; ///< [IN] \~chinese 图像宽(指定目标参数时需为2的倍数)
|
||
unsigned short nHeight; ///< [IN] \~chinese 图像高(指定目标参数时需为2的倍数)
|
||
|
||
float fFrameRate; ///< [IN] \~chinese 帧率fps(1/16-120)
|
||
unsigned int nBitRate; ///< [IN] \~chinese 码率kbps(128kbps-16Mbps)
|
||
|
||
MV_RECORD_FORMAT_TYPE enRecordFmtType; ///< [IN] \~chinese 录像格式
|
||
|
||
char* strFilePath; ///< [IN] \~chinese 录像文件存放路径(如果路径中存在中文,需转成utf-8)
|
||
|
||
unsigned int nRes[8];
|
||
|
||
}MV_CC_RECORD_PARAM;
|
||
|
||
/// \~chinese 录像数据\~english Record Data
|
||
typedef struct _MV_CC_INPUT_FRAME_INFO_T_
|
||
{
|
||
unsigned char* pData; ///< [IN] \~chinese 图像数据指针
|
||
unsigned int nDataLen; ///< [IN] \~chinese 图像大小
|
||
|
||
unsigned int nRes[8];
|
||
|
||
}MV_CC_INPUT_FRAME_INFO;
|
||
|
||
/// \~chinese 采集模式\~english Acquisition mode
|
||
typedef enum _MV_CAM_ACQUISITION_MODE_
|
||
{
|
||
MV_ACQ_MODE_SINGLE = 0, ///< \~chinese 单帧模式\~english Single Mode
|
||
MV_ACQ_MODE_MUTLI = 1, ///< \~chinese 多帧模式\~english Multi Mode
|
||
MV_ACQ_MODE_CONTINUOUS = 2, ///< \~chinese 持续采集模式\~english Continuous Mode
|
||
|
||
}MV_CAM_ACQUISITION_MODE;
|
||
|
||
/// \~chinese 增益模式\~english Gain Mode
|
||
typedef enum _MV_CAM_GAIN_MODE_
|
||
{
|
||
MV_GAIN_MODE_OFF = 0, ///< \~chinese 关闭\~english Single Mode
|
||
MV_GAIN_MODE_ONCE = 1, ///< \~chinese 一次\~english Multi Mode
|
||
MV_GAIN_MODE_CONTINUOUS = 2, ///< \~chinese 连续\~english Continuous Mode
|
||
|
||
}MV_CAM_GAIN_MODE;
|
||
|
||
/// \~chinese 曝光模式\~english Exposure Mode
|
||
typedef enum _MV_CAM_EXPOSURE_MODE_
|
||
{
|
||
MV_EXPOSURE_MODE_TIMED = 0, ///< Timed
|
||
MV_EXPOSURE_MODE_TRIGGER_WIDTH = 1, ///< TriggerWidth
|
||
}MV_CAM_EXPOSURE_MODE;
|
||
|
||
/// \~chinese 自动曝光模式 \~english Auto Exposure Mode
|
||
typedef enum _MV_CAM_EXPOSURE_AUTO_MODE_
|
||
{
|
||
MV_EXPOSURE_AUTO_MODE_OFF = 0, ///< \~chinese 关闭\~english Off
|
||
MV_EXPOSURE_AUTO_MODE_ONCE = 1, ///< \~chinese 一次\~english Once
|
||
MV_EXPOSURE_AUTO_MODE_CONTINUOUS = 2, ///< \~chinese 连续\~english Continuous
|
||
|
||
}MV_CAM_EXPOSURE_AUTO_MODE;
|
||
|
||
/// \~chinese 触发模式 \~english Trigger Mode
|
||
typedef enum _MV_CAM_TRIGGER_MODE_
|
||
{
|
||
MV_TRIGGER_MODE_OFF = 0, ///< \~chinese 关闭\~english Off
|
||
MV_TRIGGER_MODE_ON = 1, ///< \~chinese 打开\~english ON
|
||
|
||
}MV_CAM_TRIGGER_MODE;
|
||
|
||
typedef enum _MV_CAM_GAMMA_SELECTOR_
|
||
{
|
||
MV_GAMMA_SELECTOR_USER = 1,
|
||
MV_GAMMA_SELECTOR_SRGB = 2,
|
||
|
||
}MV_CAM_GAMMA_SELECTOR;
|
||
|
||
typedef enum _MV_CAM_BALANCEWHITE_AUTO_
|
||
{
|
||
MV_BALANCEWHITE_AUTO_OFF = 0,
|
||
MV_BALANCEWHITE_AUTO_ONCE = 2,
|
||
MV_BALANCEWHITE_AUTO_CONTINUOUS = 1, ///< \~chinese 连续\~english Continuous
|
||
|
||
}MV_CAM_BALANCEWHITE_AUTO;
|
||
|
||
typedef enum _MV_CAM_TRIGGER_SOURCE_
|
||
{
|
||
MV_TRIGGER_SOURCE_LINE0 = 0,
|
||
MV_TRIGGER_SOURCE_LINE1 = 1,
|
||
MV_TRIGGER_SOURCE_LINE2 = 2,
|
||
MV_TRIGGER_SOURCE_LINE3 = 3,
|
||
MV_TRIGGER_SOURCE_COUNTER0 = 4,
|
||
|
||
MV_TRIGGER_SOURCE_SOFTWARE = 7,
|
||
MV_TRIGGER_SOURCE_FrequencyConverter= 8,
|
||
|
||
}MV_CAM_TRIGGER_SOURCE;
|
||
|
||
typedef enum _MV_GIGE_TRANSMISSION_TYPE_
|
||
{
|
||
MV_GIGE_TRANSTYPE_UNICAST = 0x0, ///< \~chinese 表示单播(默认)\~english Unicast mode
|
||
MV_GIGE_TRANSTYPE_MULTICAST = 0x1, ///< \~chinese 表示组播\~english Multicast mode
|
||
MV_GIGE_TRANSTYPE_LIMITEDBROADCAST = 0x2, ///< \~chinese 表示局域网内广播,暂不支持\~english Limited broadcast mode,not support
|
||
MV_GIGE_TRANSTYPE_SUBNETBROADCAST = 0x3, ///< \~chinese 表示子网内广播,暂不支持\~english Subnet broadcast mode,not support
|
||
MV_GIGE_TRANSTYPE_CAMERADEFINED = 0x4, ///< \~chinese 表示从相机获取,暂不支持\~english Transtype from camera,not support
|
||
MV_GIGE_TRANSTYPE_UNICAST_DEFINED_PORT = 0x5, ///< \~chinese 表示用户自定义应用端接收图像数据Port号\~english User Defined Receive Data Port
|
||
MV_GIGE_TRANSTYPE_UNICAST_WITHOUT_RECV = 0x00010000, ///< \~chinese 表示设置了单播,但本实例不接收图像数据\~english Unicast without receive data
|
||
MV_GIGE_TRANSTYPE_MULTICAST_WITHOUT_RECV = 0x00010001, ///< \~chinese 表示组播模式,但本实例不接收图像数据\~english Multicast without receive data
|
||
}MV_GIGE_TRANSMISSION_TYPE;
|
||
// GigEVision IP Configuration
|
||
#define MV_IP_CFG_STATIC 0x05000000
|
||
#define MV_IP_CFG_DHCP 0x06000000
|
||
#define MV_IP_CFG_LLA 0x04000000
|
||
|
||
// GigEVision Net Transfer Mode
|
||
#define MV_NET_TRANS_DRIVER 0x00000001
|
||
#define MV_NET_TRANS_SOCKET 0x00000002
|
||
|
||
// CameraLink Baud Rates (CLUINT32)
|
||
#define MV_CAML_BAUDRATE_9600 0x00000001
|
||
#define MV_CAML_BAUDRATE_19200 0x00000002
|
||
#define MV_CAML_BAUDRATE_38400 0x00000004
|
||
#define MV_CAML_BAUDRATE_57600 0x00000008
|
||
#define MV_CAML_BAUDRATE_115200 0x00000010
|
||
#define MV_CAML_BAUDRATE_230400 0x00000020
|
||
#define MV_CAML_BAUDRATE_460800 0x00000040
|
||
#define MV_CAML_BAUDRATE_921600 0x00000080
|
||
#define MV_CAML_BAUDRATE_AUTOMAX 0x40000000
|
||
|
||
/// \~chinese 信息类型\~english Information Type
|
||
#define MV_MATCH_TYPE_NET_DETECT 0x00000001 ///< \~chinese 网络流量和丢包信息\~english Network traffic and packet loss information
|
||
#define MV_MATCH_TYPE_USB_DETECT 0x00000002 ///< \~chinese host接收到来自U3V设备的字节总数\~english The total number of bytes host received from U3V device
|
||
|
||
/// \~chinese 某个节点对应的子节点个数最大值\~english The maximum number of child nodes corresponding to a node
|
||
#define MV_MAX_XML_NODE_NUM_C 128
|
||
|
||
/// \~chinese 节点名称字符串最大长度\~english The maximum length of node name string
|
||
#define MV_MAX_XML_NODE_STRLEN_C 64
|
||
|
||
/// \~chinese 节点String值最大长度\~english The maximum length of Node String
|
||
#define MV_MAX_XML_STRVALUE_STRLEN_C 64
|
||
|
||
/// \~chinese 节点描述字段最大长度\~english The maximum length of the node description field
|
||
#define MV_MAX_XML_DISC_STRLEN_C 512
|
||
|
||
/// \~chinese 最多的单元数\~englishThe maximum number of units
|
||
#define MV_MAX_XML_ENTRY_NUM 10
|
||
|
||
/// \~chinese 父节点个数上限\~english The maximum number of parent nodes
|
||
#define MV_MAX_XML_PARENTS_NUM 8
|
||
|
||
/// \~chinese 每个已经实现单元的名称长度\~english The length of the name of each unit that has been implemented
|
||
#define MV_MAX_XML_SYMBOLIC_STRLEN_C 64
|
||
|
||
#define MV_MAX_XML_SYMBOLIC_NUM 64
|
||
|
||
|
||
/// \~chinese 全匹配的一种信息结构体\~english A fully matched information structure
|
||
typedef struct _MV_ALL_MATCH_INFO_
|
||
{
|
||
unsigned int nType; ///< \~chinese 需要输出的信息类型,e.g. MV_MATCH_TYPE_NET_DETECT\~english Information type need to output ,e.g. MV_MATCH_TYPE_NET_DETECT
|
||
void* pInfo; ///< \~chinese 输出的信息缓存,由调用者分配\~english Output information cache, which is allocated by the caller
|
||
unsigned int nInfoSize; ///< \~chinese 信息缓存的大小\~english Information cache size
|
||
|
||
}MV_ALL_MATCH_INFO;
|
||
|
||
|
||
|
||
/// \~chinese 网络流量和丢包信息反馈结构体,对应类型为 MV_MATCH_TYPE_NET_DETECT
|
||
/// \~en:Network traffic and packet loss feedback structure, the corresponding type is MV_MATCH_TYPE_NET_DETECT
|
||
typedef struct _MV_MATCH_INFO_NET_DETECT_
|
||
{
|
||
int64_t nReviceDataSize; ///< \~chinese 已接收数据大小 [统计StartGrabbing和StopGrabbing之间的数据量]\~english Received data size
|
||
int64_t nLostPacketCount; ///< \~chinese 丢失的包数量\~english Number of packets lost
|
||
unsigned int nLostFrameCount; ///< \~chinese 丢帧数量\~english Number of frames lost
|
||
unsigned int nNetRecvFrameCount; ///< \~chinese 保留\~english Reserved
|
||
int64_t nRequestResendPacketCount; ///< \~chinese 请求重发包数
|
||
int64_t nResendPacketCount; ///< \~chinese 重发包数
|
||
}MV_MATCH_INFO_NET_DETECT;
|
||
|
||
/// \~chinese host收到从u3v设备端的总字节数,对应类型为 MV_MATCH_TYPE_USB_DETECT\~english The total number of bytes host received from the u3v device side, the corresponding type is MV_MATCH_TYPE_USB_DETECT
|
||
typedef struct _MV_MATCH_INFO_USB_DETECT_
|
||
{
|
||
int64_t nReviceDataSize; ///< \~chinese 已接收数据大小 [统计OpenDevicce和CloseDevice之间的数据量]\~english Received data size
|
||
unsigned int nRevicedFrameCount; ///< \~chinese 已收到的帧数\~english Number of frames received
|
||
unsigned int nErrorFrameCount; ///< \~chinese 错误帧数\~english Number of error frames
|
||
unsigned int nReserved[2]; ///< \~chinese 保留\~english Reserved
|
||
}MV_MATCH_INFO_USB_DETECT;
|
||
|
||
typedef struct _MV_IMAGE_BASIC_INFO_
|
||
{
|
||
// width
|
||
unsigned short nWidthValue;
|
||
unsigned short nWidthMin;
|
||
unsigned int nWidthMax;
|
||
unsigned int nWidthInc;
|
||
|
||
// height
|
||
unsigned int nHeightValue;
|
||
unsigned int nHeightMin;
|
||
unsigned int nHeightMax;
|
||
unsigned int nHeightInc;
|
||
|
||
// framerate
|
||
float fFrameRateValue;
|
||
float fFrameRateMin;
|
||
float fFrameRateMax;
|
||
|
||
/// \~chinese 像素格式\~english pixel format
|
||
unsigned int enPixelType; ///< \~chinese 当前的像素格式\~english Current pixel format
|
||
unsigned int nSupportedPixelFmtNum; ///< \~chinese 支持的像素格式种类\~english Support pixel format
|
||
unsigned int enPixelList[MV_MAX_XML_SYMBOLIC_NUM];
|
||
unsigned int nReserved[8];
|
||
|
||
}MV_IMAGE_BASIC_INFO;
|
||
|
||
/// \~chinese 异常消息类型\~english Exception message type
|
||
#define MV_EXCEPTION_DEV_DISCONNECT 0x00008001 ///< \~chinese 设备断开连接\~english The device is disconnected
|
||
#define MV_EXCEPTION_VERSION_CHECK 0x00008002 ///< \~chinese SDK与驱动版本不匹配\~english SDK does not match the driver version
|
||
/// \~chinese 设备的访问模式\~english Device Access Mode
|
||
/// \~chinese 独占权限,其他APP只允许读CCP寄存器\~english Exclusive authority, other APP is only allowed to read the CCP register
|
||
#define MV_ACCESS_Exclusive 1
|
||
/// \~chinese 可以从5模式下抢占权限,然后以独占权限打开\~english You can seize the authority from the 5 mode, and then open with exclusive authority
|
||
#define MV_ACCESS_ExclusiveWithSwitch 2
|
||
/// \~chinese 控制权限,其他APP允许读所有寄存器\~english Control authority, allows other APP reading all registers
|
||
#define MV_ACCESS_Control 3
|
||
/// \~chinese 可以从5的模式下抢占权限,然后以控制权限打开\~english You can seize the authority from the 5 mode, and then open with control authority
|
||
#define MV_ACCESS_ControlWithSwitch 4
|
||
/// \~chinese 以可被抢占的控制权限打开\~english Open with seized control authority
|
||
#define MV_ACCESS_ControlSwitchEnable 5
|
||
/// \~chinese 可以从5的模式下抢占权限,然后以可被抢占的控制权限打开\~english You can seize the authority from the 5 mode, and then open with seized control authority
|
||
#define MV_ACCESS_ControlSwitchEnableWithKey 6
|
||
/// \~chinese 读模式打开设备,适用于控制权限下\~english Open with read mode and is available under control authority
|
||
#define MV_ACCESS_Monitor 7
|
||
|
||
|
||
/************************************************************************/
|
||
/* 封装了GenICam的C接口相关参数定义 */
|
||
/* Package of GenICam C interface-related parameters definition */
|
||
/************************************************************************/
|
||
|
||
/// \~chinese 每个节点对应的接口类型\~english Interface type corresponds to each node
|
||
enum MV_XML_InterfaceType
|
||
{
|
||
IFT_IValue, //!> IValue interface
|
||
IFT_IBase, //!> IBase interface
|
||
IFT_IInteger, //!> IInteger interface
|
||
IFT_IBoolean, //!> IBoolean interface
|
||
IFT_ICommand, //!> ICommand interface
|
||
IFT_IFloat, //!> IFloat interface
|
||
IFT_IString, //!> IString interface
|
||
IFT_IRegister, //!> IRegister interface
|
||
IFT_ICategory, //!> ICategory interface
|
||
IFT_IEnumeration, //!> IEnumeration interface
|
||
IFT_IEnumEntry, //!> IEnumEntry interface
|
||
IFT_IPort, //!> IPort interface
|
||
};
|
||
|
||
/// \~chinese 节点的访问模式\~english Node Access Mode
|
||
enum MV_XML_AccessMode
|
||
{
|
||
AM_NI, //!< Not implemented
|
||
AM_NA, //!< Not available
|
||
AM_WO, //!< Write Only
|
||
AM_RO, //!< Read Only
|
||
AM_RW, //!< Read and Write
|
||
AM_Undefined, //!< Object is not yet initialized
|
||
AM_CycleDetect, //!< used internally for AccessMode cycle detection
|
||
};
|
||
|
||
/// \~chinese 节点的可见性权限\~english Node Visible Permission
|
||
enum MV_XML_Visibility
|
||
{
|
||
V_Beginner = 0, //!< Always visible
|
||
V_Expert = 1, //!< Visible for experts or Gurus
|
||
V_Guru = 2, //!< Visible for Gurus
|
||
V_Invisible = 3, //!< Not Visible
|
||
V_Undefined = 99 //!< Object is not yet initialized
|
||
};
|
||
|
||
/// \~chinese Event事件回调信息\~english Event callback infomation
|
||
#define MAX_EVENT_NAME_SIZE 128 // 相机Event事件名称最大长度\~english Max length of event name
|
||
|
||
typedef struct _MV_EVENT_OUT_INFO_
|
||
{
|
||
char EventName[MAX_EVENT_NAME_SIZE]; ///< \~chinese Event名称\~english Event name
|
||
|
||
unsigned short nEventID; ///< \~chinese Event号\~english Event ID
|
||
unsigned short nStreamChannel; ///< \~chinese 流通道序号\~english Circulation number
|
||
|
||
unsigned int nBlockIdHigh; ///< \~chinese 帧号高位\~english BlockId high
|
||
unsigned int nBlockIdLow; ///< \~chinese 帧号低位\~english BlockId low
|
||
|
||
unsigned int nTimestampHigh; ///< \~chinese 时间戳高位\~english Timestramp high
|
||
unsigned int nTimestampLow; ///< \~chinese 时间戳低位\~english Timestramp low
|
||
|
||
void* pEventData; ///< \~chinese Event数据\~english Event data
|
||
unsigned int nEventDataSize; ///< \~chinese Event数据长度\~english Event data len
|
||
|
||
unsigned int nReserved[16]; ///< \~chinese 预留\~english Reserved
|
||
}MV_EVENT_OUT_INFO;
|
||
|
||
/// \~chinese 文件存取\~english File Access
|
||
typedef struct _MV_CC_FILE_ACCESS_T
|
||
{
|
||
const char* pUserFileName; ///< \~chinese 用户文件名\~english User file name
|
||
const char* pDevFileName; ///< \~chinese 设备文件名\~english Device file name
|
||
|
||
unsigned int nReserved[32]; ///< \~chinese 预留\~english Reserved
|
||
}MV_CC_FILE_ACCESS;
|
||
|
||
/// \~chinese 文件存取进度\~english File Access Progress
|
||
typedef struct _MV_CC_FILE_ACCESS_PROGRESS_T
|
||
{
|
||
int64_t nCompleted; ///< \~chinese 已完成的长度\~english Completed Length
|
||
int64_t nTotal; ///< \~chinese 总长度\~english Total Length
|
||
|
||
unsigned int nReserved[8]; ///< \~chinese 预留\~english Reserved
|
||
}MV_CC_FILE_ACCESS_PROGRESS;
|
||
|
||
|
||
|
||
/// \~chinese 传输模式,可以为单播模式、组播模式等\~english Transmission type
|
||
typedef struct _MV_TRANSMISSION_TYPE_T
|
||
{
|
||
MV_GIGE_TRANSMISSION_TYPE enTransmissionType; ///< \~chinese 传输模式\~english Transmission type
|
||
unsigned int nDestIp; ///< \~chinese 目标IP,组播模式下有意义\~english Destination IP
|
||
unsigned short nDestPort; ///< \~chinese 目标Port,组播模式下有意义\~english Destination port
|
||
|
||
unsigned int nReserved[32]; ///< \~chinese 预留\~english Reserved
|
||
}MV_TRANSMISSION_TYPE;
|
||
|
||
/// \~chinese 动作命令信息\~english Action Command
|
||
typedef struct _MV_ACTION_CMD_INFO_T
|
||
{
|
||
unsigned int nDeviceKey; ///< \~chinese 设备密钥
|
||
unsigned int nGroupKey; ///< \~chinese 组键
|
||
unsigned int nGroupMask; ///< \~chinese 组掩码
|
||
|
||
unsigned int bActionTimeEnable; ///< \~chinese 只有设置成1时Action Time才有效,非1时无效
|
||
int64_t nActionTime; ///< \~chinese 预定的时间,和主频有关
|
||
|
||
const char* pBroadcastAddress; ///< \~chinese 广播包地址
|
||
unsigned int nTimeOut; ///< \~chinese 等待ACK的超时时间,如果为0表示不需要ACK
|
||
|
||
unsigned int bSpecialNetEnable; ///< [IN] \~chinese 只有设置成1时指定的网卡IP才有效,非1时无效 \~english Special IP Enable
|
||
unsigned int nSpecialNetIP; ///< [IN] \~chinese 指定的网卡IP \~english Special Net IP address
|
||
|
||
unsigned int nReserved[14]; ///< \~chinese 预留\~english Reserved
|
||
|
||
}MV_ACTION_CMD_INFO;
|
||
|
||
/// \~chinese 动作命令返回信息\~english Action Command Result
|
||
typedef struct _MV_ACTION_CMD_RESULT_T
|
||
{
|
||
unsigned char strDeviceAddress[12 + 3 + 1]; ///< IP address of the device
|
||
|
||
//status code returned by the device
|
||
int nStatus;//1.0x0000:success.
|
||
//2.0x8001:Command is not supported by the device.
|
||
//3.0x8013:The device is not synchronized to a master clock to be used as time reference.
|
||
//4.0x8015:A device queue or packet data has overflowed.
|
||
//5.0x8016:The requested scheduled action command was requested at a time that is already past.
|
||
|
||
unsigned int nReserved[4]; ///< \~chinese 预留\~english Reserved
|
||
|
||
}MV_ACTION_CMD_RESULT;
|
||
|
||
/// \~chinese 动作命令返回信息列表\~english Action Command Result List
|
||
typedef struct _MV_ACTION_CMD_RESULT_LIST_T
|
||
{
|
||
unsigned int nNumResults; ///< \~chinese 返回值个数
|
||
MV_ACTION_CMD_RESULT* pResults;
|
||
|
||
}MV_ACTION_CMD_RESULT_LIST;
|
||
|
||
// ch:单个节点基本属性 | en:Single Node Basic Attributes
|
||
typedef struct _MV_XML_NODE_FEATURE_
|
||
{
|
||
enum MV_XML_InterfaceType enType; ///< \~chinese 节点类型\~english Node Type
|
||
enum MV_XML_Visibility enVisivility; ///< \~chinese 是否可见\~english Is visibility
|
||
char strDescription[MV_MAX_XML_DISC_STRLEN_C]; ///< \~chinese 节点描述,目前暂不支持\~english Node Description, NOT SUPPORT NOW
|
||
char strDisplayName[MV_MAX_XML_NODE_STRLEN_C]; ///< \~chinese 显示名称\~english Display Name
|
||
char strName[MV_MAX_XML_NODE_STRLEN_C]; ///< \~chinese 节点名\~english Node Name
|
||
char strToolTip[MV_MAX_XML_DISC_STRLEN_C]; ///< \~chinese 提示\~english Notice
|
||
|
||
unsigned int nReserved[4];
|
||
}MV_XML_NODE_FEATURE;
|
||
|
||
/// \~chinese 节点列表\~english Node List
|
||
typedef struct _MV_XML_NODES_LIST_
|
||
{
|
||
unsigned int nNodeNum; ///< \~chinese 节点个数\~english Node Number
|
||
MV_XML_NODE_FEATURE stNodes[MV_MAX_XML_NODE_NUM_C];
|
||
}MV_XML_NODES_LIST;
|
||
|
||
|
||
|
||
typedef struct _MV_XML_FEATURE_Value_
|
||
{
|
||
enum MV_XML_InterfaceType enType; ///< \~chinese节点类型\~english Node Type
|
||
char strDescription[MV_MAX_XML_DISC_STRLEN_C]; ///< \~chinese节点描述 目前暂不支持\~english Node Description, NOT SUPPORT NOW
|
||
char strDisplayName[MV_MAX_XML_NODE_STRLEN_C]; ///< \~chinese 显示名称\~english Display Name
|
||
char strName[MV_MAX_XML_NODE_STRLEN_C]; ///< \~chinese 节点名\~english Node Name
|
||
char strToolTip[MV_MAX_XML_DISC_STRLEN_C]; ///< \~chinese 提示\~english Notice
|
||
unsigned int nReserved[4];
|
||
}MV_XML_FEATURE_Value;
|
||
|
||
typedef struct _MV_XML_FEATURE_Base_
|
||
{
|
||
enum MV_XML_AccessMode enAccessMode; ///< \~chinese 访问模式\~english Access Mode
|
||
}MV_XML_FEATURE_Base;
|
||
|
||
typedef struct _MV_XML_FEATURE_Integer_
|
||
{
|
||
char strName[MV_MAX_XML_NODE_STRLEN_C];
|
||
char strDisplayName[MV_MAX_XML_NODE_STRLEN_C];
|
||
char strDescription[MV_MAX_XML_DISC_STRLEN_C]; ///< \~chinese 目前暂不支持\~english NOT SUPPORT NOW
|
||
char strToolTip[MV_MAX_XML_DISC_STRLEN_C];
|
||
|
||
enum MV_XML_Visibility enVisivility; ///< \~chinese是否可见\~english Visible
|
||
enum MV_XML_AccessMode enAccessMode; ///< \~chinese 访问模式\~english Access Mode
|
||
int bIsLocked; ///< \~chinese 是否锁定。0-否;1-是 目前暂不支持\~english Locked. 0-NO; 1-YES, NOT SUPPORT NOW
|
||
int64_t nValue; ///< \~chinese 当前值\~english Current Value
|
||
int64_t nMinValue; ///< \~chinese 最小值\~english Min Value
|
||
int64_t nMaxValue; ///< \~chinese 最大值\~english Max Value
|
||
int64_t nIncrement; ///< \~chinese 增量\~english Increment
|
||
|
||
unsigned int nReserved[4];
|
||
|
||
}MV_XML_FEATURE_Integer;
|
||
|
||
typedef struct _MV_XML_FEATURE_Boolean_
|
||
{
|
||
char strName[MV_MAX_XML_NODE_STRLEN_C];
|
||
char strDisplayName[MV_MAX_XML_NODE_STRLEN_C];
|
||
char strDescription[MV_MAX_XML_DISC_STRLEN_C]; ///< \~chinese 目前暂不支持\~english NOT SUPPORT NOW
|
||
char strToolTip[MV_MAX_XML_DISC_STRLEN_C];
|
||
|
||
enum MV_XML_Visibility enVisivility; ///< \~chinese 是否可见\~english Visible
|
||
enum MV_XML_AccessMode enAccessMode; ///< \~chinese 访问模式\~english Access Mode
|
||
int bIsLocked; ///< \~chinese 是否锁定。0-否;1-是 目前暂不支持\~english Locked. 0-NO; 1-YES, NOT SUPPORT NOW
|
||
bool bValue; ///< \~chinese 当前值\~english Current Value
|
||
|
||
unsigned int nReserved[4];
|
||
}MV_XML_FEATURE_Boolean;
|
||
|
||
typedef struct _MV_XML_FEATURE_Command_
|
||
{
|
||
char strName[MV_MAX_XML_NODE_STRLEN_C];
|
||
char strDisplayName[MV_MAX_XML_NODE_STRLEN_C];
|
||
char strDescription[MV_MAX_XML_DISC_STRLEN_C]; ///< \~chinese 目前暂不支持\~english NOT SUPPORT NOW
|
||
char strToolTip[MV_MAX_XML_DISC_STRLEN_C];
|
||
|
||
enum MV_XML_Visibility enVisivility; ///< \~chinese 是否可见\~english Visible
|
||
enum MV_XML_AccessMode enAccessMode; ///< \~chinese 访问模式\~english Access Mode
|
||
int bIsLocked; ///< \~chinese 是否锁定。0-否;1-是 目前暂不支持\~english Locked. 0-NO; 1-YES, NOT SUPPORT NOW
|
||
|
||
unsigned int nReserved[4];
|
||
}MV_XML_FEATURE_Command;
|
||
|
||
typedef struct _MV_XML_FEATURE_Float_
|
||
{
|
||
char strName[MV_MAX_XML_NODE_STRLEN_C];
|
||
char strDisplayName[MV_MAX_XML_NODE_STRLEN_C];
|
||
char strDescription[MV_MAX_XML_DISC_STRLEN_C]; ///< \~chinese 目前暂不支持\~english NOT SUPPORT NOW
|
||
char strToolTip[MV_MAX_XML_DISC_STRLEN_C];
|
||
|
||
enum MV_XML_Visibility enVisivility; ///< \~chinese 是否可见\~english Visible
|
||
enum MV_XML_AccessMode enAccessMode; ///< \~chinese 访问模式\~english Access Mode
|
||
int bIsLocked; ///< \~chinese 是否锁定。0-否;1-是 目前暂不支持\~english Locked. 0-NO; 1-YES, NOT SUPPORT NOW
|
||
double dfValue; ///< \~chinese 当前值\~english Current Value
|
||
double dfMinValue; ///< \~chinese 最小值\~english Min Value
|
||
double dfMaxValue; ///< \~chinese 最大值\~english Max Value
|
||
double dfIncrement; ///< \~chinese 增量\~english Increment
|
||
|
||
unsigned int nReserved[4];
|
||
}MV_XML_FEATURE_Float;
|
||
|
||
typedef struct _MV_XML_FEATURE_String_
|
||
{
|
||
char strName[MV_MAX_XML_NODE_STRLEN_C];
|
||
char strDisplayName[MV_MAX_XML_NODE_STRLEN_C];
|
||
char strDescription[MV_MAX_XML_DISC_STRLEN_C]; ///< \~chinese 目前暂不支持\~english NOT SUPPORT NOW
|
||
char strToolTip[MV_MAX_XML_DISC_STRLEN_C];
|
||
|
||
enum MV_XML_Visibility enVisivility; ///< \~chinese 是否可见\~english Visible
|
||
enum MV_XML_AccessMode enAccessMode; ///< \~chinese 访问模式\~english Access Mode
|
||
int bIsLocked; ///< \~chinese 是否锁定。0-否;1-是 目前暂不支持\~english Locked. 0-NO; 1-YES, NOT SUPPORT NOW
|
||
char strValue[MV_MAX_XML_STRVALUE_STRLEN_C]; ///< \~chinese 当前值\~english Current Value
|
||
|
||
unsigned int nReserved[4];
|
||
}MV_XML_FEATURE_String;
|
||
|
||
typedef struct _MV_XML_FEATURE_Register_
|
||
{
|
||
char strName[MV_MAX_XML_NODE_STRLEN_C];
|
||
char strDisplayName[MV_MAX_XML_NODE_STRLEN_C];
|
||
char strDescription[MV_MAX_XML_DISC_STRLEN_C]; ///< \~chinese 目前暂不支持\~english NOT SUPPORT NOW
|
||
char strToolTip[MV_MAX_XML_DISC_STRLEN_C];
|
||
|
||
enum MV_XML_Visibility enVisivility; ///< \~chinese 是否可见\~english Visible
|
||
enum MV_XML_AccessMode enAccessMode; ///< \~chinese 访问模式\~english Access Mode
|
||
int bIsLocked; ///< \~chinese 是否锁定。0-否;1-是 目前暂不支持\~english Locked. 0-NO; 1-YES, NOT SUPPORT NOW
|
||
int64_t nAddrValue; ///< \~chinese 当前值\~english Current Value
|
||
|
||
unsigned int nReserved[4];
|
||
}MV_XML_FEATURE_Register;
|
||
|
||
typedef struct _MV_XML_FEATURE_Category_
|
||
{
|
||
char strDescription[MV_MAX_XML_DISC_STRLEN_C]; ///< \~chinese 节点描述 目前暂不支持\~english Node Description, NOT SUPPORT NOW
|
||
char strDisplayName[MV_MAX_XML_NODE_STRLEN_C]; ///< \~chinese 显示名称\~english Display Name
|
||
char strName[MV_MAX_XML_NODE_STRLEN_C]; ///< \~chinese 节点名\~english Node Name
|
||
char strToolTip[MV_MAX_XML_DISC_STRLEN_C]; ///< \~chinese 提示\~english Notice
|
||
|
||
enum MV_XML_Visibility enVisivility; ///< \~chinese 是否可见\~english Visible
|
||
|
||
unsigned int nReserved[4];
|
||
}MV_XML_FEATURE_Category;
|
||
|
||
typedef struct _MV_XML_FEATURE_EnumEntry_
|
||
{
|
||
char strName[MV_MAX_XML_NODE_STRLEN_C];
|
||
char strDisplayName[MV_MAX_XML_NODE_STRLEN_C];
|
||
char strDescription[MV_MAX_XML_DISC_STRLEN_C]; ///< \~chinese 目前暂不支持\~english NOT SUPPORT NOW
|
||
char strToolTip[MV_MAX_XML_DISC_STRLEN_C];
|
||
int bIsImplemented;
|
||
int nParentsNum;
|
||
MV_XML_NODE_FEATURE stParentsList[MV_MAX_XML_PARENTS_NUM];
|
||
|
||
enum MV_XML_Visibility enVisivility; ///< \~chinese 是否可见\~english Visible
|
||
int64_t nValue; ///< \~chinese 当前值\~english Current Value
|
||
enum MV_XML_AccessMode enAccessMode; ///< \~chinese 访问模式\~english Access Mode
|
||
int bIsLocked; ///< \~chinese 是否锁定。0-否;1-是 目前暂不支持\~english Locked. 0-NO; 1-YES, NOT SUPPORT NOW
|
||
int nReserved[8];
|
||
|
||
}MV_XML_FEATURE_EnumEntry;
|
||
|
||
|
||
typedef struct _MV_XML_FEATURE_Enumeration_
|
||
{
|
||
enum MV_XML_Visibility enVisivility; ///< \~chinese 是否可见\~english Visible
|
||
char strDescription[MV_MAX_XML_DISC_STRLEN_C]; ///< \~chinese 节点描述 目前暂不支持\~english Node Description, NOT SUPPORT NOW
|
||
char strDisplayName[MV_MAX_XML_NODE_STRLEN_C]; ///< \~chinese 显示名称\~english Display Name
|
||
char strName[MV_MAX_XML_NODE_STRLEN_C]; ///< \~chinese 节点名\~english Node Name
|
||
char strToolTip[MV_MAX_XML_DISC_STRLEN_C]; ///< \~chinese 提示\~english Notice
|
||
|
||
int nSymbolicNum; ///< \~chinese Symbolic数\~english Symbolic Number
|
||
char strCurrentSymbolic[MV_MAX_XML_SYMBOLIC_STRLEN_C]; ///< \~chinese 当前Symbolic索引\~english Current Symbolic Index
|
||
char strSymbolic[MV_MAX_XML_SYMBOLIC_NUM][MV_MAX_XML_SYMBOLIC_STRLEN_C];
|
||
enum MV_XML_AccessMode enAccessMode; ///< \~chinese 访问模式\~english Access Mode
|
||
int bIsLocked; ///< \~chinese 是否锁定。0-否;1-是 目前暂不支持\~english Locked. 0-NO; 1-YES, NOT SUPPORT NOW
|
||
int64_t nValue; ///< \~chinese 当前值\~english Current Value
|
||
|
||
unsigned int nReserved[4];
|
||
}MV_XML_FEATURE_Enumeration;
|
||
|
||
|
||
typedef struct _MV_XML_FEATURE_Port_
|
||
{
|
||
enum MV_XML_Visibility enVisivility; ///< \~chinese 是否可见\~english Visible
|
||
char strDescription[MV_MAX_XML_DISC_STRLEN_C]; ///< \~chinese 节点描述 目前暂不支持\~english Node Description, NOT SUPPORT NOW
|
||
char strDisplayName[MV_MAX_XML_NODE_STRLEN_C]; ///< \~chinese 显示名称\~english Display Name
|
||
char strName[MV_MAX_XML_NODE_STRLEN_C]; ///< \~chinese 节点名\~english Node Name
|
||
char strToolTip[MV_MAX_XML_DISC_STRLEN_C]; ///< \~chinese 提示\~english Notice
|
||
|
||
enum MV_XML_AccessMode enAccessMode; ///< \~chinese 访问模式\~english Access Mode
|
||
int bIsLocked; ///< \~chinese 是否锁定。0-否;1-是 目前暂不支持\~english Locked. 0-NO; 1-YES, NOT SUPPORT NOW
|
||
|
||
unsigned int nReserved[4];
|
||
}MV_XML_FEATURE_Port;
|
||
|
||
typedef struct _MV_XML_CAMERA_FEATURE_
|
||
{
|
||
enum MV_XML_InterfaceType enType;
|
||
union
|
||
{
|
||
MV_XML_FEATURE_Integer stIntegerFeature;
|
||
MV_XML_FEATURE_Float stFloatFeature;
|
||
MV_XML_FEATURE_Enumeration stEnumerationFeature;
|
||
MV_XML_FEATURE_String stStringFeature;
|
||
}SpecialFeature;
|
||
|
||
}MV_XML_CAMERA_FEATURE;
|
||
|
||
typedef struct _MVCC_ENUMVALUE_T
|
||
{
|
||
unsigned int nCurValue; ///< \~chinese 当前值\~english Current Value
|
||
unsigned int nSupportedNum; ///< \~chinese 数据的有效数据个数\~english Number of valid data
|
||
unsigned int nSupportValue[MV_MAX_XML_SYMBOLIC_NUM];
|
||
|
||
unsigned int nReserved[4];
|
||
}MVCC_ENUMVALUE;
|
||
|
||
typedef struct _MVCC_INTVALUE_T
|
||
{
|
||
unsigned int nCurValue; ///< \~chinese 当前值\~english Current Value
|
||
unsigned int nMax;
|
||
unsigned int nMin;
|
||
unsigned int nInc;
|
||
|
||
unsigned int nReserved[4];
|
||
}MVCC_INTVALUE;
|
||
|
||
typedef struct _MVCC_INTVALUE_EX_T
|
||
{
|
||
int64_t nCurValue; ///< \~chinese 当前值\~english Current Value
|
||
int64_t nMax;
|
||
int64_t nMin;
|
||
int64_t nInc;
|
||
|
||
unsigned int nReserved[16];
|
||
}MVCC_INTVALUE_EX;
|
||
|
||
typedef struct _MVCC_FLOATVALUE_T
|
||
{
|
||
float fCurValue; ///< \~chinese 当前值\~english Current Value
|
||
float fMax;
|
||
float fMin;
|
||
|
||
unsigned int nReserved[4];
|
||
}MVCC_FLOATVALUE;
|
||
|
||
typedef struct _MVCC_STRINGVALUE_T
|
||
{
|
||
char chCurValue[256]; ///< \~chinese 当前值\~english Current Value
|
||
|
||
int64_t nMaxLength;
|
||
unsigned int nReserved[2];
|
||
}MVCC_STRINGVALUE;
|
||
|
||
#endif /* _MV_CAMERA_PARAMS_H_ */
|