You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Cigarette/CigaretteSingle/MVS3.2.1/Include/CameraParams.h

918 lines
64 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 <20><EFBFBD><E8B1B8><EFBFBD>Ͷ<EFBFBD><CDB6><EFBFBD> \~english Device Type Definition
#define MV_UNKNOW_DEVICE 0x00000000 ///< \~chinese δ֪<CEB4><EFBFBD><E8B1B8><EFBFBD>ͣ<EFBFBD><CDA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> \~english Unknown Device Type, Reserved
#define MV_GIGE_DEVICE 0x00000001 ///< \~chinese GigE<67>豸 \~english GigE Device
#define MV_1394_DEVICE 0x00000002 ///< \~chinese 1394-a/b <20>豸 \~english 1394-a/b Device
#define MV_USB_DEVICE 0x00000004 ///< \~chinese USB <20>豸 \~english USB Device
#define MV_CAMERALINK_DEVICE 0x00000008 ///< \~chinese CameraLink<6E>豸 \~english CameraLink Device
/// \~chinese GigE<67><EFBFBD><E8B1B8>Ϣ \~english GigE device info
typedef struct _MV_GIGE_DEVICE_INFO_
{
unsigned int nIpCfgOption; ///< [OUT] \~chinese IP<49><50><EFBFBD><EFBFBD>ѡ<EFBFBD><D1A1> \~english IP Configuration Options
unsigned int nIpCfgCurrent; ///< [OUT] \~chinese <20><>ǰIP<49><50><EFBFBD><EFBFBD> \~english IP Configuration:bit31-static bit30-dhcp bit29-lla
unsigned int nCurrentIp; ///< [OUT] \~chinese <20><>ǰIP<49><50>ַ \~english Current Ip
unsigned int nCurrentSubNetMask; ///< [OUT] \~chinese <20><>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> \~english Curtent Subnet Mask
unsigned int nDefultGateWay; ///< [OUT] \~chinese <20><>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD> \~english Current Gateway
unsigned char chManufacturerName[32]; ///< [OUT] \~chinese <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> \~english Manufacturer Name
unsigned char chModelName[32]; ///< [OUT] \~chinese <20>ͺ<EFBFBD><CDBA><EFBFBD><EFBFBD><EFBFBD> \~english Model Name
unsigned char chDeviceVersion[32]; ///< [OUT] \~chinese <20><EFBFBD>汾 \~english Device Version
unsigned char chManufacturerSpecificInfo[48];///< [OUT] \~chinese <20><><EFBFBD><EFBFBD><EFBFBD>̵ľ<CCB5><C4BE><EFBFBD><EFBFBD><EFBFBD>Ϣ \~english Manufacturer Specific Information
unsigned char chSerialNumber[16]; ///< [OUT] \~chinese <20><><EFBFBD>к<EFBFBD> \~english Serial Number
unsigned char chUserDefinedName[16]; ///< [OUT] \~chinese <20>û<EFBFBD><C3BB>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> \~english User Defined Name
unsigned int nNetExport; ///< [OUT] \~chinese <20><><EFBFBD><EFBFBD>IP<49><50>ַ \~english NetWork IP Address
unsigned int nReserved[4]; ///< \~chinese Ԥ<><D4A4> \~english Reserved
}MV_GIGE_DEVICE_INFO;
#define INFO_MAX_BUFFER_SIZE 64 ///< \~chinese <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2>С \~english Maximum data information size
/// \~chinese USB<53><EFBFBD><E8B1B8>Ϣ \~english USB device info
typedef struct _MV_USB3_DEVICE_INFO_
{
unsigned char CrtlInEndPoint; ///< [OUT] \~chinese <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˵<EFBFBD> \~english Control input endpoint
unsigned char CrtlOutEndPoint; ///< [OUT] \~chinese <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˵<EFBFBD> \~english Control output endpoint
unsigned char StreamEndPoint; ///< [OUT] \~chinese <20><><EFBFBD>˵<EFBFBD> \~english Flow endpoint
unsigned char EventEndPoint; ///< [OUT] \~chinese <20>¼<EFBFBD><C2BC>˵<EFBFBD> \~english Event endpoint
unsigned short idVendor; ///< [OUT] \~chinese <20><>Ӧ<EFBFBD><D3A6>ID<49><44> \~english Vendor ID Number
unsigned short idProduct; ///< [OUT] \~chinese <20><>ƷID<49><44> \~english Device ID Number
unsigned int nDeviceNumber; ///< [OUT] \~chinese <20><EFBFBD><E8B1B8><EFBFBD>к<EFBFBD> \~english Device Serial Number
unsigned char chDeviceGUID[INFO_MAX_BUFFER_SIZE]; ///< [OUT] \~chinese <20>豸GUID<49><44> \~english Device GUID Number
unsigned char chVendorName[INFO_MAX_BUFFER_SIZE]; ///< [OUT] \~chinese <20><>Ӧ<EFBFBD><D3A6><EFBFBD><EFBFBD><EFBFBD><EFBFBD> \~english Vendor Name
unsigned char chModelName[INFO_MAX_BUFFER_SIZE]; ///< [OUT] \~chinese <20>ͺ<EFBFBD><CDBA><EFBFBD><EFBFBD><EFBFBD> \~english Model Name
unsigned char chFamilyName[INFO_MAX_BUFFER_SIZE]; ///< [OUT] \~chinese <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> \~english Family Name
unsigned char chDeviceVersion[INFO_MAX_BUFFER_SIZE]; ///< [OUT] \~chinese <20><EFBFBD>汾 \~english Device Version
unsigned char chManufacturerName[INFO_MAX_BUFFER_SIZE]; ///< [OUT] \~chinese <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> \~english Manufacturer Name
unsigned char chSerialNumber[INFO_MAX_BUFFER_SIZE]; ///< [OUT] \~chinese <20><><EFBFBD>к<EFBFBD> \~english Serial Number
unsigned char chUserDefinedName[INFO_MAX_BUFFER_SIZE]; ///< [OUT] \~chinese <20>û<EFBFBD><C3BB>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> \~english User Defined Name
unsigned int nbcdUSB; ///< [OUT] \~chinese ֧<>ֵ<EFBFBD>USBЭ<42><D0AD> \~english Support USB Protocol
unsigned int nDeviceAddress; ///< [OUT] \~chinese <20><EFBFBD><E8B1B8>ַ \~english Device Address
unsigned int nReserved[2]; ///< \~chinese Ԥ<><D4A4> \~english Reserved
}MV_USB3_DEVICE_INFO;
/// \~chinese CameraLink<6E><EFBFBD><E8B1B8>Ϣ \~english CameraLink device info
typedef struct _MV_CamL_DEV_INFO_
{
unsigned char chPortID[INFO_MAX_BUFFER_SIZE]; ///< [OUT] \~chinese <20>˿ں<CBBF> \~english Port ID
unsigned char chModelName[INFO_MAX_BUFFER_SIZE]; ///< [OUT] \~chinese <20>ͺ<EFBFBD><CDBA><EFBFBD><EFBFBD><EFBFBD> \~english Model Name
unsigned char chFamilyName[INFO_MAX_BUFFER_SIZE]; ///< [OUT] \~chinese <20><><EFBFBD><EFBFBD> \~english Family Name
unsigned char chDeviceVersion[INFO_MAX_BUFFER_SIZE]; ///< [OUT] \~chinese <20><EFBFBD>汾 \~english Device Version
unsigned char chManufacturerName[INFO_MAX_BUFFER_SIZE]; ///< [OUT] \~chinese <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> \~english Manufacturer Name
unsigned char chSerialNumber[INFO_MAX_BUFFER_SIZE]; ///< [OUT] \~chinese <20><><EFBFBD>к<EFBFBD> \~english Serial Number
unsigned int nReserved[38]; ///< \~chinese Ԥ<><D4A4> \~english Reserved
}MV_CamL_DEV_INFO;
/// \~chinese <20><EFBFBD><E8B1B8>Ϣ \~english Device info
typedef struct _MV_CC_DEVICE_INFO_
{
unsigned short nMajorVer; ///< [OUT] \~chinese <20><>Ҫ<EFBFBD>汾 \~english Major Version
unsigned short nMinorVer; ///< [OUT] \~chinese <20><>Ҫ<EFBFBD>汾 \~english Minor Version
unsigned int nMacAddrHigh; ///< [OUT] \~chinese <20><>MAC<41><43>ַ \~english High MAC Address
unsigned int nMacAddrLow; ///< [OUT] \~chinese <20><>MAC<41><43>ַ \~english Low MAC Address
unsigned int nTLayerType; ///< [OUT] \~chinese <20><EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Э<EFBFBD><D0AD><EFBFBD><EFBFBD><EFBFBD>ͣ<EFBFBD>e.g. MV_GIGE_DEVICE \~english Device Transport Layer Protocol Type, e.g. MV_GIGE_DEVICE
unsigned int nReserved[4]; ///< \~chinese Ԥ<><D4A4> \~english Reserved
union
{
MV_GIGE_DEVICE_INFO stGigEInfo; ///< [OUT] \~chinese GigE<67><EFBFBD><E8B1B8>Ϣ \~english GigE Device Info
MV_USB3_DEVICE_INFO stUsb3VInfo; ///< [OUT] \~chinese USB<53><EFBFBD><E8B1B8>Ϣ \~english USB Device Info
MV_CamL_DEV_INFO stCamLInfo; ///< [OUT] \~chinese CameraLink<6E><EFBFBD><E8B1B8>Ϣ \~english CameraLink Device Info
// more ...
}SpecialInfo;
}MV_CC_DEVICE_INFO;
#define MV_MAX_TLS_NUM 8 ///< \~chinese <20><><EFBFBD><EFBFBD>֧<EFBFBD>ֵĴ<D6B5><C4B4><EFBFBD><EFBFBD><EFBFBD>ʵ<EFBFBD><CAB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD> \~english The maximum number of supported transport layer instances
#define MV_MAX_DEVICE_NUM 256 ///< \~chinese <20><><EFBFBD><EFBFBD>֧<EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD><E8B1B8><EFBFBD><EFBFBD> \~english The maximum number of supported devices
/// \~chinese <20><EFBFBD><E8B1B8>Ϣ<EFBFBD>б<EFBFBD> \~english Device Information List
typedef struct _MV_CC_DEVICE_INFO_LIST_
{
unsigned int nDeviceNum; ///< [OUT] \~chinese <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E8B1B8><EFBFBD><EFBFBD> \~english Online Device Number
MV_CC_DEVICE_INFO* pDeviceInfo[MV_MAX_DEVICE_NUM]; ///< [OUT] \~chinese ֧<><D6A7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>256<35><36><EFBFBD>豸 \~english Support up to 256 devices
}MV_CC_DEVICE_INFO_LIST;
/// \~chinese ͨ<><CDA8>GenTLö<4C>ٵ<EFBFBD><D9B5><EFBFBD>Interface<63><65>Ϣ \~english Interface Information with GenTL
typedef struct _MV_GENTL_IF_INFO_
{
unsigned char chInterfaceID[INFO_MAX_BUFFER_SIZE]; ///< [OUT] \~chinese GenTL<54>ӿ<EFBFBD>ID \~english Interface ID
unsigned char chTLType[INFO_MAX_BUFFER_SIZE]; ///< [OUT] \~chinese <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> \~english GenTL Type
unsigned char chDisplayName[INFO_MAX_BUFFER_SIZE]; ///< [OUT] \~chinese Interface<63><65>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD> \~english Display Name
unsigned int nCtiIndex; ///< [OUT] \~chinese GenTL<54><4C>cti<74>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD> \~english The Index of Cti Files
unsigned int nReserved[8]; ///< \~chinese Ԥ<><D4A4> \~english Reserved
}MV_GENTL_IF_INFO;
#define MV_MAX_GENTL_IF_NUM 256 ///< \~chinese <20><><EFBFBD><EFBFBD>֧<EFBFBD>ֵ<EFBFBD>GenTL<54>ӿ<EFBFBD><D3BF><EFBFBD><EFBFBD><EFBFBD> \~english The maximum number of GenTL interface supported
/// \~chinese ͨ<><CDA8>GenTLö<4C>ٵ<EFBFBD><D9B5>Ľӿ<C4BD><D3BF><EFBFBD>Ϣ<EFBFBD>б<EFBFBD> \~english Inferface Information List with GenTL
typedef struct _MV_GENTL_IF_INFO_LIST_
{
unsigned int nInterfaceNum; ///< [OUT] \~chinese <20><><EFBFBD>߽ӿ<DFBD><D3BF><EFBFBD><EFBFBD><EFBFBD> \~english Online Inferface Number
MV_GENTL_IF_INFO* pIFInfo[MV_MAX_GENTL_IF_NUM]; ///< [OUT] \~chinese ֧<><D6A7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>256<35><36><EFBFBD>ӿ<EFBFBD> \~english Support up to 256 inferfaces
}MV_GENTL_IF_INFO_LIST;
/// \~chinese ͨ<><CDA8>GenTLö<4C>ٵ<EFBFBD><D9B5><EFBFBD><EFBFBD><EFBFBD><E8B1B8>Ϣ \~english Device Information with GenTL
typedef struct _MV_GENTL_DEV_INFO_
{
unsigned char chInterfaceID[INFO_MAX_BUFFER_SIZE]; ///< [OUT] \~chinese GenTL<54>ӿ<EFBFBD>ID \~english Interface ID
unsigned char chDeviceID[INFO_MAX_BUFFER_SIZE]; ///< [OUT] \~chinese <20>豸ID \~english Device ID
unsigned char chVendorName[INFO_MAX_BUFFER_SIZE]; ///< [OUT] \~chinese <20><>Ӧ<EFBFBD><D3A6><EFBFBD><EFBFBD><EFBFBD><EFBFBD> \~english Vendor Name
unsigned char chModelName[INFO_MAX_BUFFER_SIZE]; ///< [OUT] \~chinese <20>ͺ<EFBFBD><CDBA><EFBFBD><EFBFBD><EFBFBD> \~english Model Name
unsigned char chTLType[INFO_MAX_BUFFER_SIZE]; ///< [OUT] \~chinese <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> \~english GenTL Type
unsigned char chDisplayName[INFO_MAX_BUFFER_SIZE]; ///< [OUT] \~chinese <20><EFBFBD><E8B1B8>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD> \~english Display Name
unsigned char chUserDefinedName[INFO_MAX_BUFFER_SIZE];///< [OUT] \~chinese <20>û<EFBFBD><C3BB>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> \~english User Defined Name
unsigned char chSerialNumber[INFO_MAX_BUFFER_SIZE]; ///< [OUT] \~chinese <20><><EFBFBD>к<EFBFBD> \~english Serial Number
unsigned char chDeviceVersion[INFO_MAX_BUFFER_SIZE]; ///< [OUT] \~chinese <20><EFBFBD><EFBFBD><E6B1BE> \~english Device Version
unsigned int nCtiIndex; ///< [OUT] \~chinese GenTL<54><4C>cti<74>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD> \~english The Index of Cti Files
unsigned int nReserved[8]; ///< \~chinese Ԥ<><D4A4> \~english Reserved
}MV_GENTL_DEV_INFO;
#define MV_MAX_GENTL_DEV_NUM 256 ///< \~chinese <20><><EFBFBD><EFBFBD>֧<EFBFBD>ֵ<EFBFBD>GenTL<54><EFBFBD><E8B1B8><EFBFBD><EFBFBD> \~english The maximum number of GenTL devices supported
/// \~chinese ͨ<><CDA8>GenTLö<4C>ٵ<EFBFBD><D9B5><EFBFBD><EFBFBD><EFBFBD><E8B1B8>Ϣ<EFBFBD>б<EFBFBD> \~english Device Information List with GenTL
typedef struct _MV_GENTL_DEV_INFO_LIST_
{
unsigned int nDeviceNum; ///< [OUT] \~chinese <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E8B1B8><EFBFBD><EFBFBD> \~english Online Device Number
MV_GENTL_DEV_INFO* pDeviceInfo[MV_MAX_GENTL_DEV_NUM]; ///< [OUT] \~chinese ֧<><D6A7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>256<35><36><EFBFBD>豸 \~english Support up to 256 devices
}MV_GENTL_DEV_INFO_LIST;
/// \~chinese <20><EFBFBD>ķ<EFBFBD><C4B7><EFBFBD>ģʽ \~english Device Access Mode
/// \~chinese <20><>ռȨ<D5BC>ޣ<EFBFBD><DEA3><EFBFBD><EFBFBD><EFBFBD>APPֻ<50><D6BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>CCP<43>Ĵ<EFBFBD><C4B4><EFBFBD> \~english Exclusive authority, other APP is only allowed to read the CCP register
#define MV_ACCESS_Exclusive 1
/// \~chinese <20><><EFBFBD>Դ<EFBFBD>ʽ<C4A3><CABD><EFBFBD><EFBFBD>ռȨ<D5BC>ޣ<EFBFBD>Ȼ<EFBFBD><C8BB><EFBFBD>Զ<EFBFBD>ռȨ<D5BC>޴<EFBFBD><DEB4><EFBFBD> \~english You can seize the authority from the 5 mode, and then open with exclusive authority
#define MV_ACCESS_ExclusiveWithSwitch 2
/// \~chinese <20><><EFBFBD><EFBFBD>Ȩ<EFBFBD>ޣ<EFBFBD><DEA3><EFBFBD><EFBFBD><EFBFBD>APP<50><50><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>мĴ<D0BC><C4B4><EFBFBD> \~english Control authority, allows other APP reading all registers
#define MV_ACCESS_Control 3
/// \~chinese <20><><EFBFBD>Դ<EFBFBD>5<EFBFBD><35>ģʽ<C4A3><CABD><EFBFBD><EFBFBD>ռȨ<D5BC>ޣ<EFBFBD>Ȼ<EFBFBD><C8BB><EFBFBD>Կ<EFBFBD><D4BF><EFBFBD>Ȩ<EFBFBD>޴<EFBFBD><DEB4><EFBFBD> \~english You can seize the authority from the 5 mode, and then open with control authority
#define MV_ACCESS_ControlWithSwitch 4
/// \~chinese <20>Կɱ<D4BF><C9B1><EFBFBD>ռ<EFBFBD>Ŀ<EFBFBD><C4BF><EFBFBD>Ȩ<EFBFBD>޴<EFBFBD><DEB4><EFBFBD> \~english Open with seized control authority
#define MV_ACCESS_ControlSwitchEnable 5
/// \~chinese <20><><EFBFBD>Դ<EFBFBD>5<EFBFBD><35>ģʽ<C4A3><CABD><EFBFBD><EFBFBD>ռȨ<D5BC>ޣ<EFBFBD>Ȼ<EFBFBD><C8BB><EFBFBD>Կɱ<D4BF><C9B1><EFBFBD>ռ<EFBFBD>Ŀ<EFBFBD><C4BF><EFBFBD>Ȩ<EFBFBD>޴<EFBFBD><DEB4><EFBFBD> \~english You can seize the authority from the 5 mode, and then open with seized control authority
#define MV_ACCESS_ControlSwitchEnableWithKey 6
/// \~chinese <20><>ģʽ<C4A3><CABD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڿ<EFBFBD><DABF><EFBFBD>Ȩ<EFBFBD><C8A8><EFBFBD><EFBFBD> \~english Open with read mode and is available under control authority
#define MV_ACCESS_Monitor 7
/// \~chinese Chunk<6E><6B><EFBFBD><EFBFBD> \~english The content of ChunkData
typedef struct _MV_CHUNK_DATA_CONTENT_
{
unsigned char* pChunkData; ///< [OUT] \~chinese Chunk<6E><6B><EFBFBD><EFBFBD> \~english Chunk Data
unsigned int nChunkID; ///< [OUT] \~chinese Chunk ID \~english Chunk ID
unsigned int nChunkLen; ///< [OUT] \~chinese Chunk<6E>ij<EFBFBD><C4B3><EFBFBD> \~english Chunk Length
unsigned int nReserved[8]; ///< \~chinese Ԥ<><D4A4> \~english Reserved
}MV_CHUNK_DATA_CONTENT;
/// \~chinese <20><><EFBFBD><EFBFBD>֡<EFBFBD><D6A1><EFBFBD><EFBFBD>Ϣ \~english Output Frame Information
typedef struct _MV_FRAME_OUT_INFO_EX_
{
unsigned short nWidth; ///< [OUT] \~chinese ͼ<><CDBC><EFBFBD><EFBFBD> \~english Image Width
unsigned short nHeight; ///< [OUT] \~chinese ͼ<><CDBC><EFBFBD><EFBFBD> \~english Image Height
enum MvGvspPixelType enPixelType; ///< [OUT] \~chinese <20><><EFBFBD>ظ<EFBFBD>ʽ \~english Pixel Type
unsigned int nFrameNum; ///< [OUT] \~chinese ֡<><D6A1> \~english Frame Number
unsigned int nDevTimeStampHigh; ///< [OUT] \~chinese ʱ<><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>32λ \~english Timestamp high 32 bits
unsigned int nDevTimeStampLow; ///< [OUT] \~chinese ʱ<><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>32λ \~english Timestamp low 32 bits
unsigned int nReserved0; ///< [OUT] \~chinese <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>8<EFBFBD>ֽڶ<D6BD><DAB6><EFBFBD> \~english Reserved, 8-byte aligned
int64_t nHostTimeStamp; ///< [OUT] \~chinese <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɵ<EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD> \~english Host-generated timestamp
unsigned int nFrameLen; ///< [OUT] \~chinese ֡<>ij<EFBFBD><C4B3><EFBFBD> \~english The Length of Frame
/// \~chinese <20>豸ˮӡʱ<D3A1><CAB1> \~english Device frame-specific time scale
unsigned int nSecondCount; ///< [OUT] \~chinese <20><><EFBFBD><EFBFBD> \~english The Seconds
unsigned int nCycleCount; ///< [OUT] \~chinese <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> \~english The Count of Cycle
unsigned int nCycleOffset; ///< [OUT] \~chinese <20><><EFBFBD><EFBFBD>ƫ<EFBFBD><C6AB><EFBFBD><EFBFBD> \~english The Offset of Cycle
float fGain; ///< [OUT] \~chinese <20><><EFBFBD><EFBFBD> \~english Gain
float fExposureTime; ///< [OUT] \~chinese <20>ع<EFBFBD>ʱ<EFBFBD><CAB1> \~english Exposure Time
unsigned int nAverageBrightness; ///< [OUT] \~chinese ƽ<><C6BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> \~english Average brightness
/// \~chinese <20><>ƽ<EFBFBD><C6BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> \~english White balance
unsigned int nRed; ///< [OUT] \~chinese <20><>ɫ \~english Red
unsigned int nGreen; ///< [OUT] \~chinese <20><>ɫ \~english Green
unsigned int nBlue; ///< [OUT] \~chinese <20><>ɫ \~english Blue
unsigned int nFrameCounter; ///< [OUT] \~chinese <20><>֡<EFBFBD><D6A1> \~english Frame Counter
unsigned int nTriggerIndex; ///< [OUT] \~chinese <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> \~english Trigger Counting
unsigned int nInput; ///< [OUT] \~chinese <20><><EFBFBD><EFBFBD> \~english Input
unsigned int nOutput; ///< [OUT] \~chinese <20><><EFBFBD><EFBFBD> \~english Output
/// \~chinese ROI<4F><49><EFBFBD><EFBFBD> \~english ROI Region
unsigned short nOffsetX; ///< [OUT] \~chinese ˮƽƫ<C6BD><C6AB><EFBFBD><EFBFBD> \~english OffsetX
unsigned short nOffsetY; ///< [OUT] \~chinese <20><>ֱƫ<D6B1><C6AB><EFBFBD><EFBFBD> \~english OffsetY
unsigned short nChunkWidth; ///< [OUT] \~chinese Chunk<6E><6B> \~english The Width of Chunk
unsigned short nChunkHeight; ///< [OUT] \~chinese Chunk<6E><6B> \~english The Height of Chunk
unsigned int nLostPacket; ///< [OUT] \~chinese <20><>֡<EFBFBD><D6A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD> \~english Lost Packet Number In This Frame
unsigned int nUnparsedChunkNum; ///< [OUT] \~chinese δ<><CEB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Chunkdata<74><61><EFBFBD><EFBFBD> \~english Unparsed Chunk Number
union
{
MV_CHUNK_DATA_CONTENT* pUnparsedChunkContent;///< [OUT] \~chinese δ<><CEB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Chunk \~english Unparsed Chunk Content
int64_t nAligning; ///< [OUT] \~chinese У׼ \~english Aligning
}UnparsedChunkList;
unsigned int nReserved[36]; ///< \~chinese Ԥ<><D4A4> \~english Reserved
}MV_FRAME_OUT_INFO_EX;
/// \~chinese ͼ<><CDBC><EFBFBD><EFBFBD><EFBFBD><E5A3AC><EFBFBD><EFBFBD>ͼ<EFBFBD><CDBC>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD>ַ<EFBFBD><D6B7>ͼ<EFBFBD><CDBC><EFBFBD><EFBFBD>Ϣ \~english Image Struct, output the pointer of Image and the information of the specific image
typedef struct _MV_FRAME_OUT_
{
unsigned char* pBufAddr; ///< [OUT] \~chinese ͼ<><CDBC>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD>ַ \~english pointer of image
MV_FRAME_OUT_INFO_EX stFrameInfo; ///< [OUT] \~chinese ͼ<><CDBC><EFBFBD><EFBFBD>Ϣ \~english information of the specific image
unsigned int nRes[16]; ///< \~chinese Ԥ<><D4A4> \~english Reserved
}MV_FRAME_OUT;
/// \~chinese ȡ<><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD> \~english The strategy of Grabbing
typedef enum _MV_GRAB_STRATEGY_
{
MV_GrabStrategy_OneByOne = 0, ///< \~chinese <20>Ӿɵ<D3BE><C9B5><EFBFBD>һ֡һ֡<D2BB>Ļ<EFBFBD>ȡͼ<C8A1><CDBC><EFBFBD><EFBFBD>Ĭ<EFBFBD><C4AC>Ϊ<EFBFBD>ò<EFBFBD><C3B2>ԣ<EFBFBD> \~english Grab One By One
MV_GrabStrategy_LatestImagesOnly = 1, ///< \~chinese <20><>ȡ<EFBFBD>б<EFBFBD><D0B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>µ<EFBFBD>һ֡ͼ<D6A1><CDBC><EFBFBD><EFBFBD>ͬʱ<CDAC><CAB1><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD><D0B1>е<EFBFBD><D0B5><EFBFBD><EFBFBD><EFBFBD>ͼ<EFBFBD><CDBC><EFBFBD><EFBFBD> \~english Grab The Latest Image
MV_GrabStrategy_LatestImages = 2, ///< \~chinese <20><>ȡ<EFBFBD>б<EFBFBD><D0B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>µ<EFBFBD>ͼ<EFBFBD>񣬸<EFBFBD><F1A3ACB8><EFBFBD><EFBFBD><EFBFBD>OutputQueueSize<7A><65><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ΧΪ1-ImageNodeNum<75><6D><EFBFBD><EFBFBD><EFBFBD>ó<EFBFBD>1<EFBFBD><31>ͬ<EFBFBD><CDAC>LatestImagesOnly,<2C><><EFBFBD>ó<EFBFBD>ImageNodeNum<75><6D>ͬ<EFBFBD><CDAC>OneByOne \~english Grab The Latest Images
MV_GrabStrategy_UpcomingImage = 3, ///< \~chinese <20>ȴ<EFBFBD><C8B4><EFBFBD>һ֡ͼ<D6A1><CDBC> \~english Grab The Upcoming Image
}MV_GRAB_STRATEGY;
/// \~chinese <20><><EFBFBD><EFBFBD><E7B4AB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ \~english Network transmission information
typedef struct _MV_NETTRANS_INFO_
{
int64_t nReceiveDataSize; ///< [OUT] \~chinese <20>ѽ<EFBFBD><D1BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݴ<EFBFBD>С<><CDB3>StartGrabbing<6E><67>StopGrabbing֮<67><D6AE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>] \~english Received Data Size [Calculate the Data Size between StartGrabbing and StopGrabbing]
int nThrowFrameCount; ///< [OUT] \~chinese <20><>֡<EFBFBD><D6A1><EFBFBD><EFBFBD> \~english Throw frame number
unsigned int nNetRecvFrameCount; ///< [OUT] \~chinese <20>ѽ<EFBFBD><D1BD>յ<EFBFBD>֡<EFBFBD><D6A1> \~english Received Frame Count
int64_t nRequestResendPacketCount; ///< [OUT] \~chinese <20><><EFBFBD><EFBFBD><EFBFBD>ط<EFBFBD><D8B7><EFBFBD><EFBFBD><EFBFBD> \~english Request Resend Packet Count
int64_t nResendPacketCount; ///< [OUT] \~chinese <20>ط<EFBFBD><D8B7><EFBFBD><EFBFBD><EFBFBD> \~english Resend Packet Count
}MV_NETTRANS_INFO;
/// \~chinese <20><>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD> \~english Information Type
#define MV_MATCH_TYPE_NET_DETECT 0x00000001 ///< \~chinese <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ͷ<EFBFBD><CDB6><EFBFBD><EFBFBD><EFBFBD>Ϣ \~english Network traffic and packet loss information
#define MV_MATCH_TYPE_USB_DETECT 0x00000002 ///< \~chinese host<73><74><EFBFBD>յ<EFBFBD><D5B5><EFBFBD><EFBFBD><EFBFBD>U3V<33><EFBFBD><E8B1B8><EFBFBD>ֽ<EFBFBD><D6BD><EFBFBD><EFBFBD><EFBFBD> \~english The total number of bytes host received from U3V device
/// \~chinese ȫƥ<C8AB><C6A5><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD>Ϣ<EFBFBD><EFBFBD><E1B9B9> \~english A fully matched information structure
typedef struct _MV_ALL_MATCH_INFO_
{
unsigned int nType; ///< [IN] \~chinese <20><>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD>ͣ<EFBFBD>e.g. MV_MATCH_TYPE_NET_DETECT \~english Information type need to output ,e.g. MV_MATCH_TYPE_NET_DETECT
void* pInfo; ///< [OUT] \~chinese <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD>ɵ<EFBFBD><C9B5><EFBFBD><EFBFBD>߷<EFBFBD><DFB7><EFBFBD> \~english Output information cache, which is allocated by the caller
unsigned int nInfoSize; ///< [IN] \~chinese <20><>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD><EFBFBD>Ĵ<EFBFBD>С \ ~english Information cache size
}MV_ALL_MATCH_INFO;
/// \~chinese <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ͷ<EFBFBD><CDB6><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E5A3AC>Ӧ<EFBFBD><D3A6><EFBFBD><EFBFBD>Ϊ MV_MATCH_TYPE_NET_DETECT \~english 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 nReceiveDataSize; ///< [OUT] \~chinese <20>ѽ<EFBFBD><D1BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݴ<EFBFBD>С<><CDB3>StartGrabbing<6E><67>StopGrabbing֮<67><D6AE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>] \~english Received data size
int64_t nLostPacketCount; ///< [OUT] \~chinese <20><>ʧ<EFBFBD>İ<EFBFBD><C4B0><EFBFBD><EFBFBD><EFBFBD> \~english Number of packets lost
unsigned int nLostFrameCount; ///< [OUT] \~chinese <20><>֡<EFBFBD><D6A1><EFBFBD><EFBFBD> \~english Number of frames lost
unsigned int nNetRecvFrameCount; ///< [OUT] \~chinese <20><><EFBFBD><EFBFBD> \~english Received Frame Count
int64_t nRequestResendPacketCount; ///< [OUT] \~chinese <20><><EFBFBD><EFBFBD><EFBFBD>ط<EFBFBD><D8B7><EFBFBD><EFBFBD><EFBFBD> \~english Request Resend Packet Count
int64_t nResendPacketCount; ///< [OUT] \~chinese <20>ط<EFBFBD><D8B7><EFBFBD><EFBFBD><EFBFBD> \~english Resend Packet Count
}MV_MATCH_INFO_NET_DETECT;
/// \~chinese host<73>յ<EFBFBD><D5B5><EFBFBD>u3v<33><EFBFBD>˵<EFBFBD><CBB5><EFBFBD><EFBFBD>ֽ<EFBFBD><D6BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD><D3A6><EFBFBD><EFBFBD>Ϊ 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 nReceiveDataSize; ///< [OUT] \~chinese <20>ѽ<EFBFBD><D1BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݴ<EFBFBD>С<><CDB3>OpenDevicce<63><65>CloseDevice֮<65><D6AE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>] \~english Received data size
unsigned int nReceivedFrameCount; ///< [OUT] \~chinese <20><><EFBFBD>յ<EFBFBD><D5B5><EFBFBD>֡<EFBFBD><D6A1> \~english Number of frames received
unsigned int nErrorFrameCount; ///< [OUT] \~chinese <20><><EFBFBD><EFBFBD>֡<EFBFBD><D6A1> \~english Number of error frames
unsigned int nReserved[2]; ///< \~chinese <20><><EFBFBD><EFBFBD> \~english Reserved
}MV_MATCH_INFO_USB_DETECT;
/// \~chinese <20><>ʾ֡<CABE><D6A1>Ϣ \~english Display frame information
typedef struct _MV_DISPLAY_FRAME_INFO_
{
void* hWnd; ///< [IN] \~chinese <20><><EFBFBD>ھ<EFBFBD><DABE><EFBFBD> \~english HWND
unsigned char* pData; ///< [IN] \~chinese <20><>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD> \~english Data Buffer
unsigned int nDataLen; ///< [IN] \~chinese <20><><EFBFBD>ݳ<EFBFBD><DDB3><EFBFBD> \~english Data Size
unsigned short nWidth; ///< [IN] \~chinese ͼ<><CDBC><EFBFBD><EFBFBD> \~english Width
unsigned short nHeight; ///< [IN] \~chinese ͼ<><CDBC><EFBFBD><EFBFBD> \~english Height
enum MvGvspPixelType enPixelType; ///< [IN] \~chinese <20><><EFBFBD>ظ<EFBFBD>ʽ \~english Pixel format
unsigned int nRes[4]; ///< \~chinese <20><><EFBFBD><EFBFBD> \~english Reserved
}MV_DISPLAY_FRAME_INFO;
/// \~chinese <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>3D<33><44><EFBFBD>ݸ<EFBFBD>ʽ \~english The saved format for 3D data
enum MV_SAVE_POINT_CLOUD_FILE_TYPE
{
MV_PointCloudFile_Undefined = 0, ///< \~chinese δ<><CEB4><EFBFBD><EFBFBD><EFBFBD>ĵ<EFBFBD><C4B5>Ƹ<EFBFBD>ʽ \~english Undefined point cloud format
MV_PointCloudFile_PLY = 1, ///< \~chinese PLY<4C><59><EFBFBD>Ƹ<EFBFBD>ʽ \~english The point cloud format named PLY
MV_PointCloudFile_CSV = 2, ///< \~chinese CSV<53><56><EFBFBD>Ƹ<EFBFBD>ʽ \~english The point cloud format named CSV
MV_PointCloudFile_OBJ = 3, ///< \~chinese OBJ<42><4A><EFBFBD>Ƹ<EFBFBD>ʽ \~english The point cloud format named OBJ
};
/// \~chinese <20><><EFBFBD><EFBFBD>3D<33><44><EFBFBD>ݵ<EFBFBD><DDB5><EFBFBD><EFBFBD><EFBFBD> \~english Save 3D data to buffer
typedef struct _MV_SAVE_POINT_CLOUD_PARAM_
{
unsigned int nLinePntNum; ///< [IN] \~chineseÿһ<C3BF>е<EFBFBD><D0B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͼ<EFBFBD><CDBC><EFBFBD><EFBFBD> \~english The number of points in each row,which is the width of the image
unsigned int nLineNum; ///< [IN] \~chinese<73><65><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͼ<EFBFBD><CDBC><EFBFBD><EFBFBD> \~english The number of rows,which is the height of the image
MvGvspPixelType enSrcPixelType; ///< [IN] \~chinese<73><65><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݵ<EFBFBD><DDB5><EFBFBD><EFBFBD>ظ<EFBFBD>ʽ \~english The pixel format of the input data
unsigned char* pSrcData; ///< [IN] \~chinese<73><65><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݻ<EFBFBD><DDBB><EFBFBD> \~english Input data buffer
unsigned int nSrcDataLen; ///< [IN] \~chinese<73><65><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݴ<EFBFBD>С \~english Input data size
unsigned char* pDstBuf; ///< [OUT] \~chinese<73><65><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݻ<EFBFBD><DDBB><EFBFBD> \~english Output pixel data buffer
unsigned int nDstBufSize; ///< [IN] \~chinese<73><EFBFBD><E1B9A9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>С(nLinePntNum * nLineNum * (16*3 + 4) + 2048) \~english Output buffer size provided(nLinePntNum * nLineNum * (16*3 + 4) + 2048)
unsigned int nDstBufLen; ///< [OUT] \~chinese<73><65><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݻ<EFBFBD><DDBB><EFBFBD><E6B3A4> \~english Output pixel data buffer size
MV_SAVE_POINT_CLOUD_FILE_TYPE enPointCloudFileType; ///< [IN] \~chinese<73><EFBFBD><E1B9A9><EFBFBD><EFBFBD><EFBFBD>ĵ<EFBFBD><C4B5><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD> \~english Output point data file type provided
unsigned int nReserved[8]; ///< \~chinese <20><><EFBFBD><EFBFBD><EFBFBD>ֶ<EFBFBD> \~english Reserved Field
}MV_SAVE_POINT_CLOUD_PARAM;
/// \~chinese <20><><EFBFBD><EFBFBD>ͼƬ<CDBC><C6AC>ʽ \~english Save image type
enum MV_SAVE_IAMGE_TYPE
{
MV_Image_Undefined = 0, ///< \~chinese δ<><CEB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͼ<EFBFBD><CDBC><EFBFBD><EFBFBD>ʽ \~english Undefined Image Type
MV_Image_Bmp = 1, ///< \~chinese BMPͼ<50><CDBC><EFBFBD><EFBFBD>ʽ \~english BMP Image Type
MV_Image_Jpeg = 2, ///< \~chinese JPEGͼ<47><CDBC><EFBFBD><EFBFBD>ʽ \~english Jpeg Image Type
MV_Image_Png = 3, ///< \~chinese PNGͼ<47><CDBC><EFBFBD><EFBFBD>ʽ \~english Png Image Type
MV_Image_Tif = 4, ///< \~chinese TIFFͼ<46><CDBC><EFBFBD><EFBFBD>ʽ \~english TIFF Image Type
};
/// \~chinese ͼƬ<CDBC><C6AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> \~english Save Image Parameters
typedef struct _MV_SAVE_IMAGE_PARAM_T_EX_
{
unsigned char* pData; ///< [IN] \~chinese <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݻ<EFBFBD><DDBB><EFBFBD> \~english Input Data Buffer
unsigned int nDataLen; ///< [IN] \~chinese <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݴ<EFBFBD>С \~english Input Data Size
enum MvGvspPixelType enPixelType; ///< [IN] \~chinese <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݵ<EFBFBD><DDB5><EFBFBD><EFBFBD>ظ<EFBFBD>ʽ \~english Input Data Pixel Format
unsigned short nWidth; ///< [IN] \~chinese ͼ<><CDBC><EFBFBD><EFBFBD> \~english Image Width
unsigned short nHeight; ///< [IN] \~chinese ͼ<><CDBC><EFBFBD><EFBFBD> \~english Image Height
unsigned char* pImageBuffer; ///< [OUT] \~chinese <20><><EFBFBD><EFBFBD>ͼƬ<CDBC><C6AC><EFBFBD><EFBFBD> \~english Output Image Buffer
unsigned int nImageLen; ///< [OUT] \~chinese <20><><EFBFBD><EFBFBD>ͼƬ<CDBC><C6AC>С \~english Output Image Size
unsigned int nBufferSize; ///< [IN] \~chinese <20><EFBFBD><E1B9A9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>С \~english Output buffer size provided
enum MV_SAVE_IAMGE_TYPE enImageType; ///< [IN] \~chinese <20><><EFBFBD><EFBFBD>ͼƬ<CDBC><C6AC>ʽ \~english Output Image Format
unsigned int nJpgQuality; ///< [IN] \~chinese JPG<50><47><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(50-99]<5D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ<EFBFBD><CABD>Ч \~english Encoding quality(50-99]<5D><>Other formats are invalid
///< [IN] \~chinese Bayer<65>IJ<EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD> 0-<2D><><EFBFBD><EFBFBD> 1-<2D><><EFBFBD><EFBFBD> 2-<2D><><EFBFBD>ţ<EFBFBD><C5A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5>Ĭ<EFBFBD><C4AC>Ϊ<EFBFBD><CEAA><EFBFBD>ţ<EFBFBD>
///< [IN] \~english Bayer interpolation method 0-Fast 1-Equilibrium 2-Optimal
unsigned int iMethodValue; ///< [IN] \~chinese <20><>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD> \~english Method Value
unsigned int nReserved[3]; ///< \~chinese Ԥ<><D4A4> \~english Reserved
}MV_SAVE_IMAGE_PARAM_EX;
/// \~chinese <20><><EFBFBD><EFBFBD>BMP<4D><50>JPEG<45><47>PNG<4E><47>TIFFͼƬ<CDBC>ļ<EFBFBD><C4BC>IJ<EFBFBD><C4B2><EFBFBD> \~english Save BMP<4D><50>JPEG<45><47>PNG<4E><47>TIFF image file parameters
typedef struct _MV_SAVE_IMG_TO_FILE_PARAM_
{
enum MvGvspPixelType enPixelType; ///< [IN] \~chinese<73><65><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݵ<EFBFBD><DDB5><EFBFBD><EFBFBD>ظ<EFBFBD>ʽ \~english The pixel format of the input data
unsigned char* pData; ///< [IN] \~chinese <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݻ<EFBFBD><DDBB><EFBFBD> \~english Input Data Buffer
unsigned int nDataLen; ///< [IN] \~chinese <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݴ<EFBFBD>С \~english Input Data Size
unsigned short nWidth; ///< [IN] \~chinese ͼ<><CDBC><EFBFBD><EFBFBD> \~english Image Width
unsigned short nHeight; ///< [IN] \~chinese ͼ<><CDBC><EFBFBD><EFBFBD> \~english Image Height
enum MV_SAVE_IAMGE_TYPE enImageType; ///< [IN] \~chinese <20><><EFBFBD><EFBFBD>ͼƬ<CDBC><C6AC>ʽ \~english Input Image Format
unsigned int nQuality; ///< [IN] \~chinese JPG<50><47><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(50-99]<5D><>PNG<4E><47><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>[0-9]<5D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ<EFBFBD><CABD>Ч \~english JPG Encoding quality(50-99],PNG Encoding quality[0-9]<5D><>Other formats are invalid
char pImagePath[256]; ///< [IN] \~chinese <20><><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>·<EFBFBD><C2B7> \~english Input file path
///< [IN] \~chinese Bayer<65>IJ<EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD> 0-<2D><><EFBFBD><EFBFBD> 1-<2D><><EFBFBD><EFBFBD> 2-<2D><><EFBFBD>ţ<EFBFBD><C5A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5>Ĭ<EFBFBD><C4AC>Ϊ<EFBFBD><CEAA><EFBFBD>ţ<EFBFBD>
///< [IN] \~english Bayer interpolation method 0-Fast 1-Equilibrium 2-Optimal
int iMethodValue; ///< [IN] \~chinese <20><>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD> \~english Method Value
unsigned int nReserved[8]; ///< \~chinese Ԥ<><D4A4> \~english Reserved
}MV_SAVE_IMG_TO_FILE_PARAM;
/// \~chinese <20><>ת<EFBFBD>Ƕ<EFBFBD> \~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 ͼ<><CDBC><EFBFBD><EFBFBD>ת<EFBFBD><EFBFBD><E1B9B9> \~english Rotate image structure
typedef struct _MV_CC_ROTATE_IMAGE_PARAM_T_
{
enum MvGvspPixelType enPixelType; ///< [IN] \~chinese <20><><EFBFBD>ظ<EFBFBD>ʽ(<28><>֧<EFBFBD><D6A7>Mono8/RGB24/BGR24) \~english Pixel format(Only support Mono8/RGB24/BGR24)
unsigned int nWidth; ///< [IN][OUT] \~chinese ͼ<><CDBC><EFBFBD><EFBFBD> \~english Width
unsigned int nHeight; ///< [IN][OUT] \~chinese ͼ<><CDBC><EFBFBD><EFBFBD> \~english Height
unsigned char* pSrcData; ///< [IN] \~chinese <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݻ<EFBFBD><DDBB><EFBFBD> \~english Input data buffer
unsigned int nSrcDataLen; ///< [IN] \~chinese <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݴ<EFBFBD>С \~english Input data size
unsigned char* pDstBuf; ///< [OUT] \~chinese <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݻ<EFBFBD><DDBB><EFBFBD> \~english Output data buffer
unsigned int nDstBufLen; ///< [OUT] \~chinese <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݴ<EFBFBD>С \~english Output data size
unsigned int nDstBufSize; ///< [IN] \~chinese <20><EFBFBD><E1B9A9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>С \~english Provided outbut buffer size
MV_IMG_ROTATION_ANGLE enRotationAngle; ///< [IN] \~chinese <20><>ת<EFBFBD>Ƕ<EFBFBD> \~english Rotation angle
unsigned int nRes[8]; ///< \~chinese Ԥ<><D4A4> \~english Reserved
}MV_CC_ROTATE_IMAGE_PARAM;
/// \~chinese <20><>ת<EFBFBD><D7AA><EFBFBD><EFBFBD> \~english Flip type
typedef enum _MV_IMG_FLIP_TYPE_
{
MV_FLIP_VERTICAL = 1,
MV_FLIP_HORIZONTAL = 2,
}MV_IMG_FLIP_TYPE;
/// \~chinese ͼ<><CDBC><EFBFBD><EFBFBD>ת<EFBFBD><EFBFBD><E1B9B9> \~english Flip image structure
typedef struct _MV_CC_FLIP_IMAGE_PARAM_T_
{
enum MvGvspPixelType enPixelType; ///< [IN] \~chinese <20><><EFBFBD>ظ<EFBFBD>ʽ(<28><>֧<EFBFBD><D6A7>Mono8/RGB24/BGR24) \~english Pixel format(Only support Mono8/RGB24/BGR24)
unsigned int nWidth; ///< [IN] \~chinese ͼ<><CDBC><EFBFBD><EFBFBD> \~english Width
unsigned int nHeight; ///< [IN] \~chinese ͼ<><CDBC><EFBFBD><EFBFBD> \~english Height
unsigned char* pSrcData; ///< [IN] \~chinese <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݻ<EFBFBD><DDBB><EFBFBD> \~english Input data buffer
unsigned int nSrcDataLen; ///< [IN] \~chinese <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݴ<EFBFBD>С \~english Input data size
unsigned char* pDstBuf; ///< [OUT] \~chinese <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݻ<EFBFBD><DDBB><EFBFBD> \~english Output data buffer
unsigned int nDstBufLen; ///< [OUT] \~chinese <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݴ<EFBFBD>С \~english Output data size
unsigned int nDstBufSize; ///< [IN] \~chinese <20><EFBFBD><E1B9A9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>С \~english Provided outbut buffer size
MV_IMG_FLIP_TYPE enFlipType; ///< [IN] \~chinese <20><>ת<EFBFBD><D7AA><EFBFBD><EFBFBD> \~english Flip type
unsigned int nRes[8]; ///< \~chinese Ԥ<><D4A4> \~english Reserved
}MV_CC_FLIP_IMAGE_PARAM;
/// \~chinese ͼ<><CDBC>ת<EFBFBD><D7AA><EFBFBD><EFBFBD><E1B9B9> \~english Pixel convert structure
typedef struct _MV_PIXEL_CONVERT_PARAM_T_
{
unsigned short nWidth; ///< [IN] \~chinese ͼ<><CDBC><EFBFBD><EFBFBD> \~english Width
unsigned short nHeight; ///< [IN] \~chinese ͼ<><CDBC><EFBFBD><EFBFBD> \~english Height
enum MvGvspPixelType enSrcPixelType; ///< [IN] \~chinese Դ<><D4B4><EFBFBD>ظ<EFBFBD>ʽ \~english Source pixel format
unsigned char* pSrcData; ///< [IN] \~chinese <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݻ<EFBFBD><DDBB><EFBFBD> \~english Input data buffer
unsigned int nSrcDataLen; ///< [IN] \~chinese <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݴ<EFBFBD>С \~english Input data size
enum MvGvspPixelType enDstPixelType; ///< [IN] \~chinese Ŀ<><C4BF><EFBFBD><EFBFBD><EFBFBD>ظ<EFBFBD>ʽ \~english Destination pixel format
unsigned char* pDstBuffer; ///< [OUT] \~chinese <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݻ<EFBFBD><DDBB><EFBFBD> \~english Output data buffer
unsigned int nDstLen; ///< [OUT] \~chinese <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݴ<EFBFBD>С \~english Output data size
unsigned int nDstBufferSize; ///< [IN] \~chinese <20><EFBFBD><E1B9A9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>С \~english Provided outbut buffer size
unsigned int nRes[4]; ///< \~chinese Ԥ<><D4A4> \~english Reserved
}MV_CC_PIXEL_CONVERT_PARAM;
/// \~chinese ɫ<>ʽ<EFBFBD><CABD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> \~english Color correction param
typedef struct _MV_CC_CCM_PARAM_T_
{
bool bCCMEnable; ///< [IN] \~chinese ɫ<><C9AB>У<EFBFBD><D0A3>ʹ<EFBFBD><CAB9> \~english Color correction enable
int nCCMat[9]; ///< [IN] \~chinese ɫ<>ʽ<EFBFBD><CABD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(-8192~8192) \~english Color correction matrix
unsigned int nRes[8]; ///< \~chinese Ԥ<><D4A4> \~english Reserved
}MV_CC_CCM_PARAM;
/// \~chinese <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> \~english Noise feature type
typedef enum _MV_CC_BAYER_NOISE_FEATURE_TYPE
{
MV_CC_BAYER_NOISE_FEATURE_TYPE_INVALID = 0, ///< \~chinese <20><>Чֵ \~english Invalid
MV_CC_BAYER_NOISE_FEATURE_TYPE_PROFILE = 1, ///< \~chinese <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> \~english Noise curve
MV_CC_BAYER_NOISE_FEATURE_TYPE_LEVEL = 2, ///< \~chinese <20><><EFBFBD><EFBFBD>ˮƽ \~english Noise level
MV_CC_BAYER_NOISE_FEATURE_TYPE_DEFAULT = 1, ///< \~chinese Ĭ<><C4AC>ֵ \~english Default
}MV_CC_BAYER_NOISE_FEATURE_TYPE;
/// \~chinese Bayer<65><72>ʽ<EFBFBD><CABD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ \~english Denoise profile info
typedef struct _MV_CC_BAYER_NOISE_PROFILE_INFO_T_
{
unsigned int nVersion; ///< \~chinese <20>汾 \~english version
MV_CC_BAYER_NOISE_FEATURE_TYPE enNoiseFeatureType; ///< \~chinese <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> \~english noise feature type
enum MvGvspPixelType enPixelType; ///< \~chinese ͼ<><CDBC><EFBFBD><EFBFBD>ʽ \~english image format
int nNoiseLevel; ///< \~chinese ƽ<><C6BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˮƽ \~english noise level
unsigned int nCurvePointNum; ///< \~chinese <20><><EFBFBD>ߵ<EFBFBD><DFB5><EFBFBD> \~english curve point number
int* nNoiseCurve; ///< \~chinese <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> \~english noise curve
int* nLumCurve; ///< \~chinese <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> \~english luminance curve
unsigned int nRes[8]; ///< \~chinese Ԥ<><D4A4> \~english Reserved
}MV_CC_BAYER_NOISE_PROFILE_INFO;
/// \~chinese Bayer<65><72>ʽ<EFBFBD><CABD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʋ<EFBFBD><C6B2><EFBFBD> \~english Bayer noise estimate param
typedef struct _MV_CC_BAYER_NOISE_ESTIMATE_PARAM_T_
{
unsigned int nWidth; ///< [IN] \~chinese ͼ<><CDBC><EFBFBD><EFBFBD>(<28><><EFBFBD>ڵ<EFBFBD><DAB5><EFBFBD>8) \~english Width
unsigned int nHeight; ///< [IN] \~chinese ͼ<><CDBC><EFBFBD><EFBFBD>(<28><><EFBFBD>ڵ<EFBFBD><DAB5><EFBFBD>8) \~english Height
enum MvGvspPixelType enPixelType; ///< [IN] \~chinese <20><><EFBFBD>ظ<EFBFBD>ʽ \~english Pixel format
unsigned char* pSrcData; ///< [IN] \~chinese <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݻ<EFBFBD><DDBB><EFBFBD> \~english Input data buffer
unsigned int nSrcDataLen; ///< [IN] \~chinese <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݴ<EFBFBD>С \~english Input data size
unsigned int nNoiseThreshold; ///< [IN] \~chinese <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ(0-4095) \~english Noise Threshold
unsigned char* pCurveBuf; ///< [IN] \~chinese <20><><EFBFBD>ڴ洢<DAB4><E6B4A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ߺ<EFBFBD><DFBA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ߣ<EFBFBD><DFA3><EFBFBD>Ҫ<EFBFBD>ⲿ<EFBFBD><E2B2BF><EFBFBD><EFBFBD><E4A3AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>С<EFBFBD><D0A1>4096 * sizeof(int) * 2<><32> \~english Buffer used to store noise and brightness curves, size:4096 * sizeof(int) * 2)
MV_CC_BAYER_NOISE_PROFILE_INFO stNoiseProfile; ///< [OUT] \~chinese <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ \~english Denoise profile
unsigned int nThreadNum; ///< [IN] \~chinese <20>߳<EFBFBD><DFB3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>0<EFBFBD><30>ʾ<EFBFBD><EFBFBD><E3B7A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӳ<EFBFBD><D3B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD><D3A6>1<EFBFBD><31>ʾ<EFBFBD><CABE><EFBFBD>̣߳<DFB3>Ĭ<EFBFBD>ϣ<EFBFBD><CFA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>1<EFBFBD><31>ʾ<EFBFBD>߳<EFBFBD><DFB3><EFBFBD>Ŀ \~english Thread number, 0 means that the library is adaptive to the hardware, 1 means single thread(Default value), Greater than 1 indicates the number of threads
unsigned int nRes[8]; ///< \~chinese Ԥ<><D4A4> \~english Reserved
}MV_CC_BAYER_NOISE_ESTIMATE_PARAM;
/// \~chinese Bayer<65><72>ʽ<EFBFBD><CABD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> \~english Bayer spatial Denoise param
typedef struct _MV_CC_BAYER_SPATIAL_DENOISE_PARAM_T_
{
unsigned int nWidth; ///< [IN] \~chinese ͼ<><CDBC><EFBFBD><EFBFBD>(<28><><EFBFBD>ڵ<EFBFBD><DAB5><EFBFBD>8) \~english Width
unsigned int nHeight; ///< [IN] \~chinese ͼ<><CDBC><EFBFBD><EFBFBD>(<28><><EFBFBD>ڵ<EFBFBD><DAB5><EFBFBD>8) \~english Height
enum MvGvspPixelType enPixelType; ///< [IN] \~chinese <20><><EFBFBD>ظ<EFBFBD>ʽ \~english Pixel format
unsigned char* pSrcData; ///< [IN] \~chinese <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݻ<EFBFBD><DDBB><EFBFBD> \~english Input data buffer
unsigned int nSrcDataLen; ///< [IN] \~chinese <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݴ<EFBFBD>С \~english Input data size
unsigned char* pDstBuf; ///< [OUT] \~chinese <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> \~english Output data buffer
unsigned int nDstBufSize; ///< [IN] \~chinese <20><EFBFBD><E1B9A9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>С \~english Provided outbut buffer size
unsigned int nDstBufLen; ///< [OUT] \~chinese <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݳ<EFBFBD><DDB3><EFBFBD> \~english Output data length
MV_CC_BAYER_NOISE_PROFILE_INFO stNoiseProfile; ///< [IN] \~chinese <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ(<28><>Դ<EFBFBD><D4B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>) \~english Denoise profile
unsigned int nDenoiseStrength; ///< [IN] \~chinese <20><><EFBFBD><EFBFBD>ǿ<EFBFBD><C7BF>(0-100) \~english nDenoise Strength
unsigned int nSharpenStrength; ///< [IN] \~chinese <20><><EFBFBD><EFBFBD>ǿ<EFBFBD><C7BF>(0-32) \~english Sharpen Strength
unsigned int nNoiseCorrect; ///< [IN] \~chinese <20><><EFBFBD><EFBFBD>У<EFBFBD><D0A3>ϵ<EFBFBD><CFB5>(0-1280) \~english Noise Correct
unsigned int nThreadNum; ///< [IN] \~chinese <20>߳<EFBFBD><DFB3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>0<EFBFBD><30>ʾ<EFBFBD><EFBFBD><E3B7A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӳ<EFBFBD><D3B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD><D3A6>1<EFBFBD><31>ʾ<EFBFBD><CABE><EFBFBD>̣߳<DFB3>Ĭ<EFBFBD>ϣ<EFBFBD><CFA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>1<EFBFBD><31>ʾ<EFBFBD>߳<EFBFBD><DFB3><EFBFBD>Ŀ \~english Thread number, 0 means that the library is adaptive to the hardware, 1 means single thread(Default value), Greater than 1 indicates the number of threads
unsigned int nRes[8]; ///< \~chinese Ԥ<><D4A4> \~english Reserved
}MV_CC_BAYER_SPATIAL_DENOISE_PARAM;
/// \~chinese ˮӡ<CBAE><D3A1>Ϣ \~english Frame-specific information
typedef struct _MV_CC_FRAME_SPEC_INFO_
{
/// \~chinese <20>豸ˮӡʱ<D3A1><CAB1> \~english Device frame-specific time scale
unsigned int nSecondCount; ///< [OUT] \~chinese <20><><EFBFBD><EFBFBD> \~english The Seconds
unsigned int nCycleCount; ///< [OUT] \~chinese <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> \~english The Count of Cycle
unsigned int nCycleOffset; ///< [OUT] \~chinese <20><><EFBFBD><EFBFBD>ƫ<EFBFBD><C6AB><EFBFBD><EFBFBD> \~english The Offset of Cycle
float fGain; ///< [OUT] \~chinese <20><><EFBFBD><EFBFBD> \~english Gain
float fExposureTime; ///< [OUT] \~chinese <20>ع<EFBFBD>ʱ<EFBFBD><CAB1> \~english Exposure Time
unsigned int nAverageBrightness; ///< [OUT] \~chinese ƽ<><C6BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> \~english Average brightness
/// \~chinese <20><>ƽ<EFBFBD><C6BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> \~english White balance
unsigned int nRed; ///< [OUT] \~chinese <20><>ɫ \~english Red
unsigned int nGreen; ///< [OUT] \~chinese <20><>ɫ \~english Green
unsigned int nBlue; ///< [OUT] \~chinese <20><>ɫ \~english Blue
unsigned int nFrameCounter; ///< [OUT] \~chinese <20><>֡<EFBFBD><D6A1> \~english Frame Counter
unsigned int nTriggerIndex; ///< [OUT] \~chinese <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> \~english Trigger Counting
unsigned int nInput; ///< [OUT] \~chinese <20><><EFBFBD><EFBFBD> \~english Input
unsigned int nOutput; ///< [OUT] \~chinese <20><><EFBFBD><EFBFBD> \~english Output
/// \~chinese ROI<4F><49><EFBFBD><EFBFBD> \~english ROI Region
unsigned short nOffsetX; ///< [OUT] \~chinese ˮƽƫ<C6BD><C6AB><EFBFBD><EFBFBD> \~english OffsetX
unsigned short nOffsetY; ///< [OUT] \~chinese <20><>ֱƫ<D6B1><C6AB><EFBFBD><EFBFBD> \~english OffsetY
unsigned short nFrameWidth; ///< [OUT] \~chinese ˮӡ<CBAE><D3A1> \~english The Width of Chunk
unsigned short nFrameHeight; ///< [OUT] \~chinese ˮӡ<CBAE><D3A1> \~english The Height of Chunk
unsigned int nReserved[16]; ///< \~chinese Ԥ<><D4A4> \~english Reserved
}MV_CC_FRAME_SPEC_INFO;
/// \~chinese <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> \~english High Bandwidth decode structure
typedef struct _MV_CC_HB_DECODE_PARAM_T_
{
unsigned char* pSrcBuf; ///< [IN] \~chinese <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݻ<EFBFBD><DDBB><EFBFBD> \~english Input data buffer
unsigned int nSrcLen; ///< [IN] \~chinese <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݴ<EFBFBD>С \~english Input data size
unsigned int nWidth; ///< [OUT] \~chinese ͼ<><CDBC><EFBFBD><EFBFBD> \~english Width
unsigned int nHeight; ///< [OUT] \~chinese ͼ<><CDBC><EFBFBD><EFBFBD> \~english Height
unsigned char* pDstBuf; ///< [OUT] \~chinese <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݻ<EFBFBD><DDBB><EFBFBD> \~english Output data buffer
unsigned int nDstBufSize; ///< [IN] \~chinese <20><EFBFBD><E1B9A9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>С \~english Provided output buffer size
unsigned int nDstBufLen; ///< [OUT] \~chinese <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݴ<EFBFBD>С \~english Output data size
MvGvspPixelType enDstPixelType; ///< [OUT] \~chinese <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ظ<EFBFBD>ʽ \~english Output pixel format
MV_CC_FRAME_SPEC_INFO stFrameSpecInfo; ///< [OUT] \~chinese ˮӡ<CBAE><D3A1>Ϣ \~english Frame Spec Info
unsigned int nRes[8]; ///< \~chinese Ԥ<><D4A4> \~english Reserved
}MV_CC_HB_DECODE_PARAM;
/// \~chinese ¼<><C2BC><EFBFBD><EFBFBD>ʽ<EFBFBD><CABD><EFBFBD><EFBFBD> \~english Record Format Type
typedef enum _MV_RECORD_FORMAT_TYPE_
{
MV_FormatType_Undefined = 0, ///< \~chinese δ<><CEB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD><C2BC><EFBFBD><EFBFBD>ʽ \~english Undefined Recode Format Type
MV_FormatType_AVI = 1, ///< \~chinese AVI¼<49><C2BC><EFBFBD><EFBFBD>ʽ \~english AVI Recode Format Type
}MV_RECORD_FORMAT_TYPE;
/// \~chinese ¼<><C2BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD> \~english Record Parameters
typedef struct _MV_CC_RECORD_PARAM_T_
{
enum MvGvspPixelType enPixelType; ///< [IN] \~chinese <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݵ<EFBFBD><DDB5><EFBFBD><EFBFBD>ظ<EFBFBD>ʽ \~english Pixel Type
unsigned short nWidth; ///< [IN] \~chinese ͼ<><CDBC><EFBFBD><EFBFBD><><D6B8>Ŀ<EFBFBD><C4BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>Ϊ2<CEAA>ı<EFBFBD><C4B1><EFBFBD>) \~english Width
unsigned short nHeight; ///< [IN] \~chinese ͼ<><CDBC><EFBFBD><EFBFBD><><D6B8>Ŀ<EFBFBD><C4BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>Ϊ2<CEAA>ı<EFBFBD><C4B1><EFBFBD>) \~english Height
float fFrameRate; ///< [IN] \~chinese ֡<><D6A1>fps(<28><><EFBFBD><EFBFBD>1/16) \~english The Rate of Frame
unsigned int nBitRate; ///< [IN] \~chinese <20><><EFBFBD><EFBFBD>kbps(128kbps-16Mbps) \~english The Rate of Bitrate
MV_RECORD_FORMAT_TYPE enRecordFmtType; ///< [IN] \~chinese ¼<><C2BC><EFBFBD><EFBFBD>ʽ \~english Recode Format Type
char* strFilePath; ///< [IN] \~chinese ¼<><C2BC><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD>·<EFBFBD><C2B7>(<28><><EFBFBD><EFBFBD>·<EFBFBD><C2B7><EFBFBD>д<EFBFBD><D0B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ģ<EFBFBD><C4A3><EFBFBD>ת<EFBFBD><D7AA>utf-8) \~english File Path
unsigned int nRes[8]; ///< \~chinese Ԥ<><D4A4> \~english Reserved
}MV_CC_RECORD_PARAM;
/// \~chinese <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͼ<EFBFBD><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD> \~english Input Data
typedef struct _MV_CC_INPUT_FRAME_INFO_T_
{
unsigned char* pData; ///< [IN] \~chinese ͼ<><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8> \~english Record Data
unsigned int nDataLen; ///< [IN] \~chinese ͼ<><CDBC><EFBFBD><EFBFBD>С \~english The Length of Record Data
unsigned int nRes[8]; ///< \~chinese Ԥ<><D4A4> \~english Reserved
}MV_CC_INPUT_FRAME_INFO;
/// \~chinese <20>ɼ<EFBFBD>ģʽ \~english Acquisition mode
typedef enum _MV_CAM_ACQUISITION_MODE_
{
MV_ACQ_MODE_SINGLE = 0, ///< \~chinese <20><>֡ģʽ \~english Single Mode
MV_ACQ_MODE_MUTLI = 1, ///< \~chinese <20><>֡ģʽ \~english Multi Mode
MV_ACQ_MODE_CONTINUOUS = 2, ///< \~chinese <20><><EFBFBD><EFBFBD><EFBFBD>ɼ<EFBFBD>ģʽ \~english Continuous Mode
}MV_CAM_ACQUISITION_MODE;
/// \~chinese <20><><EFBFBD><EFBFBD>ģʽ \~english Gain Mode
typedef enum _MV_CAM_GAIN_MODE_
{
MV_GAIN_MODE_OFF = 0, ///< \~chinese <20>ر<EFBFBD> \~english Single Mode
MV_GAIN_MODE_ONCE = 1, ///< \~chinese һ<><D2BB> \~english Multi Mode
MV_GAIN_MODE_CONTINUOUS = 2, ///< \~chinese <20><><EFBFBD><EFBFBD> \~english Continuous Mode
}MV_CAM_GAIN_MODE;
/// \~chinese <20>ع<EFBFBD>ģʽ \~english Exposure Mode
typedef enum _MV_CAM_EXPOSURE_MODE_
{
MV_EXPOSURE_MODE_TIMED = 0, ///< \~chinese ʱ<><CAB1> \~english Timed
MV_EXPOSURE_MODE_TRIGGER_WIDTH = 1, ///< \~chinese <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> \~english TriggerWidth
}MV_CAM_EXPOSURE_MODE;
/// \~chinese <20>Զ<EFBFBD><D4B6>ع<EFBFBD>ģʽ \~english Auto Exposure Mode
typedef enum _MV_CAM_EXPOSURE_AUTO_MODE_
{
MV_EXPOSURE_AUTO_MODE_OFF = 0, ///< \~chinese <20>ر<EFBFBD> \~english Off
MV_EXPOSURE_AUTO_MODE_ONCE = 1, ///< \~chinese һ<><D2BB> \~english Once
MV_EXPOSURE_AUTO_MODE_CONTINUOUS = 2, ///< \~chinese <20><><EFBFBD><EFBFBD> \~english Continuous
}MV_CAM_EXPOSURE_AUTO_MODE;
/// \~chinese <20><><EFBFBD><EFBFBD>ģʽ \~english Trigger Mode
typedef enum _MV_CAM_TRIGGER_MODE_
{
MV_TRIGGER_MODE_OFF = 0, ///< \~chinese <20>ر<EFBFBD> \~english Off
MV_TRIGGER_MODE_ON = 1, ///< \~chinese <20><><EFBFBD><EFBFBD> \~english ON
}MV_CAM_TRIGGER_MODE;
/// \~chinese Gammaѡ<61><D1A1><EFBFBD><EFBFBD> \~english Gamma Selector
typedef enum _MV_CAM_GAMMA_SELECTOR_
{
MV_GAMMA_SELECTOR_USER = 1, ///< \~chinese <20>û<EFBFBD> \~english Gamma Selector User
MV_GAMMA_SELECTOR_SRGB = 2, ///< \~chinese sRGB \~english Gamma Selector sRGB
}MV_CAM_GAMMA_SELECTOR;
/// \~chinese <20><>ƽ<EFBFBD><C6BD> \~english White Balance
typedef enum _MV_CAM_BALANCEWHITE_AUTO_
{
MV_BALANCEWHITE_AUTO_OFF = 0, ///< \~chinese <20>ر<EFBFBD> \~english Off
MV_BALANCEWHITE_AUTO_ONCE = 2, ///< \~chinese һ<><D2BB> \~english Once
MV_BALANCEWHITE_AUTO_CONTINUOUS = 1, ///< \~chinese <20><><EFBFBD><EFBFBD> \~english Continuous
}MV_CAM_BALANCEWHITE_AUTO;
/// \~chinese <20><><EFBFBD><EFBFBD>Դ \~english Trigger Source
typedef enum _MV_CAM_TRIGGER_SOURCE_
{
MV_TRIGGER_SOURCE_LINE0 = 0, ///< \~chinese Line0 \~english Line0
MV_TRIGGER_SOURCE_LINE1 = 1, ///< \~chinese Line1 \~english Line0
MV_TRIGGER_SOURCE_LINE2 = 2, ///< \~chinese Line2 \~english Line0
MV_TRIGGER_SOURCE_LINE3 = 3, ///< \~chinese Line3 \~english Line3
MV_TRIGGER_SOURCE_COUNTER0 = 4, ///< \~chinese Conuter0 \~english Conuter0
MV_TRIGGER_SOURCE_SOFTWARE = 7, ///< \~chinese <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> \~english Software
MV_TRIGGER_SOURCE_FrequencyConverter= 8, ///< \~chinese <20><>Ƶ<EFBFBD><C6B5> \~english Frequency Converter
}MV_CAM_TRIGGER_SOURCE;
/// \~chinese GigEVision IP<49><50><EFBFBD><EFBFBD> \~english GigEVision IP Configuration
#define MV_IP_CFG_STATIC 0x05000000 ///< \~chinese <20><>̬ \~english Static
#define MV_IP_CFG_DHCP 0x06000000 ///< \~chinese DHCP \~english DHCP
#define MV_IP_CFG_LLA 0x04000000 ///< \~chinese LLA \~english LLA
/// \~chinese GigEVision<6F><6E><EFBFBD><EFBFBD><E7B4AB>ģʽ \~english GigEVision Net Transfer Mode
#define MV_NET_TRANS_DRIVER 0x00000001 ///< \~chinese <20><><EFBFBD><EFBFBD> \~english Driver
#define MV_NET_TRANS_SOCKET 0x00000002 ///< \~chinese Socket \~english Socket
/// \~chinese CameraLink<6E><6B><EFBFBD><EFBFBD><EFBFBD><EFBFBD> \~english CameraLink Baud Rates (CLUINT32)
#define MV_CAML_BAUDRATE_9600 0x00000001 ///< \~chinese 9600 \~english 9600
#define MV_CAML_BAUDRATE_19200 0x00000002 ///< \~chinese 19200 \~english 19200
#define MV_CAML_BAUDRATE_38400 0x00000004 ///< \~chinese 38400 \~english 38400
#define MV_CAML_BAUDRATE_57600 0x00000008 ///< \~chinese 57600 \~english 57600
#define MV_CAML_BAUDRATE_115200 0x00000010 ///< \~chinese 115200 \~english 115200
#define MV_CAML_BAUDRATE_230400 0x00000020 ///< \~chinese 230400 \~english 230400
#define MV_CAML_BAUDRATE_460800 0x00000040 ///< \~chinese 460800 \~english 460800
#define MV_CAML_BAUDRATE_921600 0x00000080 ///< \~chinese 921600 \~english 921600
#define MV_CAML_BAUDRATE_AUTOMAX 0x40000000 ///< \~chinese <20><><EFBFBD><EFBFBD>ֵ \~english Auto Max
/// \~chinese <20><EFBFBD><ECB3A3>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD> \~english Exception message type
#define MV_EXCEPTION_DEV_DISCONNECT 0x00008001 ///< \~chinese <20><EFBFBD>Ͽ<EFBFBD><CFBF><EFBFBD><EFBFBD><EFBFBD> \~english The device is disconnected
#define MV_EXCEPTION_VERSION_CHECK 0x00008002 ///< \~chinese SDK<44><4B><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E6B1BE>ƥ<EFBFBD><C6A5> \~english SDK does not match the driver version
/// \~chinese Event<6E>¼<EFBFBD><C2BC>ص<EFBFBD><D8B5><EFBFBD>Ϣ\ \~english Event callback infomation
#define MAX_EVENT_NAME_SIZE 128 ///< \~chinese <20>豸Event<6E>¼<EFBFBD><C2BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>󳤶<EFBFBD> \~english Max length of event name
typedef struct _MV_EVENT_OUT_INFO_
{
char EventName[MAX_EVENT_NAME_SIZE]; ///< [OUT] \~chinese Event<6E><74><EFBFBD><EFBFBD> \~english Event name
unsigned short nEventID; ///< [OUT] \~chinese Event<6E><74> \~english Event ID
unsigned short nStreamChannel; ///< [OUT] \~chinese <20><>ͨ<EFBFBD><CDA8><EFBFBD><EFBFBD><EFBFBD><EFBFBD> \~english Circulation number
unsigned int nBlockIdHigh; ///< [OUT] \~chinese ֡<>Ÿ<EFBFBD>λ \~english BlockId high
unsigned int nBlockIdLow; ///< [OUT] \~chinese ֡<>ŵ<EFBFBD>λ \~english BlockId low
unsigned int nTimestampHigh; ///< [OUT] \~chinese ʱ<><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ \~english Timestramp high
unsigned int nTimestampLow; ///< [OUT] \~chinese ʱ<><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ \~english Timestramp low
void* pEventData; ///< [OUT] \~chinese Event<6E><74><EFBFBD><EFBFBD> \~english Event data
unsigned int nEventDataSize; ///< [OUT] \~chinese Event<6E><74><EFBFBD>ݳ<EFBFBD><DDB3><EFBFBD> \~english Event data len
unsigned int nReserved[16]; ///< \~chinese Ԥ<><D4A4> \~english Reserved
}MV_EVENT_OUT_INFO;
/// \~chinese <20>ļ<EFBFBD><C4BC><EFBFBD>ȡ \~english File Access
typedef struct _MV_CC_FILE_ACCESS_T
{
const char* pUserFileName; ///< [IN] \~chinese <20>û<EFBFBD><C3BB>ļ<EFBFBD><C4BC><EFBFBD> \~english User file name
const char* pDevFileName; ///< [IN] \~chinese <20><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD> \~english Device file name
unsigned int nReserved[32]; ///< \~chinese Ԥ<><D4A4> \~english Reserved
}MV_CC_FILE_ACCESS;
/// \~chinese <20>ļ<EFBFBD><C4BC><EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD> \~english File Access Progress
typedef struct _MV_CC_FILE_ACCESS_PROGRESS_T
{
int64_t nCompleted; ///< [OUT] \~chinese <20><><EFBFBD><EFBFBD><EFBFBD>ɵij<C9B5><C4B3><EFBFBD> \~english Completed Length
int64_t nTotal; ///< [OUT] \~chinese <20>ܳ<EFBFBD><DCB3><EFBFBD> \~english Total Length
unsigned int nReserved[8]; ///< \~chinese Ԥ<><D4A4> \~english Reserved
}MV_CC_FILE_ACCESS_PROGRESS;
/// \~chinese Gige<67>Ĵ<EFBFBD><C4B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> \~english The transmission type of Gige
typedef enum _MV_GIGE_TRANSMISSION_TYPE_
{
MV_GIGE_TRANSTYPE_UNICAST = 0x0, ///< \~chinese <20><>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><><C4AC>) \~english Unicast mode
MV_GIGE_TRANSTYPE_MULTICAST = 0x1, ///< \~chinese <20><>ʾ<EFBFBD>鲥 \~english Multicast mode
MV_GIGE_TRANSTYPE_LIMITEDBROADCAST = 0x2, ///< \~chinese <20><>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڹ㲥<DAB9><E3B2A5><EFBFBD>ݲ<EFBFBD>֧<EFBFBD><D6A7> \~english Limited broadcast mode,not support
MV_GIGE_TRANSTYPE_SUBNETBROADCAST = 0x3, ///< \~chinese <20><>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD>ڹ㲥<DAB9><E3B2A5><EFBFBD>ݲ<EFBFBD>֧<EFBFBD><D6A7> \~english Subnet broadcast mode,not support
MV_GIGE_TRANSTYPE_CAMERADEFINED = 0x4, ///< \~chinese <20><>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><E8B1B8>ȡ<EFBFBD><C8A1><EFBFBD>ݲ<EFBFBD>֧<EFBFBD><D6A7> \~english Transtype from camera,not support
MV_GIGE_TRANSTYPE_UNICAST_DEFINED_PORT = 0x5, ///< \~chinese <20><>ʾ<EFBFBD>û<EFBFBD><C3BB>Զ<EFBFBD><D4B6><EFBFBD>Ӧ<EFBFBD>ö˽<C3B6><CBBD><EFBFBD>ͼ<EFBFBD><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Port<72><74> \~english User Defined Receive Data Port
MV_GIGE_TRANSTYPE_UNICAST_WITHOUT_RECV = 0x00010000, ///< \~chinese <20><>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD>˵<EFBFBD><CBB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʵ<EFBFBD><CAB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͼ<EFBFBD><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD> \~english Unicast without receive data
MV_GIGE_TRANSTYPE_MULTICAST_WITHOUT_RECV = 0x00010001, ///< \~chinese <20><>ʾ<EFBFBD>鲥ģʽ<C4A3><CABD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʵ<EFBFBD><CAB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͼ<EFBFBD><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD> \~english Multicast without receive data
}MV_GIGE_TRANSMISSION_TYPE;
/// \~chinese <20><><EFBFBD><EFBFBD>ģʽ<C4A3><CABD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD>ģʽ<C4A3><CABD><EFBFBD>鲥ģʽ<C4A3><CABD> \~english Transmission type
typedef struct _MV_TRANSMISSION_TYPE_T
{
MV_GIGE_TRANSMISSION_TYPE enTransmissionType; ///< [IN] \~chinese <20><><EFBFBD><EFBFBD>ģʽ \~english Transmission type
unsigned int nDestIp; ///< [IN] \~chinese Ŀ<><C4BF>IP<49><50><EFBFBD>鲥ģʽ<C4A3><CABD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> \~english Destination IP
unsigned short nDestPort; ///< [IN] \~chinese Ŀ<><C4BF>Port<72><74><EFBFBD>鲥ģʽ<C4A3><CABD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> \~english Destination port
unsigned int nReserved[32]; ///< \~chinese Ԥ<><D4A4> \~english Reserved
}MV_TRANSMISSION_TYPE;
/// \~chinese <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ \~english Action Command
typedef struct _MV_ACTION_CMD_INFO_T
{
unsigned int nDeviceKey; ///< [IN] \~chinese <20><EFBFBD><E8B1B8>Կ \~english Device Key;
unsigned int nGroupKey; ///< [IN] \~chinese <20><><EFBFBD><EFBFBD> \~english Group Key
unsigned int nGroupMask; ///< [IN] \~chinese <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> \~english Group Mask
unsigned int bActionTimeEnable; ///< [IN] \~chinese ֻ<><D6BB><EFBFBD><EFBFBD><EFBFBD>ó<EFBFBD>1ʱAction Time<6D><65><EFBFBD><EFBFBD>Ч<EFBFBD><D0A7><EFBFBD><EFBFBD><31><CAB1>Ч \~english Action Time Enable
int64_t nActionTime; ///< [IN] \~chinese Ԥ<><D4A4><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD><E4A3AC><EFBFBD><EFBFBD>Ƶ<EFBFBD>й<EFBFBD> \~english Action Time
const char* pBroadcastAddress; ///< [IN] \~chinese <20><EFBFBD><E3B2A5><EFBFBD><EFBFBD>ַ \~english Broadcast Address
unsigned int nTimeOut; ///< [IN] \~chinese <20>ȴ<EFBFBD>ACK<43>ij<EFBFBD>ʱʱ<CAB1><EFBFBD><E4A3AC><EFBFBD><EFBFBD>Ϊ0<CEAA><30>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>ҪACK \~english TimeOut
unsigned int bSpecialNetEnable; ///< [IN] \~chinese ֻ<><D6BB><EFBFBD><EFBFBD><EFBFBD>ó<EFBFBD>1ʱָ<CAB1><D6B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>IP<49><50><EFBFBD><EFBFBD>Ч<EFBFBD><D0A7><EFBFBD><EFBFBD><31><CAB1>Ч \~english Special IP Enable
unsigned int nSpecialNetIP; ///< [IN] \~chinese ָ<><D6B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>IP \~english Special Net IP address
unsigned int nReserved[14]; ///< \~chinese Ԥ<><D4A4> \~english Reserved
}MV_ACTION_CMD_INFO;
/// \~chinese <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EEB7B5><EFBFBD><EFBFBD>Ϣ \~english Action Command Result
typedef struct _MV_ACTION_CMD_RESULT_T
{
unsigned char strDeviceAddress[12 + 3 + 1]; ///< [OUT] \~chinese <20>豸IP \~english IP address of the device
int nStatus; ///< [OUT] \~chinese ״̬<D7B4><CCAC> \~english status code returned by the device
//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 Ԥ<><D4A4> \~english Reserved
}MV_ACTION_CMD_RESULT;
/// \~chinese <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EEB7B5><EFBFBD><EFBFBD>Ϣ<EFBFBD>б<EFBFBD> \~english Action Command Result List
typedef struct _MV_ACTION_CMD_RESULT_LIST_T
{
unsigned int nNumResults; ///< [OUT] \~chinese <20><><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD> \~english Number of returned values
MV_ACTION_CMD_RESULT* pResults; ///< [OUT] \~chinese <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> \~english Reslut of action command
}MV_ACTION_CMD_RESULT_LIST;
/// \~chinese ÿ<><C3BF><EFBFBD>ڵ<EFBFBD><DAB5><EFBFBD>Ӧ<EFBFBD>Ľӿ<C4BD><D3BF><EFBFBD><EFBFBD><EFBFBD> \~english Interface type corresponds to each node
enum MV_XML_InterfaceType
{
IFT_IValue, ///< \~chinese Value \~english IValue interface
IFT_IBase, ///< \~chinese Base \~english IBase interface
IFT_IInteger, ///< \~chinese Integer \~english IInteger interface
IFT_IBoolean, ///< \~chinese Boolean \~english IBoolean interface
IFT_ICommand, ///< \~chinese Command \~english ICommand interface
IFT_IFloat, ///< \~chinese Float \~english IFloat interface
IFT_IString, ///< \~chinese String \~english IString interface
IFT_IRegister, ///< \~chinese Register \~english IRegister interface
IFT_ICategory, ///< \~chinese Category \~english ICategory interface
IFT_IEnumeration, ///< \~chinese Enumeration \~english IEnumeration interface
IFT_IEnumEntry, ///< \~chinese EnumEntry \~english IEnumEntry interface
IFT_IPort, ///< \~chinese Port \~english IPort interface
};
/// \~chinese <20>ڵ<EFBFBD><DAB5>ķ<EFBFBD><C4B7><EFBFBD>ģʽ \~english Node Access Mode
enum MV_XML_AccessMode
{
AM_NI, ///< \~chinese <20><><EFBFBD><EFBFBD>ʵ<EFBFBD><CAB5> \~english Not implemented
AM_NA, ///< \~chinese <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> \~english Not available
AM_WO, ///< \~chinese ֻд \~english Write Only
AM_RO, ///< \~chinese ֻ<><D6BB> \~english Read Only
AM_RW, ///< \~chinese <20><>д \~english Read and Write
AM_Undefined, ///< \~chinese δ<><CEB4><EFBFBD><EFBFBD> \~english Object is not yet initialized
AM_CycleDetect, ///< \~chinese <20>ڲ<EFBFBD><DAB2><EFBFBD><EFBFBD><EFBFBD>AccessModeѭ<65><D1AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> \~english used internally for AccessMode cycle detection
};
#define MV_MAX_XML_SYMBOLIC_NUM 64 /// \~chinese <20><><EFBFBD><EFBFBD>XML<4D><4C><EFBFBD><EFBFBD><EFBFBD><EFBFBD> \~english Max XML Symbolic Number
/// \~chinese ö<><C3B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ \~english Enumeration Value
typedef struct _MVCC_ENUMVALUE_T
{
unsigned int nCurValue; ///< [OUT] \~chinese <20><>ǰֵ \~english Current Value
unsigned int nSupportedNum; ///< [OUT] \~chinese <20><><EFBFBD>ݵ<EFBFBD><DDB5><EFBFBD>Ч<EFBFBD><D0A7><EFBFBD>ݸ<EFBFBD><DDB8><EFBFBD> \~english Number of valid data
unsigned int nSupportValue[MV_MAX_XML_SYMBOLIC_NUM]; ///< [OUT] \~chinese ֧<>ֵ<EFBFBD>ö<EFBFBD><C3B6>ֵ \~english Support Value
unsigned int nReserved[4]; ///< \~chinese Ԥ<><D4A4> \~english Reserved
}MVCC_ENUMVALUE;
/// \~chinese Int<6E><74><EFBFBD><EFBFBD>ֵ \~english Int Value
typedef struct _MVCC_INTVALUE_T
{
unsigned int nCurValue; ///< [OUT] \~chinese <20><>ǰֵ \~english Current Value
unsigned int nMax; ///< [OUT] \~chinese <20><><EFBFBD><EFBFBD>ֵ \~english Max
unsigned int nMin; ///< [OUT] \~chinese <20><>Сֵ \~english Min
unsigned int nInc; ///< [OUT] \~chinese \~english Inc
unsigned int nReserved[4]; ///< \~chinese Ԥ<><D4A4> \~english Reserved
}MVCC_INTVALUE;
/// \~chinese Int<6E><74><EFBFBD><EFBFBD>ֵEx \~english Int Value Ex
typedef struct _MVCC_INTVALUE_EX_T
{
int64_t nCurValue; ///< [OUT] \~chinese <20><>ǰֵ \~english Current Value
int64_t nMax; ///< [OUT] \~chinese <20><><EFBFBD><EFBFBD>ֵ \~english Max
int64_t nMin; ///< [OUT] \~chinese <20><>Сֵ \~english Min
int64_t nInc; ///< [OUT] \~chinese Inc \~english Inc
unsigned int nReserved[16]; ///< \~chinese Ԥ<><D4A4> \~english Reserved
}MVCC_INTVALUE_EX;
/// \~chinese Float<61><74><EFBFBD><EFBFBD>ֵ \~english Float Value
typedef struct _MVCC_FLOATVALUE_T
{
float fCurValue; ///< [OUT] \~chinese <20><>ǰֵ \~english Current Value
float fMax; ///< [OUT] \~chinese <20><><EFBFBD><EFBFBD>ֵ \~english Max
float fMin; ///< [OUT] \~chinese <20><>Сֵ \~english Min
unsigned int nReserved[4]; ///< \~chinese Ԥ<><D4A4> \~english Reserved
}MVCC_FLOATVALUE;
/// \~chinese String<6E><67><EFBFBD><EFBFBD>ֵ \~english String Value
typedef struct _MVCC_STRINGVALUE_T
{
char chCurValue[256]; ///< [OUT] \~chinese <20><>ǰֵ \~english Current Value
int64_t nMaxLength; ///< [OUT] \~chinese <20><><EFBFBD>󳤶<EFBFBD> \~english MaxLength
unsigned int nReserved[2]; ///< \~chinese Ԥ<><D4A4> \~english Reserved
}MVCC_STRINGVALUE;
#endif /* _MV_CAMERA_PARAMS_H_ */