CameraParams.h 101 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330
  1. #ifndef _MV_CAMERA_PARAMS_H_
  2. #define _MV_CAMERA_PARAMS_H_
  3. #include "PixelType.h"
  4. #ifndef __cplusplus
  5. typedef char bool;
  6. #define true 1
  7. #define false 0
  8. #endif
  9. /// \~chinese 排序方式 \~english The Method of Sorting
  10. typedef enum _MV_SORT_METHOD_
  11. {
  12. SortMethod_SerialNumber = 0, ///< \~chinese 按序列号排序 \~english Sorting by SerialNumber
  13. SortMethod_UserID = 1, ///< \~chinese 按用户自定义名字排序 \~english Sorting by UserID
  14. SortMethod_CurrentIP_ASC = 2, ///< \~chinese 按当前IP地址排序(升序,只对GEV相机有效,其它类型相机按默认排序) \~english Sorting by current IP(Ascending, Available for GEV cameras only. Other types of cameras are sorted by default)
  15. SortMethod_CurrentIP_DESC = 3, ///< \~chinese 按当前IP地址排序(降序,只对GEV相机有效,其它类型相机按默认排序) \~english Sorting by current IP(Descending, Available for GEV cameras only. Other types of cameras are sorted by default)
  16. }MV_SORT_METHOD;
  17. /// \~chinese GigE设备信息 \~english GigE device info
  18. typedef struct _MV_GIGE_DEVICE_INFO_
  19. {
  20. unsigned int nIpCfgOption; ///< [OUT] \~chinese IP配置选项 \~english IP Configuration Options
  21. unsigned int nIpCfgCurrent; ///< [OUT] \~chinese 当前IP配置 \~english IP Configuration
  22. unsigned int nCurrentIp; ///< [OUT] \~chinese 当前IP地址 \~english Current Ip
  23. unsigned int nCurrentSubNetMask; ///< [OUT] \~chinese 当前子网掩码 \~english Curtent Subnet Mask
  24. unsigned int nDefultGateWay; ///< [OUT] \~chinese 当前网关 \~english Current Gateway
  25. unsigned char chManufacturerName[32]; ///< [OUT] \~chinese 制造商名称 \~english Manufacturer Name
  26. unsigned char chModelName[32]; ///< [OUT] \~chinese 型号名称 \~english Model Name
  27. unsigned char chDeviceVersion[32]; ///< [OUT] \~chinese 设备版本 \~english Device Version
  28. unsigned char chManufacturerSpecificInfo[48]; ///< [OUT] \~chinese 制造商的具体信息 \~english Manufacturer Specific Information
  29. unsigned char chSerialNumber[16]; ///< [OUT] \~chinese 序列号 \~english Serial Number
  30. unsigned char chUserDefinedName[16]; ///< [OUT] \~chinese 用户自定义名称 \~english User Defined Name
  31. unsigned int nNetExport; ///< [OUT] \~chinese 网口IP地址 \~english NetWork IP Address
  32. unsigned int nReserved[4]; ///< \~chinese 预留 \~english Reserved
  33. }MV_GIGE_DEVICE_INFO;
  34. ///< \~chinese 最大的数据信息大小 \~english Maximum data information size
  35. #define INFO_MAX_BUFFER_SIZE 64
  36. /// \~chinese USB设备信息 \~english USB device info
  37. typedef struct _MV_USB3_DEVICE_INFO_
  38. {
  39. unsigned char CrtlInEndPoint; ///< [OUT] \~chinese 控制输入端点 \~english Control input endpoint
  40. unsigned char CrtlOutEndPoint; ///< [OUT] \~chinese 控制输出端点 \~english Control output endpoint
  41. unsigned char StreamEndPoint; ///< [OUT] \~chinese 流端点 \~english Flow endpoint
  42. unsigned char EventEndPoint; ///< [OUT] \~chinese 事件端点 \~english Event endpoint
  43. unsigned short idVendor; ///< [OUT] \~chinese 供应商ID号 \~english Vendor ID Number
  44. unsigned short idProduct; ///< [OUT] \~chinese 产品ID号 \~english Device ID Number
  45. unsigned int nDeviceNumber; ///< [OUT] \~chinese 设备索引号 \~english Device Number
  46. unsigned char chDeviceGUID[INFO_MAX_BUFFER_SIZE]; ///< [OUT] \~chinese 设备GUID号 \~english Device GUID Number
  47. unsigned char chVendorName[INFO_MAX_BUFFER_SIZE]; ///< [OUT] \~chinese 供应商名字 \~english Vendor Name
  48. unsigned char chModelName[INFO_MAX_BUFFER_SIZE]; ///< [OUT] \~chinese 型号名字 \~english Model Name
  49. unsigned char chFamilyName[INFO_MAX_BUFFER_SIZE]; ///< [OUT] \~chinese 家族名字 \~english Family Name
  50. unsigned char chDeviceVersion[INFO_MAX_BUFFER_SIZE]; ///< [OUT] \~chinese 设备版本 \~english Device Version
  51. unsigned char chManufacturerName[INFO_MAX_BUFFER_SIZE]; ///< [OUT] \~chinese 制造商名字 \~english Manufacturer Name
  52. unsigned char chSerialNumber[INFO_MAX_BUFFER_SIZE]; ///< [OUT] \~chinese 序列号 \~english Serial Number
  53. unsigned char chUserDefinedName[INFO_MAX_BUFFER_SIZE]; ///< [OUT] \~chinese 用户自定义名字 \~english User Defined Name
  54. unsigned int nbcdUSB; ///< [OUT] \~chinese 支持的USB协议 \~english Support USB Protocol
  55. unsigned int nDeviceAddress; ///< [OUT] \~chinese 设备地址 \~english Device Address
  56. unsigned int nReserved[2]; ///< \~chinese 预留 \~english Reserved
  57. }MV_USB3_DEVICE_INFO;
  58. /// \~chinese CameraLink设备信息 \~english CameraLink device info
  59. typedef struct _MV_CamL_DEV_INFO_
  60. {
  61. unsigned char chPortID[INFO_MAX_BUFFER_SIZE]; ///< [OUT] \~chinese 串口号 \~english Port ID
  62. unsigned char chModelName[INFO_MAX_BUFFER_SIZE]; ///< [OUT] \~chinese 型号名字 \~english Model Name
  63. unsigned char chFamilyName[INFO_MAX_BUFFER_SIZE]; ///< [OUT] \~chinese 名称 \~english Family Name
  64. unsigned char chDeviceVersion[INFO_MAX_BUFFER_SIZE]; ///< [OUT] \~chinese 设备版本 \~english Device Version
  65. unsigned char chManufacturerName[INFO_MAX_BUFFER_SIZE]; ///< [OUT] \~chinese 制造商名字 \~english Manufacturer Name
  66. unsigned char chSerialNumber[INFO_MAX_BUFFER_SIZE]; ///< [OUT] \~chinese 序列号 \~english Serial Number
  67. unsigned int nReserved[38]; ///< \~chinese 预留 \~english Reserved
  68. }MV_CamL_DEV_INFO;
  69. ///< \~chinese CoaXPress相机信息 \~english CoaXPress device information
  70. typedef struct _MV_CXP_DEVICE_INFO_
  71. {
  72. unsigned char chInterfaceID[INFO_MAX_BUFFER_SIZE]; /// \~chinese 采集卡ID \~english Interface ID of Frame Grabber
  73. unsigned char chVendorName[INFO_MAX_BUFFER_SIZE]; ///< \~chinese 供应商名字 \~english Vendor name
  74. unsigned char chModelName[INFO_MAX_BUFFER_SIZE]; ///< \~chinese 型号名字 \~english Model name
  75. unsigned char chManufacturerInfo[INFO_MAX_BUFFER_SIZE];///< \~chinese 厂商信息 \~english Manufacturer information
  76. unsigned char chDeviceVersion[INFO_MAX_BUFFER_SIZE]; ///< \~chinese 相机版本 \~english Device version
  77. unsigned char chSerialNumber[INFO_MAX_BUFFER_SIZE]; ///< \~chinese 序列号 \~english Serial number
  78. unsigned char chUserDefinedName[INFO_MAX_BUFFER_SIZE]; ///< \~chinese 用户自定义名字 \~english User defined name
  79. unsigned char chDeviceID[INFO_MAX_BUFFER_SIZE]; ///< \~chinese 相机ID \~english Device ID
  80. unsigned int nReserved[7]; ///< \~chinese 保留字段 \~english Reserved
  81. }MV_CXP_DEVICE_INFO;
  82. ///< \~chinese 采集卡Camera Link相机信息 \~english Camera Link device information on frame grabber
  83. typedef struct _MV_CML_DEVICE_INFO_
  84. {
  85. unsigned char chInterfaceID[INFO_MAX_BUFFER_SIZE]; /// \~chinese 采集卡ID \~english Interface ID of Frame Grabber
  86. unsigned char chVendorName[INFO_MAX_BUFFER_SIZE]; ///< \~chinese 供应商名字 \~english Vendor name
  87. unsigned char chModelName[INFO_MAX_BUFFER_SIZE]; ///< \~chinese 型号名字 \~english Model name
  88. unsigned char chManufacturerInfo[INFO_MAX_BUFFER_SIZE];///< \~chinese 厂商信息 \~english Manufacturer information
  89. unsigned char chDeviceVersion[INFO_MAX_BUFFER_SIZE]; ///< \~chinese 相机版本 \~english Device version
  90. unsigned char chSerialNumber[INFO_MAX_BUFFER_SIZE]; ///< \~chinese 序列号 \~english Serial number
  91. unsigned char chUserDefinedName[INFO_MAX_BUFFER_SIZE]; ///< \~chinese 用户自定义名字 \~english User defined name
  92. unsigned char chDeviceID[INFO_MAX_BUFFER_SIZE]; ///< \~chinese 相机ID \~english Device ID
  93. unsigned int nReserved[7]; ///< \~chinese 保留字段 \~english Reserved
  94. }MV_CML_DEVICE_INFO;
  95. ///< \~chinese XoFLink相机信息 \~english XoFLink device information
  96. typedef struct _MV_XOF_DEVICE_INFO_
  97. {
  98. unsigned char chInterfaceID[INFO_MAX_BUFFER_SIZE]; /// \~chinese 采集卡ID \~english Interface ID of Frame Grabber
  99. unsigned char chVendorName[INFO_MAX_BUFFER_SIZE]; ///< \~chinese 供应商名字 \~english Vendor name
  100. unsigned char chModelName[INFO_MAX_BUFFER_SIZE]; ///< \~chinese 型号名字 \~english Model name
  101. unsigned char chManufacturerInfo[INFO_MAX_BUFFER_SIZE];///< \~chinese 厂商信息 \~english Manufacturer information
  102. unsigned char chDeviceVersion[INFO_MAX_BUFFER_SIZE]; ///< \~chinese 相机版本 \~english Device version
  103. unsigned char chSerialNumber[INFO_MAX_BUFFER_SIZE]; ///< \~chinese 序列号 \~english Serial number
  104. unsigned char chUserDefinedName[INFO_MAX_BUFFER_SIZE]; ///< \~chinese 用户自定义名字 \~english User defined name
  105. unsigned char chDeviceID[INFO_MAX_BUFFER_SIZE]; ///< \~chinese 相机ID \~english Device ID
  106. unsigned int nReserved[7]; ///< \~chinese 保留字段 \~english Reserved
  107. }MV_XOF_DEVICE_INFO;
  108. ///< \~chinese 虚拟相机信息 \~english Virtual device information
  109. typedef struct _MV_GENTL_VIR_DEVICE_INFO_
  110. {
  111. unsigned char chInterfaceID[INFO_MAX_BUFFER_SIZE]; /// \~chinese 采集卡ID \~english Interface ID of Frame Grabber
  112. unsigned char chVendorName[INFO_MAX_BUFFER_SIZE]; ///< \~chinese 供应商名字 \~english Vendor name
  113. unsigned char chModelName[INFO_MAX_BUFFER_SIZE]; ///< \~chinese 型号名字 \~english Model name
  114. unsigned char chManufacturerInfo[INFO_MAX_BUFFER_SIZE];///< \~chinese 厂商信息 \~english Manufacturer information
  115. unsigned char chDeviceVersion[INFO_MAX_BUFFER_SIZE]; ///< \~chinese 相机版本 \~english Device version
  116. unsigned char chSerialNumber[INFO_MAX_BUFFER_SIZE]; ///< \~chinese 序列号 \~english Serial number
  117. unsigned char chUserDefinedName[INFO_MAX_BUFFER_SIZE]; ///< \~chinese 用户自定义名字 \~english User defined name
  118. unsigned char chDeviceID[INFO_MAX_BUFFER_SIZE]; ///< \~chinese 相机ID \~english Device ID
  119. unsigned char chTLType[INFO_MAX_BUFFER_SIZE]; ///< \~chinese 传输层类型 \~english GenTL Type
  120. unsigned int nReserved[7]; ///< \~chinese 保留字段 \~english Reserved
  121. }MV_GENTL_VIR_DEVICE_INFO;
  122. ///< \~chinese 设备传输层协议类型 \~english Device Transport Layer Protocol Type
  123. #define MV_UNKNOW_DEVICE 0x00000000 ///< \~chinese 未知设备类型,保留意义 \~english Unknown Device Type, Reserved
  124. #define MV_GIGE_DEVICE 0x00000001 ///< \~chinese GigE设备 \~english GigE Device
  125. #define MV_1394_DEVICE 0x00000002 ///< \~chinese 1394-a/b 设备 \~english 1394-a/b Device
  126. #define MV_USB_DEVICE 0x00000004 ///< \~chinese USB 设备 \~english USB Device
  127. #define MV_CAMERALINK_DEVICE 0x00000008 ///< \~chinese CameraLink设备 \~english CameraLink Device
  128. #define MV_VIR_GIGE_DEVICE 0x00000010 ///< \~chinese 虚拟GigE设备,包含虚拟GEV采集卡下的设备 \~english Virtual GigE Device,include GenTL virtual device
  129. #define MV_VIR_USB_DEVICE 0x00000020 ///< \~chinese 虚拟USB设备,不支持虚拟采集卡下的设备 \~english Virtual USB Device,not supports GenTL virtual device
  130. #define MV_GENTL_GIGE_DEVICE 0x00000040 ///< \~chinese 自研网卡下GigE设备,某些卡不支持此协议,如GE1104 \~english GenTL GigE Device
  131. #define MV_GENTL_CAMERALINK_DEVICE 0x00000080 ///< \~chinese CameraLink相机设备 \~english GenTL CameraLink Camera Device
  132. #define MV_GENTL_CXP_DEVICE 0x00000100 ///< \~chinese CoaXPress设备 \~english GenTL CoaXPress Device
  133. #define MV_GENTL_XOF_DEVICE 0x00000200 ///< \~chinese XoF设备 \~english GenTL XoF Device
  134. #define MV_GENTL_VIR_DEVICE 0x00000800 ///< \~chinese 虚拟采集卡下的设备,不支持虚拟GEV采集卡下的设备 \~english GenTL Virtual Device,not supports GenTL virtual GigE device
  135. /// \~chinese 设备信息 \~english Device info
  136. typedef struct _MV_CC_DEVICE_INFO_
  137. {
  138. unsigned short nMajorVer; ///< [OUT] \~chinese 主要版本 \~english Major Version
  139. unsigned short nMinorVer; ///< [OUT] \~chinese 次要版本 \~english Minor Version
  140. unsigned int nMacAddrHigh; ///< [OUT] \~chinese 高MAC地址 \~english High MAC Address
  141. unsigned int nMacAddrLow; ///< [OUT] \~chinese 低MAC地址 \~english Low MAC Address
  142. unsigned int nTLayerType; ///< [OUT] \~chinese 设备传输层协议类型 \~english Device Transport Layer Protocol Type
  143. unsigned int nDevTypeInfo; ///< [OUT] \~chinese 设备类型信息 \~english Device Type Info
  144. ///< \~chinese 设备类型规则 \~english Device Type Rules
  145. ///< 7 - 0 bit: \~chinese 预留 \~english Reserved
  146. ///< 15 - 8 bit: \~chinese 产品子类别 \~english Product subtype
  147. ///< 23 - 16 bit: \~chinese 产品类型 \~english product type
  148. ///< 31 - 24bit: \~chinese 产品线 \~english Product Line 产品线 //eg: 0x01 标准产品/2D Produces; 0x02 3D产品/3D Produces ; 0x03 智能ID产品/Intelligent ID products
  149. unsigned int nReserved[3]; ///< \~chinese 预留 \~english Reserved
  150. union
  151. {
  152. MV_GIGE_DEVICE_INFO stGigEInfo; ///< [OUT] \~chinese GigE设备信息 \~english GigE Device Info
  153. MV_USB3_DEVICE_INFO stUsb3VInfo; ///< [OUT] \~chinese USB设备信息 \~english USB Device Info
  154. MV_CamL_DEV_INFO stCamLInfo; ///< [OUT] \~chinese CameraLink设备信息 \~english CameraLink Device Info
  155. MV_CML_DEVICE_INFO stCMLInfo; ///< [OUT] \~chinese 采集卡CameraLink设备信息 \~english CameraLink Device Info On Frame Grabber
  156. MV_CXP_DEVICE_INFO stCXPInfo; ///< [OUT] \~chinese 采集卡CoaXPress设备信息 \~english CoaXPress Device Info On Frame Grabber
  157. MV_XOF_DEVICE_INFO stXoFInfo; ///< [OUT] \~chinese 采集卡XoF设备信息 \~english XoF Device Info On Frame Grabber
  158. MV_GENTL_VIR_DEVICE_INFO stVirInfo; ///< [OUT] \~chinese 采集卡虚拟设备信息, 仅支持协议MV_GENTL_VIR_DEVICE \~english Virtual Device Info On Frame Grabber,device transport layer protocol type is MV_GENTL_VIR_DEVICE
  159. }SpecialInfo;
  160. }MV_CC_DEVICE_INFO;
  161. ///< \~chinese 最多支持的传输层实例个数 \~english The maximum number of supported transport layer instances
  162. #define MV_MAX_TLS_NUM 8
  163. ///< \~chinese 最大支持的设备个数 \~english The maximum number of supported devices
  164. #define MV_MAX_DEVICE_NUM 256
  165. /// \~chinese 设备信息列表 \~english Device Information List
  166. typedef struct _MV_CC_DEVICE_INFO_LIST_
  167. {
  168. unsigned int nDeviceNum; ///< [OUT] \~chinese 在线设备数量 \~english Online Device Number
  169. MV_CC_DEVICE_INFO* pDeviceInfo[MV_MAX_DEVICE_NUM]; ///< [OUT] \~chinese 支持最多256个设备 \~english Support up to 256 devices
  170. }MV_CC_DEVICE_INFO_LIST;
  171. ///< \~chinese 采集卡类型 \~english Interface type
  172. #define MV_GIGE_INTERFACE 0x00000001 ///< \~chinese GigE Vision采集卡 \~english GigE Vision interface
  173. #define MV_CAMERALINK_INTERFACE 0x00000004 ///< \~chinese Camera Link采集卡 \~english Camera Link interface
  174. #define MV_CXP_INTERFACE 0x00000008 ///< \~chinese CoaXPress采集卡 \~english CoaXPress interface
  175. #define MV_XOF_INTERFACE 0x00000010 ///< \~chinese XoFLink采集卡 \~english XoFLink interface
  176. #define MV_VIR_INTERFACE 0x00000020 ///< \~chinese 虚拟采集卡 \~english Virtual interface
  177. ///< \~chinese 最大支持的采集卡数量 \~english The maximum number of Frame Grabber interface supported
  178. #define MV_MAX_INTERFACE_NUM 64
  179. ///< \~chinese 采集卡信息 \~english Interface information
  180. typedef struct _MV_INTERFACE_INFO_
  181. {
  182. unsigned int nTLayerType; ///< \~chinese 采集卡类型 \~english Interface type
  183. // 低16位有效: bits(0~2)代表功能, bits(3~7)代表相机, bits(8-15)代表总线
  184. // The lower 16 bits are valid: bits (0~2) represents the function, bits (3~7) represents the device, and bits (8~15) represents the bus
  185. // |15 14 13 12 11 10 9 8 | 7 6 5 4 3 | 2 1 0 |
  186. // +-----------------------------+---------------+---------+
  187. // | bus | device | func |
  188. unsigned int nPCIEInfo; ///< \~chinese 采集卡的PCIE插槽信息 \~english PCIe slot information of interface
  189. unsigned char chInterfaceID[INFO_MAX_BUFFER_SIZE]; ///< \~chinese 采集卡ID \~english Interface ID
  190. unsigned char chDisplayName[INFO_MAX_BUFFER_SIZE]; ///< \~chinese 显示名称 \~english Display name
  191. unsigned char chSerialNumber[INFO_MAX_BUFFER_SIZE]; ///< \~chinese 序列号 \~english Serial number
  192. unsigned char chModelName[INFO_MAX_BUFFER_SIZE]; ///< [OUT] \~chinese 型号 \~english model name
  193. unsigned char chManufacturer[INFO_MAX_BUFFER_SIZE]; ///< [OUT] \~chinese 厂商 \~english manufacturer name
  194. unsigned char chDeviceVersion[INFO_MAX_BUFFER_SIZE]; ///< [OUT] \~chinese 版本号 \~english device version
  195. unsigned char chUserDefinedName[INFO_MAX_BUFFER_SIZE]; ///< [OUT] \~chinese 自定义名称 \~english user defined name
  196. unsigned int nReserved[64]; ///< \~chinese 保留字段 \~english Reserved
  197. }MV_INTERFACE_INFO;
  198. ///< \~chinese 采集卡信息列表 \~english Interface Information List
  199. typedef struct _MV_INTERFACE_INFO_LIST_
  200. {
  201. unsigned int nInterfaceNum; ///< [OUT] \~chinese 采集卡数量 \~english Interface Number
  202. MV_INTERFACE_INFO* pInterfaceInfos[MV_MAX_INTERFACE_NUM]; ///< [OUT] \~chinese 采集卡信息, 支持最多64个设备 \~english Information of interfaces, support up to 64 interfaces
  203. }MV_INTERFACE_INFO_LIST;
  204. /// \~chinese 通过GenTL枚举到的接口信息 \~english Interface Information with GenTL
  205. typedef struct _MV_GENTL_IF_INFO_
  206. {
  207. unsigned char chInterfaceID[INFO_MAX_BUFFER_SIZE]; ///< [OUT] \~chinese GenTL接口ID \~english Interface ID
  208. unsigned char chTLType[INFO_MAX_BUFFER_SIZE]; ///< [OUT] \~chinese 传输层类型 \~english GenTL Type
  209. unsigned char chDisplayName[INFO_MAX_BUFFER_SIZE]; ///< [OUT] \~chinese Interface显示名称 \~english Display Name
  210. unsigned int nCtiIndex; ///< [OUT] \~chinese GenTL的cti文件索引 \~english The Index of Cti Files
  211. unsigned int nReserved[8]; ///< \~chinese 预留 \~english Reserved
  212. }MV_GENTL_IF_INFO;
  213. ///< \~chinese 最大支持的GenTL接口数量 \~english The maximum number of GenTL interface supported
  214. #define MV_MAX_GENTL_IF_NUM 256
  215. /// \~chinese 通过GenTL枚举到的接口信息列表 \~english Inferface Information List with GenTL
  216. typedef struct _MV_GENTL_IF_INFO_LIST_
  217. {
  218. unsigned int nInterfaceNum; ///< [OUT] \~chinese 在线接口数量 \~english Online Inferface Number
  219. MV_GENTL_IF_INFO* pIFInfo[MV_MAX_GENTL_IF_NUM]; ///< [OUT] \~chinese 支持最多256个接口 \~english Support up to 256 inferfaces
  220. }MV_GENTL_IF_INFO_LIST;
  221. /// \~chinese 通过GenTL枚举到的设备信息 \~english Device Information with GenTL
  222. typedef struct _MV_GENTL_DEV_INFO_
  223. {
  224. unsigned char chInterfaceID[INFO_MAX_BUFFER_SIZE]; ///< [OUT] \~chinese GenTL接口ID \~english Interface ID
  225. unsigned char chDeviceID[INFO_MAX_BUFFER_SIZE]; ///< [OUT] \~chinese 设备ID \~english Device ID
  226. unsigned char chVendorName[INFO_MAX_BUFFER_SIZE]; ///< [OUT] \~chinese 供应商名字 \~english Vendor Name
  227. unsigned char chModelName[INFO_MAX_BUFFER_SIZE]; ///< [OUT] \~chinese 型号名字 \~english Model Name
  228. unsigned char chTLType[INFO_MAX_BUFFER_SIZE]; ///< [OUT] \~chinese 传输层类型 \~english GenTL Type
  229. unsigned char chDisplayName[INFO_MAX_BUFFER_SIZE]; ///< [OUT] \~chinese 设备显示名称 \~english Display Name
  230. unsigned char chUserDefinedName[INFO_MAX_BUFFER_SIZE]; ///< [OUT] \~chinese 用户自定义名字 \~english User Defined Name
  231. unsigned char chSerialNumber[INFO_MAX_BUFFER_SIZE]; ///< [OUT] \~chinese 序列号 \~english Serial Number
  232. unsigned char chDeviceVersion[INFO_MAX_BUFFER_SIZE]; ///< [OUT] \~chinese 设备版本号 \~english Device Version
  233. unsigned int nCtiIndex; ///< [OUT] \~chinese GenTL的cti文件索引 \~english The Index of Cti Files
  234. unsigned int nReserved[8]; ///< \~chinese 预留 \~english Reserved
  235. }MV_GENTL_DEV_INFO;
  236. ///< \~chinese 最大支持的GenTL设备数量 \~english The maximum number of GenTL devices supported
  237. #define MV_MAX_GENTL_DEV_NUM 256
  238. /// \~chinese 通过GenTL枚举到的设备信息列表 \~english Device Information List with GenTL
  239. typedef struct _MV_GENTL_DEV_INFO_LIST_
  240. {
  241. unsigned int nDeviceNum; ///< [OUT] \~chinese 在线设备数量 \~english Online Device Number
  242. MV_GENTL_DEV_INFO* pDeviceInfo[MV_MAX_GENTL_DEV_NUM]; ///< [OUT] \~chinese 支持最多256个设备 \~english Support up to 256 devices
  243. }MV_GENTL_DEV_INFO_LIST;
  244. /// \~chinese 设备的访问模式 \~english Device Access Mode
  245. #define MV_ACCESS_Exclusive 1 /// \~chinese 独占权限,其他APP只允许读CCP寄存器 \~english Exclusive authority, other APP is only allowed to read the CCP register
  246. #define MV_ACCESS_ExclusiveWithSwitch 2 /// \~chinese 可以从5模式下抢占权限,然后以独占权限打开 \~english You can seize the authority from the 5 mode, and then open with exclusive authority
  247. #define MV_ACCESS_Control 3 /// \~chinese 控制权限,其他APP允许读所有寄存器 \~english Control authority, allows other APP reading all registers
  248. #define MV_ACCESS_ControlWithSwitch 4 /// \~chinese 可以从5的模式下抢占权限,然后以控制权限打开 \~english You can seize the authority from the 5 mode, and then open with control authority
  249. #define MV_ACCESS_ControlSwitchEnable 5 /// \~chinese 以可被抢占的控制权限打开 \~english Open with seized control authority
  250. #define MV_ACCESS_ControlSwitchEnableWithKey 6 /// \~chinese 可以从5的模式下抢占权限,然后以可被抢占的控制权限打开 \~english You can seize the authority from the 5 mode, and then open with seized control authority
  251. #define MV_ACCESS_Monitor 7 /// \~chinese 读模式打开设备,适用于控制权限下 \~english Open with read mode and is available under control authority
  252. /// \~chinese Chunk内容 \~english The content of ChunkData
  253. typedef struct _MV_CHUNK_DATA_CONTENT_
  254. {
  255. unsigned char* pChunkData; ///< [OUT] \~chinese Chunk数据 \~english Chunk Data
  256. unsigned int nChunkID; ///< [OUT] \~chinese Chunk ID \~english Chunk ID
  257. unsigned int nChunkLen; ///< [OUT] \~chinese Chunk的长度 \~english Chunk Length
  258. unsigned int nReserved[8]; ///< \~chinese 预留 \~english Reserved
  259. }MV_CHUNK_DATA_CONTENT;
  260. /// \~chinese 图像信息 \~english Image information
  261. typedef struct _MV_CC_IMAGE_
  262. {
  263. unsigned int nWidth; ///< \~chinese 图像宽 \~english Width
  264. unsigned int nHeight; ///< \~chinese 图像高 \~english Height
  265. enum MvGvspPixelType enPixelType; ///< ~chinese 像素格式 \~english Pixel type
  266. unsigned char* pImageBuf; ///< \~chinese 图像缓存 \~english Image buffer
  267. uint64_t nImageBufSize; ///< \~chinese 图像缓存大小 \~english Image buffer size
  268. uint64_t nImageLen; ///< \~chinese 图像长度 \~english Image length
  269. unsigned int nReserved[4]; ///< \~chinese 预留字段 \~english Reserved
  270. }MV_CC_IMAGE;
  271. /// \~chinese 输出帧的信息 \~english Output Frame Information
  272. typedef struct _MV_FRAME_OUT_INFO_EX_
  273. {
  274. unsigned short nWidth; ///< [OUT] \~chinese 图像宽(最大65535,超出请用nExtendWidth) \~english Image Width (over 65535, use nExtendWidth)
  275. unsigned short nHeight; ///< [OUT] \~chinese 图像高(最大65535,超出请用nExtendHeight) \~english Image Height(over 65535, use nExtendHeight)
  276. enum MvGvspPixelType enPixelType; ///< [OUT] \~chinese 像素格式 \~english Pixel Type
  277. unsigned int nFrameNum; ///< [OUT] \~chinese 帧号 \~english Frame Number
  278. unsigned int nDevTimeStampHigh; ///< [OUT] \~chinese 时间戳高32位 \~english Timestamp high 32 bits
  279. unsigned int nDevTimeStampLow; ///< [OUT] \~chinese 时间戳低32位 \~english Timestamp low 32 bits
  280. unsigned int nReserved0; ///< [OUT] \~chinese 保留,8字节对齐 \~english Reserved, 8-byte aligned
  281. int64_t nHostTimeStamp; ///< [OUT] \~chinese 主机生成的时间戳 \~english Host-generated timestamp
  282. unsigned int nFrameLen; ///< [OUT] \~chinese 帧的长度(4GB以上图像使用nFrameLenEx替代) \~english The Length of Frame
  283. /// \~chinese 设备水印时标 \~english Device frame-specific time scale
  284. unsigned int nSecondCount; ///< [OUT] \~chinese 秒数 \~english The Seconds
  285. unsigned int nCycleCount; ///< [OUT] \~chinese 周期数 \~english The Count of Cycle
  286. unsigned int nCycleOffset; ///< [OUT] \~chinese 周期偏移量 \~english The Offset of Cycle
  287. float fGain; ///< [OUT] \~chinese 增益 \~english Gain
  288. float fExposureTime; ///< [OUT] \~chinese 曝光时间 \~english Exposure Time
  289. unsigned int nAverageBrightness; ///< [OUT] \~chinese 平均亮度 \~english Average brightness
  290. /// \~chinese 白平衡相关 \~english White balance
  291. unsigned int nRed; ///< [OUT] \~chinese 红色 \~english Red
  292. unsigned int nGreen; ///< [OUT] \~chinese 绿色 \~english Green
  293. unsigned int nBlue; ///< [OUT] \~chinese 蓝色 \~english Blue
  294. unsigned int nFrameCounter; ///< [OUT] \~chinese 总帧数 \~english Frame Counter
  295. unsigned int nTriggerIndex; ///< [OUT] \~chinese 触发计数 \~english Trigger Counting
  296. unsigned int nInput; ///< [OUT] \~chinese 输入 \~english Input
  297. unsigned int nOutput; ///< [OUT] \~chinese 输出 \~english Output
  298. /// \~chinese ROI区域 \~english ROI Region
  299. unsigned short nOffsetX; ///< [OUT] \~chinese 水平偏移量 \~english OffsetX
  300. unsigned short nOffsetY; ///< [OUT] \~chinese 垂直偏移量 \~english OffsetY
  301. unsigned short nChunkWidth; ///< [OUT] \~chinese Chunk宽 \~english The Width of Chunk
  302. unsigned short nChunkHeight; ///< [OUT] \~chinese Chunk高 \~english The Height of Chunk
  303. unsigned int nLostPacket; ///< [OUT] \~chinese 本帧丢包数 \~english Lost Packet Number In This Frame
  304. unsigned int nUnparsedChunkNum; ///< [OUT] \~chinese 未解析的Chunkdata个数 \~english Unparsed Chunk Number
  305. union
  306. {
  307. MV_CHUNK_DATA_CONTENT* pUnparsedChunkContent; ///< [OUT] \~chinese 未解析的Chunk \~english Unparsed Chunk Content
  308. int64_t nAligning; ///< [OUT] \~chinese 校准 \~english Aligning
  309. }UnparsedChunkList;
  310. unsigned int nExtendWidth; ///< [OUT] \~chinese 图像宽(扩展变量) \~english Image Width
  311. unsigned int nExtendHeight; ///< [OUT] \~chinese 图像高(扩展变量) \~english Image Height
  312. uint64_t nFrameLenEx; ///< [OUT] \~chinese 帧的长度 \~english The Length of Frame
  313. unsigned int nReserved1; ///< [OUT] \~chinese 保留,用于对齐 \~english Reserved
  314. unsigned int nSubImageNum; ///< [OUT] \~chinese 图像缓存中的子图个数
  315. union
  316. {
  317. MV_CC_IMAGE* pstSubImage; ///< [OUT] \~chinese 子图信息 \~english Sub image info
  318. int64_t nAligning; ///< [OUT] \~chinese 校准 \~english Aligning
  319. }SubImageList;
  320. union
  321. {
  322. void* pUser; ///< [OUT] \~chinese 自定义指针(外部注册缓存时,内存地址对应的用户自定义指针) \~english Custom pointer (user-defined pointer corresponding to memory address when registering external cache)
  323. int64_t nAligning; ///< [OUT] \~chinese 校准 \~english Aligning
  324. }UserPtr;
  325. unsigned int nReserved[26]; ///< \~chinese 预留 \~english Reserved
  326. }MV_FRAME_OUT_INFO_EX;
  327. /// \~chinese 图像结构体,输出图像地址及图像信息 \~english Image Struct, output the pointer of Image and the information of the specific image
  328. typedef struct _MV_FRAME_OUT_
  329. {
  330. unsigned char* pBufAddr; ///< [OUT] \~chinese 图像指针地址 \~english pointer of image
  331. MV_FRAME_OUT_INFO_EX stFrameInfo; ///< [OUT] \~chinese 图像信息 \~english information of the specific image
  332. unsigned int nRes[16]; ///< \~chinese 预留 \~english Reserved
  333. }MV_FRAME_OUT;
  334. /// \~chinese 取流策略 \~english The strategy of Grabbing
  335. typedef enum _MV_GRAB_STRATEGY_
  336. {
  337. MV_GrabStrategy_OneByOne = 0, ///< \~chinese 从旧到新一帧一帧的获取图像 \~english Grab One By One
  338. MV_GrabStrategy_LatestImagesOnly = 1, ///< \~chinese 获取列表中最新的一帧图像 \~english Grab The Latest Image
  339. MV_GrabStrategy_LatestImages = 2, ///< \~chinese 获取列表中最新的图像 \~english Grab The Latest Images
  340. MV_GrabStrategy_UpcomingImage = 3, ///< \~chinese 等待下一帧图像 \~english Grab The Upcoming Image
  341. }MV_GRAB_STRATEGY;
  342. /// \~chinese 网络传输的相关信息 \~english Network transmission information
  343. typedef struct _MV_NETTRANS_INFO_
  344. {
  345. int64_t nReceiveDataSize; ///< [OUT] \~chinese 已接收数据大小[Start和Stop之间] \~english Received Data Size
  346. int nThrowFrameCount; ///< [OUT] \~chinese 丢帧数量 \~english Throw frame number
  347. unsigned int nNetRecvFrameCount; ///< [OUT] \~chinese 已接收的帧数 \~english Received Frame Count
  348. int64_t nRequestResendPacketCount; ///< [OUT] \~chinese 请求重发包数 \~english Request Resend Packet Count
  349. int64_t nResendPacketCount; ///< [OUT] \~chinese 重发包数 \~english Resend Packet Count
  350. }MV_NETTRANS_INFO;
  351. /// \~chinese 信息类型 \~english Information Type
  352. #define MV_MATCH_TYPE_NET_DETECT 0x00000001 ///< \~chinese 网络流量和丢包信息 \~english Network traffic and packet loss information
  353. #define MV_MATCH_TYPE_USB_DETECT 0x00000002 ///< \~chinese host接收到来自U3V设备的字节总数 \~english The total number of bytes host received from U3V device
  354. /// \~chinese 全匹配的一种信息结构体 \~english A fully matched information structure
  355. typedef struct _MV_ALL_MATCH_INFO_
  356. {
  357. unsigned int nType; ///< [IN] \~chinese 需要输出的信息类型,e.g. MV_MATCH_TYPE_NET_DETECT、MV_MATCH_TYPE_USB_DETECT \~english Information type need to output ,e.g. MV_MATCH_TYPE_NET_DETECT、MV_MATCH_TYPE_USB_DETECT
  358. void* pInfo; ///< [OUT] \~chinese 输出的信息缓存,由调用者分配 \~english Output information cache, which is allocated by the caller
  359. unsigned int nInfoSize; ///< [IN] \~chinese 信息缓存的大小 \~english Information cache size
  360. }MV_ALL_MATCH_INFO;
  361. /// \~chinese 网络流量和丢包信息反馈结构体,对应类型为 MV_MATCH_TYPE_NET_DETECT \~english Network traffic and packet loss feedback structure, the corresponding type is MV_MATCH_TYPE_NET_DETECT
  362. typedef struct _MV_MATCH_INFO_NET_DETECT_
  363. {
  364. int64_t nReceiveDataSize; ///< [OUT] \~chinese 已接收数据大小[Start和Stop之间] \~english Received data size
  365. int64_t nLostPacketCount; ///< [OUT] \~chinese 丢失的包数量 \~english Number of packets lost
  366. unsigned int nLostFrameCount; ///< [OUT] \~chinese 丢帧数量 \~english Number of frames lost
  367. unsigned int nNetRecvFrameCount; ///< [OUT] \~chinese 接收到的图像帧数 \~english Received Frame Count
  368. int64_t nRequestResendPacketCount; ///< [OUT] \~chinese 请求重发包数 \~english Request Resend Packet Count
  369. int64_t nResendPacketCount; ///< [OUT] \~chinese 重发包数 \~english Resend Packet Count
  370. }MV_MATCH_INFO_NET_DETECT;
  371. /// \~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
  372. typedef struct _MV_MATCH_INFO_USB_DETECT_
  373. {
  374. int64_t nReceiveDataSize; ///< [OUT] \~chinese 已接收数据大小 [Open和Close之间] \~english Received data size
  375. unsigned int nReceivedFrameCount; ///< [OUT] \~chinese 已收到的帧数 \~english Number of frames received
  376. unsigned int nErrorFrameCount; ///< [OUT] \~chinese 错误帧数 \~english Number of error frames
  377. unsigned int nReserved[2]; ///< \~chinese 保留 \~english Reserved
  378. }MV_MATCH_INFO_USB_DETECT;
  379. /// \~chinese 显示帧信息 \~english Display frame information
  380. typedef struct _MV_DISPLAY_FRAME_INFO_EX_
  381. {
  382. unsigned int nWidth; ///< [IN] \~chinese 图像宽 \~english Width
  383. unsigned int nHeight; ///< [IN] \~chinese 图像高 \~english Height
  384. enum MvGvspPixelType enPixelType; ///< [IN] \~chinese 像素格式 \~english Pixel type
  385. unsigned char* pImageBuf; ///< [IN] \~chinese 输入图像缓存 \~english Input image buffer
  386. unsigned int nImageBufLen; ///< [IN] \~chinese 输入图像长度 \~english Input image length
  387. unsigned int enRenderMode; /// [IN] \~chinese 图像渲染方式 Windows:0-GDI(默认), 1-D3D, 2-OPENGL Linux: 0-OPENGL(默认) \~english Windows:0-GDI(default), 1-D3D, 2-OPENGL Linux: 0-OPENGL(default)
  388. unsigned int nRes[3]; ///< \~chinese 保留 \~english Reserved
  389. }MV_DISPLAY_FRAME_INFO_EX;
  390. /// \~chinese 保存图片格式 \~english Save image type
  391. enum MV_SAVE_IAMGE_TYPE
  392. {
  393. MV_Image_Undefined = 0, ///< \~chinese 未定义的图像格式 \~english Undefined Image Type
  394. MV_Image_Bmp = 1, ///< \~chinese BMP图像格式 \~english BMP Image Type
  395. MV_Image_Jpeg = 2, ///< \~chinese JPEG图像格式 \~english Jpeg Image Type
  396. MV_Image_Png = 3, ///< \~chinese PNG图像格式 \~english Png Image Type
  397. MV_Image_Tif = 4, ///< \~chinese TIFF图像格式 \~english TIFF Image Type
  398. };
  399. /// \~chinese 图片保存参数 \~english Save Image Parameters
  400. typedef struct _MV_SAVE_IMAGE_PARAM_EX3_
  401. {
  402. unsigned char* pData; ///< [IN] \~chinese 输入数据缓存 \~english Input Data Buffer
  403. unsigned int nDataLen; ///< [IN] \~chinese 输入数据长度 \~english Input Data length
  404. enum MvGvspPixelType enPixelType; ///< [IN] \~chinese 输入数据的像素格式 \~english Input Data Pixel Format
  405. unsigned int nWidth; ///< [IN] \~chinese 图像宽 \~english Image Width
  406. unsigned int nHeight; ///< [IN] \~chinese 图像高 \~english Image Height
  407. unsigned char* pImageBuffer; ///< [OUT] \~chinese 输出图片缓存 \~english Output Image Buffer
  408. unsigned int nImageLen; ///< [OUT] \~chinese 输出图片长度 \~english Output Image length
  409. unsigned int nBufferSize; ///< [IN] \~chinese 提供的输出缓冲区大小 \~english Output buffer size provided
  410. enum MV_SAVE_IAMGE_TYPE enImageType; ///< [IN] \~chinese 输出图片格式 \~english Output Image Format
  411. unsigned int nJpgQuality; ///< [IN] \~chinese JPG编码质量(50-99],其它格式无效 \~english Encoding quality(50-99],Other formats are invalid
  412. unsigned int iMethodValue; ///< [IN] \~chinese 插值方法 0-快速 1-均衡(其它值默认为均衡) 2-最优 3-最优+ \~english Bayer interpolation method 0-Fast 1-Equilibrium 2-Optimal 3-Optimal+
  413. unsigned int nReserved[3]; ///< \~chinese 预留 \~english Reserved
  414. }MV_SAVE_IMAGE_PARAM_EX3;
  415. // 保存图片到文件参数
  416. typedef struct _MV_SAVE_IMAGE_TO_FILE_PARAM_EX_
  417. {
  418. unsigned int nWidth; ///< [IN] 图像宽
  419. unsigned int nHeight; ///< [IN] 图像高
  420. enum MvGvspPixelType enPixelType; ///< [IN] 输入数据的像素格式
  421. unsigned char* pData; ///< [IN] 输入数据缓存
  422. unsigned int nDataLen; ///< [IN] 输入数据大小
  423. enum MV_SAVE_IAMGE_TYPE enImageType; ///< [IN] 输入图片格式
  424. char* pcImagePath; ///< [IN] 输入文件路径
  425. unsigned int nQuality; ///< [IN] JPG编码质量(50-99],其它格式无效
  426. int iMethodValue; ///< [IN] 插值方法 0-快速 1-均衡(其它值默认为均衡) 2-最优 3-最优+
  427. unsigned int nReserved[8];
  428. }MV_SAVE_IMAGE_TO_FILE_PARAM_EX;
  429. // 保存图片所需参数
  430. typedef struct _MV_CC_SAVE_IMAGE_PARAM_
  431. {
  432. enum MV_SAVE_IAMGE_TYPE enImageType; ///< [IN] 输入图片格式
  433. unsigned int nQuality; ///< [IN] JPG编码质量(50-99],其它格式无效
  434. int iMethodValue; ///< [IN] 插值方法 0-快速 1-均衡(其它值默认为均衡) 2-最优 3-最优+
  435. unsigned int nReserved[8];
  436. }MV_CC_SAVE_IMAGE_PARAM;
  437. /// \~chinese 旋转角度 \~english Rotation angle
  438. typedef enum _MV_IMG_ROTATION_ANGLE_
  439. {
  440. MV_IMAGE_ROTATE_90 = 1,
  441. MV_IMAGE_ROTATE_180 = 2,
  442. MV_IMAGE_ROTATE_270 = 3,
  443. }MV_IMG_ROTATION_ANGLE;
  444. /// \~chinese 图像旋转结构体 \~english Rotate image structure
  445. typedef struct _MV_CC_ROTATE_IMAGE_PARAM_T_
  446. {
  447. enum MvGvspPixelType enPixelType; ///< [IN] \~chinese 像素格式 \~english Pixel format
  448. unsigned int nWidth; ///< [IN][OUT] \~chinese 图像宽 \~english Width
  449. unsigned int nHeight; ///< [IN][OUT] \~chinese 图像高 \~english Height
  450. unsigned char* pSrcData; ///< [IN] \~chinese 输入数据缓存 \~english Input data buffer
  451. unsigned int nSrcDataLen; ///< [IN] \~chinese 输入数据长度 \~english Input data length
  452. unsigned char* pDstBuf; ///< [OUT] \~chinese 输出数据缓存 \~english Output data buffer
  453. unsigned int nDstBufLen; ///< [OUT] \~chinese 输出数据长度 \~english Output data length
  454. unsigned int nDstBufSize; ///< [IN] \~chinese 提供的输出缓冲区大小 \~english Provided output buffer size
  455. MV_IMG_ROTATION_ANGLE enRotationAngle; ///< [IN] \~chinese 旋转角度 \~english Rotation angle
  456. unsigned int nRes[8]; ///< \~chinese 预留 \~english Reserved
  457. }MV_CC_ROTATE_IMAGE_PARAM;
  458. /// \~chinese 翻转类型 \~english Flip type
  459. typedef enum _MV_IMG_FLIP_TYPE_
  460. {
  461. MV_FLIP_VERTICAL = 1,
  462. MV_FLIP_HORIZONTAL = 2,
  463. }MV_IMG_FLIP_TYPE;
  464. /// \~chinese 图像翻转结构体 \~english Flip image structure
  465. typedef struct _MV_CC_FLIP_IMAGE_PARAM_T_
  466. {
  467. enum MvGvspPixelType enPixelType; ///< [IN] \~chinese 像素格式 \~english Pixel format
  468. unsigned int nWidth; ///< [IN] \~chinese 图像宽 \~english Width
  469. unsigned int nHeight; ///< [IN] \~chinese 图像高 \~english Height
  470. unsigned char* pSrcData; ///< [IN] \~chinese 输入数据缓存 \~english Input data buffer
  471. unsigned int nSrcDataLen; ///< [IN] \~chinese 输入数据长度 \~english Input data length
  472. unsigned char* pDstBuf; ///< [OUT] \~chinese 输出数据缓存 \~english Output data buffer
  473. unsigned int nDstBufLen; ///< [OUT] \~chinese 输出数据长度 \~english Output data length
  474. unsigned int nDstBufSize; ///< [IN] \~chinese 提供的输出缓冲区大小 \~english Provided output buffer size
  475. MV_IMG_FLIP_TYPE enFlipType; ///< [IN] \~chinese 翻转类型 \~english Flip type
  476. unsigned int nRes[8]; ///< \~chinese 预留 \~english Reserved
  477. }MV_CC_FLIP_IMAGE_PARAM;
  478. /// \~chinese 像素转换结构体 \~english Pixel convert structure
  479. typedef struct _MV_CC_PIXEL_CONVERT_PARAM_EX_
  480. {
  481. unsigned int nWidth; ///< [IN] \~chinese 图像宽 \~english Width
  482. unsigned int nHeight; ///< [IN] \~chinese 图像高 \~english Height
  483. enum MvGvspPixelType enSrcPixelType; ///< [IN] \~chinese 源像素格式 \~english Source pixel format
  484. unsigned char* pSrcData; ///< [IN] \~chinese 输入数据缓存 \~english Input data buffer
  485. unsigned int nSrcDataLen; ///< [IN] \~chinese 输入数据长度 \~english Input data length
  486. enum MvGvspPixelType enDstPixelType; ///< [IN] \~chinese 目标像素格式 \~english Destination pixel format
  487. unsigned char* pDstBuffer; ///< [OUT] \~chinese 输出数据缓存 \~english Output data buffer
  488. unsigned int nDstLen; ///< [OUT] \~chinese 输出数据长度 \~english Output data length
  489. unsigned int nDstBufferSize; ///< [IN] \~chinese 提供的输出缓冲区大小 \~english Provided output buffer size
  490. unsigned int nRes[4]; ///< \~chinese 预留 \~english Reserved
  491. }MV_CC_PIXEL_CONVERT_PARAM_EX;
  492. /// \~chinese Gamma类型 \~english Gamma type
  493. typedef enum _MV_CC_GAMMA_TYPE_
  494. {
  495. MV_CC_GAMMA_TYPE_NONE = 0, ///< \~chinese 不启用 \~english Disable
  496. MV_CC_GAMMA_TYPE_VALUE = 1, ///< \~chinese Gamma值 \~english Gamma value
  497. MV_CC_GAMMA_TYPE_USER_CURVE = 2, ///< \~chinese Gamma曲线 \~english Gamma curve
  498. ///< \~chinese 8位,长度:256*sizeof(unsigned char) \~english 8bit,length:256*sizeof(unsigned char)
  499. ///< \~chinese 10位,长度:1024*sizeof(unsigned short) \~english 10bit,length:1024*sizeof(unsigned short)
  500. ///< \~chinese 12位,长度:4096*sizeof(unsigned short) \~english 12bit,length:4096*sizeof(unsigned short)
  501. ///< \~chinese 16位,长度:65536*sizeof(unsigned short) \~english 16bit,length:65536*sizeof(unsigned short)
  502. MV_CC_GAMMA_TYPE_LRGB2SRGB = 3, ///< \~chinese linear RGB to sRGB \~english linear RGB to sRGB
  503. MV_CC_GAMMA_TYPE_SRGB2LRGB = 4, ///< \~chinese sRGB to linear RGB(仅色彩插值时支持,色彩校正时无效) \~english sRGB to linear RGB
  504. }MV_CC_GAMMA_TYPE;
  505. // Gamma信息
  506. /// \~chinese Gamma信息结构体 \~english Gamma info structure
  507. typedef struct _MV_CC_GAMMA_PARAM_T_
  508. {
  509. MV_CC_GAMMA_TYPE enGammaType; ///< [IN] \~chinese Gamma类型 \~english Gamma type
  510. float fGammaValue; ///< [IN] \~chinese Gamma值:0.1 ~ 4.0 \~english Gamma value:0.1 ~ 4.0
  511. unsigned char* pGammaCurveBuf; ///< [IN] \~chinese Gamma曲线缓存 \~english Gamma curve buffer
  512. unsigned int nGammaCurveBufLen; ///< [IN] \~chinese Gamma曲线长度 \~english Gamma curve buffer size
  513. unsigned int nRes[8]; ///< \~chinese 预留 \~english Reserved
  514. }MV_CC_GAMMA_PARAM;
  515. /// \~chinese CCM参数 \~english CCM param
  516. typedef struct _MV_CC_CCM_PARAM_T_
  517. {
  518. bool bCCMEnable; ///< [IN] \~chinese 是否启用CCM \~english CCM enable
  519. int nCCMat[9]; ///< [IN] \~chinese CCM矩阵[-8192~8192] \~english Color correction matrix[-8192~8192]
  520. unsigned int nRes[8]; ///< \~chinese 预留 \~english Reserved
  521. }MV_CC_CCM_PARAM;
  522. /// \~chinese CCM参数 \~english CCM param
  523. typedef struct _MV_CC_CCM_PARAM_EX_T_
  524. {
  525. bool bCCMEnable; ///< [IN] \~chinese 是否启用CCM \~english CCM enable
  526. int nCCMat[9]; ///< [IN] \~chinese CCM矩阵[-65536~65536] \~english Color correction matrix[-65536~65536]
  527. unsigned int nCCMScale; ///< [IN] \~chinese 量化系数(2的整数幂,最大65536) \~english Quantitative scale(Integer power of 2, <= 65536)
  528. unsigned int nRes[8]; ///< \~chinese 预留 \~english Reserved
  529. }MV_CC_CCM_PARAM_EX;
  530. /// \~chinese 对比度调节结构体 \~english Contrast structure
  531. typedef struct _MV_CC_CONTRAST_PARAM_T_
  532. {
  533. unsigned int nWidth; ///< [IN] \~chinese 图像宽度(最小8) \~english Image Width
  534. unsigned int nHeight; ///< [IN] \~chinese 图像高度(最小8) \~english Image Height
  535. unsigned char* pSrcBuf; ///< [IN] \~chinese 输入数据缓存 \~english Input data buffer
  536. unsigned int nSrcBufLen; ///< [IN] \~chinese 输入数据大小 \~english Input data length
  537. enum MvGvspPixelType enPixelType; ///< [IN] \~chinese 像素格式 \~english Pixel format
  538. unsigned char* pDstBuf; ///< [OUT] \~chinese 输出数据缓存 \~english Output data buffer
  539. unsigned int nDstBufSize; ///< [IN] \~chinese 提供的输出缓冲区大小 \~english Provided output buffer size
  540. unsigned int nDstBufLen; ///< [OUT] \~chinese 输出数据长度 \~english Output data length
  541. unsigned int nContrastFactor; ///< [IN] \~chinese 对比度值,[1,10000] \~english Contrast factor,[1,10000]
  542. unsigned int nRes[8]; ///< \~chinese 预留 \~english Reserved
  543. }MV_CC_CONTRAST_PARAM;
  544. /// \~chinese 水印信息 \~english Frame-specific information
  545. typedef struct _MV_CC_FRAME_SPEC_INFO_
  546. {
  547. /// \~chinese 设备水印时标 \~english Device frame-specific time scale
  548. unsigned int nSecondCount; ///< [OUT] \~chinese 秒数 \~english The Seconds
  549. unsigned int nCycleCount; ///< [OUT] \~chinese 周期数 \~english The Count of Cycle
  550. unsigned int nCycleOffset; ///< [OUT] \~chinese 周期偏移量 \~english The Offset of Cycle
  551. float fGain; ///< [OUT] \~chinese 增益 \~english Gain
  552. float fExposureTime; ///< [OUT] \~chinese 曝光时间 \~english Exposure Time
  553. unsigned int nAverageBrightness; ///< [OUT] \~chinese 平均亮度 \~english Average brightness
  554. /// \~chinese 白平衡相关 \~english White balance
  555. unsigned int nRed; ///< [OUT] \~chinese 红色 \~english Red
  556. unsigned int nGreen; ///< [OUT] \~chinese 绿色 \~english Green
  557. unsigned int nBlue; ///< [OUT] \~chinese 蓝色 \~english Blue
  558. unsigned int nFrameCounter; ///< [OUT] \~chinese 总帧数 \~english Frame Counter
  559. unsigned int nTriggerIndex; ///< [OUT] \~chinese 触发计数 \~english Trigger Counting
  560. unsigned int nInput; ///< [OUT] \~chinese 输入 \~english Input
  561. unsigned int nOutput; ///< [OUT] \~chinese 输出 \~english Output
  562. /// \~chinese ROI区域 \~english ROI Region
  563. unsigned short nOffsetX; ///< [OUT] \~chinese 水平偏移量 \~english OffsetX
  564. unsigned short nOffsetY; ///< [OUT] \~chinese 垂直偏移量 \~english OffsetY
  565. unsigned short nFrameWidth; ///< [OUT] \~chinese 水印宽 \~english The Width of Chunk
  566. unsigned short nFrameHeight; ///< [OUT] \~chinese 水印高 \~english The Height of Chunk
  567. unsigned int nReserved[16]; ///< \~chinese 预留 \~english Reserved
  568. }MV_CC_FRAME_SPEC_INFO;
  569. /// \~chinese 去紫边结构体 \~english PurpleFringing structure
  570. typedef struct _MV_CC_PURPLE_FRINGING_PARAM_T_
  571. {
  572. unsigned int nWidth; ///< [IN] \~chinese 图像宽度(最小4) \~english Image Width
  573. unsigned int nHeight; ///< [IN] \~chinese 图像高度(最小4) \~english Image Height
  574. unsigned char* pSrcBuf; ///< [IN] \~chinese 输入数据缓存 \~english Input data buffer
  575. unsigned int nSrcBufLen; ///< [IN] \~chinese 输入数据大小 \~english Input data length
  576. enum MvGvspPixelType enPixelType; ///< [IN] \~chinese 像素格式 \~english Pixel format
  577. unsigned char* pDstBuf; ///< [OUT] \~chinese 输出数据缓存 \~english Output data buffer
  578. unsigned int nDstBufSize; ///< [IN] \~chinese 提供的输出缓冲区大小 \~english Provided output buffer size
  579. unsigned int nDstBufLen; ///< [OUT] \~chinese 输出数据长度 \~english Output data length
  580. unsigned int nKernelSize; ///< [IN] \~chinese 滤波核尺寸,推荐值3,5,7,9 \~english Filter Kernel Size, recommend 3,5,7,9
  581. unsigned int nEdgeThreshold; ///< [IN] \~chinese 边缘阈值[0,2040] \~english EdgeThreshold
  582. unsigned int nRes[8]; ///< \~chinese 预留 \~english Reserved
  583. }MV_CC_PURPLE_FRINGING_PARAM;
  584. /// \~chinese 无损解码参数 \~english High Bandwidth decode structure
  585. typedef struct _MV_CC_HB_DECODE_PARAM_T_
  586. {
  587. unsigned char* pSrcBuf; ///< [IN] \~chinese 输入数据缓存 \~english Input data buffer
  588. unsigned int nSrcLen; ///< [IN] \~chinese 输入数据大小 \~english Input data size
  589. unsigned int nWidth; ///< [OUT] \~chinese 图像宽 \~english Width
  590. unsigned int nHeight; ///< [OUT] \~chinese 图像高 \~english Height
  591. unsigned char* pDstBuf; ///< [OUT] \~chinese 输出数据缓存 \~english Output data buffer
  592. unsigned int nDstBufSize; ///< [IN] \~chinese 提供的输出缓冲区大小 \~english Provided output buffer size
  593. unsigned int nDstBufLen; ///< [OUT] \~chinese 输出数据大小 \~english Output data size
  594. enum MvGvspPixelType enDstPixelType; ///< [OUT] \~chinese 输出的像素格式 \~english Output pixel format
  595. MV_CC_FRAME_SPEC_INFO stFrameSpecInfo; ///< [OUT] \~chinese 水印信息 \~english Frame Spec Info
  596. unsigned int nRes[8]; ///< \~chinese 预留 \~english Reserved
  597. }MV_CC_HB_DECODE_PARAM;
  598. /// \~chinese 录像格式定义 \~english Record Format Type
  599. typedef enum _MV_RECORD_FORMAT_TYPE_
  600. {
  601. MV_FormatType_Undefined = 0, ///< \~chinese 未定义的录像格式 \~english Undefined Recode Format Type
  602. MV_FormatType_AVI = 1, ///< \~chinese AVI录像格式 \~english AVI Recode Format Type
  603. }MV_RECORD_FORMAT_TYPE;
  604. /// \~chinese 录像参数 \~english Record Parameters
  605. typedef struct _MV_CC_RECORD_PARAM_T_
  606. {
  607. enum MvGvspPixelType enPixelType; ///< [IN] \~chinese 输入数据的像素格式 \~english Pixel Type
  608. unsigned short nWidth; ///< [IN] \~chinese 图像宽(2的倍数) \~english Width
  609. unsigned short nHeight; ///< [IN] \~chinese 图像高(2的倍数) \~english Height
  610. float fFrameRate; ///< [IN] \~chinese 帧率fps(大于1/16) \~english The Rate of Frame
  611. unsigned int nBitRate; ///< [IN] \~chinese 码率kbps(128-16*1024) \~english The Rate of Bitrate
  612. MV_RECORD_FORMAT_TYPE enRecordFmtType; ///< [IN] \~chinese 录像格式 \~english Recode Format Type
  613. char* strFilePath; ///< [IN] \~chinese 录像文件存放路径(如果路径中存在中文,需转成utf-8) \~english File Path
  614. unsigned int nRes[8]; ///< \~chinese 预留 \~english Reserved
  615. }MV_CC_RECORD_PARAM;
  616. /// \~chinese 传入的图像数据 \~english Input Data
  617. typedef struct _MV_CC_INPUT_FRAME_INFO_T_
  618. {
  619. unsigned char* pData; ///< [IN] \~chinese 图像数据指针 \~english Record Data
  620. unsigned int nDataLen; ///< [IN] \~chinese 图像大小 \~english The Length of Record Data
  621. unsigned int nRes[8]; ///< \~chinese 预留 \~english Reserved
  622. }MV_CC_INPUT_FRAME_INFO;
  623. /// \~chinese 采集模式 \~english Acquisition mode
  624. typedef enum _MV_CAM_ACQUISITION_MODE_
  625. {
  626. MV_ACQ_MODE_SINGLE = 0, ///< \~chinese 单帧模式 \~english Single Mode
  627. MV_ACQ_MODE_MUTLI = 1, ///< \~chinese 多帧模式 \~english Multi Mode
  628. MV_ACQ_MODE_CONTINUOUS = 2, ///< \~chinese 持续采集模式 \~english Continuous Mode
  629. }MV_CAM_ACQUISITION_MODE;
  630. /// \~chinese 增益模式 \~english Gain Mode
  631. typedef enum _MV_CAM_GAIN_MODE_
  632. {
  633. MV_GAIN_MODE_OFF = 0, ///< \~chinese 关闭 \~english Single Mode
  634. MV_GAIN_MODE_ONCE = 1, ///< \~chinese 一次 \~english Multi Mode
  635. MV_GAIN_MODE_CONTINUOUS = 2, ///< \~chinese 连续 \~english Continuous Mode
  636. }MV_CAM_GAIN_MODE;
  637. /// \~chinese 曝光模式 \~english Exposure Mode
  638. typedef enum _MV_CAM_EXPOSURE_MODE_
  639. {
  640. MV_EXPOSURE_MODE_TIMED = 0, ///< \~chinese 时间 \~english Timed
  641. MV_EXPOSURE_MODE_TRIGGER_WIDTH = 1, ///< \~chinese 触发脉冲宽度 \~english TriggerWidth
  642. }MV_CAM_EXPOSURE_MODE;
  643. /// \~chinese 自动曝光模式 \~english Auto Exposure Mode
  644. typedef enum _MV_CAM_EXPOSURE_AUTO_MODE_
  645. {
  646. MV_EXPOSURE_AUTO_MODE_OFF = 0, ///< \~chinese 关闭 \~english Off
  647. MV_EXPOSURE_AUTO_MODE_ONCE = 1, ///< \~chinese 一次 \~english Once
  648. MV_EXPOSURE_AUTO_MODE_CONTINUOUS = 2, ///< \~chinese 连续 \~english Continuous
  649. }MV_CAM_EXPOSURE_AUTO_MODE;
  650. /// \~chinese 触发模式 \~english Trigger Mode
  651. typedef enum _MV_CAM_TRIGGER_MODE_
  652. {
  653. MV_TRIGGER_MODE_OFF = 0, ///< \~chinese 关闭 \~english Off
  654. MV_TRIGGER_MODE_ON = 1, ///< \~chinese 打开 \~english ON
  655. }MV_CAM_TRIGGER_MODE;
  656. /// \~chinese Gamma选择器 \~english Gamma Selector
  657. typedef enum _MV_CAM_GAMMA_SELECTOR_
  658. {
  659. MV_GAMMA_SELECTOR_USER = 1, ///< \~chinese 用户 \~english Gamma Selector User
  660. MV_GAMMA_SELECTOR_SRGB = 2, ///< \~chinese sRGB \~english Gamma Selector sRGB
  661. }MV_CAM_GAMMA_SELECTOR;
  662. /// \~chinese 白平衡 \~english White Balance
  663. typedef enum _MV_CAM_BALANCEWHITE_AUTO_
  664. {
  665. MV_BALANCEWHITE_AUTO_OFF = 0, ///< \~chinese 关闭 \~english Off
  666. MV_BALANCEWHITE_AUTO_ONCE = 2, ///< \~chinese 一次 \~english Once
  667. MV_BALANCEWHITE_AUTO_CONTINUOUS = 1, ///< \~chinese 连续 \~english Continuous
  668. }MV_CAM_BALANCEWHITE_AUTO;
  669. /// \~chinese 触发源 \~english Trigger Source
  670. typedef enum _MV_CAM_TRIGGER_SOURCE_
  671. {
  672. MV_TRIGGER_SOURCE_LINE0 = 0, ///< \~chinese Line0 \~english Line0
  673. MV_TRIGGER_SOURCE_LINE1 = 1, ///< \~chinese Line1 \~english Line1
  674. MV_TRIGGER_SOURCE_LINE2 = 2, ///< \~chinese Line2 \~english Line2
  675. MV_TRIGGER_SOURCE_LINE3 = 3, ///< \~chinese Line3 \~english Line3
  676. MV_TRIGGER_SOURCE_COUNTER0 = 4, ///< \~chinese Conuter0 \~english Conuter0
  677. MV_TRIGGER_SOURCE_SOFTWARE = 7, ///< \~chinese 软触发 \~english Software
  678. MV_TRIGGER_SOURCE_FrequencyConverter= 8, ///< \~chinese 变频器 \~english Frequency Converter
  679. }MV_CAM_TRIGGER_SOURCE;
  680. /// \~chinese GigEVision IP配置 \~english GigEVision IP Configuration
  681. #define MV_IP_CFG_STATIC 0x05000000 ///< \~chinese 静态 \~english Static
  682. #define MV_IP_CFG_DHCP 0x06000000 ///< \~chinese DHCP \~english DHCP
  683. #define MV_IP_CFG_LLA 0x04000000 ///< \~chinese LLA \~english LLA
  684. /// \~chinese GigEVision网络传输模式 \~english GigEVision Net Transfer Mode
  685. #define MV_NET_TRANS_DRIVER 0x00000001 ///< \~chinese 驱动 \~english Driver
  686. #define MV_NET_TRANS_SOCKET 0x00000002 ///< \~chinese Socket \~english Socket
  687. /// \~chinese CameraLink波特率 \~english CameraLink Baud Rates (CLUINT32)
  688. #define MV_CAML_BAUDRATE_9600 0x00000001 ///< \~chinese 9600 \~english 9600
  689. #define MV_CAML_BAUDRATE_19200 0x00000002 ///< \~chinese 19200 \~english 19200
  690. #define MV_CAML_BAUDRATE_38400 0x00000004 ///< \~chinese 38400 \~english 38400
  691. #define MV_CAML_BAUDRATE_57600 0x00000008 ///< \~chinese 57600 \~english 57600
  692. #define MV_CAML_BAUDRATE_115200 0x00000010 ///< \~chinese 115200 \~english 115200
  693. #define MV_CAML_BAUDRATE_230400 0x00000020 ///< \~chinese 230400 \~english 230400
  694. #define MV_CAML_BAUDRATE_460800 0x00000040 ///< \~chinese 460800 \~english 460800
  695. #define MV_CAML_BAUDRATE_921600 0x00000080 ///< \~chinese 921600 \~english 921600
  696. #define MV_CAML_BAUDRATE_AUTOMAX 0x40000000 ///< \~chinese 最大值 \~english Auto Max
  697. /// \~chinese 异常消息类型 \~english Exception message type
  698. #define MV_EXCEPTION_DEV_DISCONNECT 0x00008001 ///< \~chinese 设备断开连接 \~english The device is disconnected
  699. #define MV_EXCEPTION_VERSION_CHECK 0x00008002 ///< \~chinese SDK与驱动版本不匹配 \~english SDK does not match the driver version
  700. /// \~chinese U3V流异常类型
  701. typedef enum _MV_CC_STREAM_EXCEPTION_TYPE_
  702. {
  703. MV_CC_STREAM_EXCEPTION_ABNORMAL_IMAGE = 0x4001, ///< \~chinese 异常的图像,该帧被丢弃
  704. MV_CC_STREAM_EXCEPTION_LIST_OVERFLOW = 0x4002, ///< \~chinese 缓存列表溢出,清除最旧的一帧
  705. MV_CC_STREAM_EXCEPTION_LIST_EMPTY = 0x4003, ///< \~chinese 缓存列表为空,该帧被丢弃
  706. MV_CC_STREAM_EXCEPTION_RECONNECTION = 0x4004, ///< \~chinese 断流恢复
  707. MV_CC_STREAM_EXCEPTION_DISCONNECTED = 0x4005, ///< \~chinese 断流,恢复失败,取流被中止
  708. MV_CC_STREAM_EXCEPTION_DEVICE = 0x4006, ///< \~chinese 设备异常,取流被中止
  709. }MV_CC_STREAM_EXCEPTION_TYPE;
  710. ///< \~chinese 设备Event事件名称最大长度 \~english Max length of event name
  711. #define MAX_EVENT_NAME_SIZE 128
  712. /// \~chinese Event事件回调信息\ \~english Event callback infomation
  713. typedef struct _MV_EVENT_OUT_INFO_
  714. {
  715. char EventName[MAX_EVENT_NAME_SIZE]; ///< [OUT] \~chinese Event名称 \~english Event name
  716. unsigned short nEventID; ///< [OUT] \~chinese Event号 \~english Event ID
  717. unsigned short nStreamChannel; ///< [OUT] \~chinese 流通道序号 \~english Circulation number
  718. unsigned int nBlockIdHigh; ///< [OUT] \~chinese 帧号高位 (暂无固件支持) \~english BlockId high, not support
  719. unsigned int nBlockIdLow; ///< [OUT] \~chinese 帧号低位 (暂无固件支持) \~english BlockId low, not support
  720. unsigned int nTimestampHigh; ///< [OUT] \~chinese 时间戳高位 \~english Timestramp high
  721. unsigned int nTimestampLow; ///< [OUT] \~chinese 时间戳低位 \~english Timestramp low
  722. void* pEventData; ///< [OUT] \~chinese Event数据 (暂无固件支持) \~english Event data, not support
  723. unsigned int nEventDataSize; ///< [OUT] \~chinese Event数据长度 (暂无固件支持) \~english Event data len, not support
  724. unsigned int nReserved[16]; ///< \~chinese 预留 \~english Reserved
  725. }MV_EVENT_OUT_INFO;
  726. /// \~chinese 文件存取 \~english File Access
  727. typedef struct _MV_CC_FILE_ACCESS_T
  728. {
  729. const char* pUserFileName; ///< [IN] \~chinese 用户文件名 \~english User file name
  730. const char* pDevFileName; ///< [IN] \~chinese 设备文件名 \~english Device file name
  731. unsigned int nReserved[32]; ///< \~chinese 预留 \~english Reserved
  732. }MV_CC_FILE_ACCESS;
  733. /// \~chinese 文件存取 \~english File Access
  734. typedef struct _MV_CC_FILE_ACCESS_E
  735. {
  736. char* pUserFileBuf; ///< [IN] \~chinese 用户数据缓存 \~english User data Buffer
  737. unsigned int pFileBufSize; ///< [IN] \~chinese 用户数据缓存大小 \~english data buffer size
  738. unsigned int pFileBufLen; ///< [OUT][IN] \~chinese 文件数据缓存总长度(读取时输出文件数据总长度,写入时输入文件数据总长度) \~english data buffer len
  739. const char* pDevFileName; ///< [IN] \~chinese 设备文件名 \~english Device file name
  740. unsigned int nReserved[32]; ///< \~chinese 预留 \~english Reserved
  741. }MV_CC_FILE_ACCESS_EX;
  742. /// \~chinese 文件存取进度 \~english File Access Progress
  743. typedef struct _MV_CC_FILE_ACCESS_PROGRESS_T
  744. {
  745. int64_t nCompleted; ///< [OUT] \~chinese 已完成的长度 \~english Completed Length
  746. int64_t nTotal; ///< [OUT] \~chinese 总长度 \~english Total Length
  747. unsigned int nReserved[8]; ///< \~chinese 预留 \~english Reserved
  748. }MV_CC_FILE_ACCESS_PROGRESS;
  749. /// \~chinese Gige的传输类型 \~english The transmission type of Gige
  750. typedef enum _MV_GIGE_TRANSMISSION_TYPE_
  751. {
  752. MV_GIGE_TRANSTYPE_UNICAST = 0x0, ///< \~chinese 表示单播(默认) \~english Unicast mode
  753. MV_GIGE_TRANSTYPE_MULTICAST = 0x1, ///< \~chinese 表示组播(组播IP范围[224.*.*.*-239.*.*.*]) \~english Multicast mode
  754. MV_GIGE_TRANSTYPE_LIMITEDBROADCAST = 0x2, ///< \~chinese 表示局域网内广播,暂不支持 \~english Limited broadcast mode,not support
  755. MV_GIGE_TRANSTYPE_SUBNETBROADCAST = 0x3, ///< \~chinese 表示子网内广播,暂不支持 \~english Subnet broadcast mode,not support
  756. MV_GIGE_TRANSTYPE_CAMERADEFINED = 0x4, ///< \~chinese 表示从设备获取,暂不支持 \~english Transtype from camera,not support
  757. MV_GIGE_TRANSTYPE_UNICAST_DEFINED_PORT = 0x5, ///< \~chinese 表示用户自定义应用端接收图像数据Port号 \~english User Defined Receive Data Port
  758. MV_GIGE_TRANSTYPE_UNICAST_WITHOUT_RECV = 0x00010000, ///< \~chinese 表示设置了单播,但本实例不接收图像数据 \~english Unicast without receive data
  759. MV_GIGE_TRANSTYPE_MULTICAST_WITHOUT_RECV= 0x00010001, ///< \~chinese 表示组播模式,但本实例不接收图像数据 \~english Multicast without receive data
  760. }MV_GIGE_TRANSMISSION_TYPE;
  761. /// \~chinese 网络传输模式 \~english Transmission type
  762. typedef struct _MV_TRANSMISSION_TYPE_T
  763. {
  764. MV_GIGE_TRANSMISSION_TYPE enTransmissionType; ///< [IN] \~chinese 传输模式 \~english Transmission type
  765. unsigned int nDestIp; ///< [IN] \~chinese 目标IP,组播模式下有意义 \~english Destination IP
  766. unsigned short nDestPort; ///< [IN] \~chinese 目标Port,组播模式下有意义 \~english Destination port
  767. unsigned int nReserved[32]; ///< \~chinese 预留 \~english Reserved
  768. }MV_TRANSMISSION_TYPE;
  769. /// \~chinese 动作命令信息 \~english Action Command
  770. typedef struct _MV_ACTION_CMD_INFO_T
  771. {
  772. unsigned int nDeviceKey; ///< [IN] \~chinese 设备密钥 \~english Device Key;
  773. unsigned int nGroupKey; ///< [IN] \~chinese 组键 \~english Group Key
  774. unsigned int nGroupMask; ///< [IN] \~chinese 组掩码 \~english Group Mask
  775. unsigned int bActionTimeEnable; ///< [IN] \~chinese 只有设置成1时Action Time才有效,非1时无效 \~english Action Time Enable
  776. int64_t nActionTime; ///< [IN] \~chinese 预定的时间,和主频有关 \~english Action Time
  777. const char* pBroadcastAddress; ///< [IN] \~chinese 广播包地址 \~english Broadcast Address
  778. unsigned int nTimeOut; ///< [IN] \~chinese 等待ACK的超时时间,如果为0表示不需要ACK \~english TimeOut
  779. unsigned int bSpecialNetEnable; ///< [IN] \~chinese 只有设置成1时指定的网卡IP才有效,非1时无效 \~english Special IP Enable
  780. unsigned int nSpecialNetIP; ///< [IN] \~chinese 指定的网卡IP \~english Special Net IP address
  781. unsigned int nReserved[14]; ///< \~chinese 预留 \~english Reserved
  782. }MV_ACTION_CMD_INFO;
  783. /// \~chinese 动作命令返回信息 \~english Action Command Result
  784. typedef struct _MV_ACTION_CMD_RESULT_T
  785. {
  786. unsigned char strDeviceAddress[12 + 3 + 1]; ///< [OUT] \~chinese 设备IP \~english IP address of the device
  787. int nStatus; ///< [OUT] \~chinese 状态码 \~english status code returned by the device
  788. //1.0x0000:success.
  789. //2.0x8001:Command is not supported by the device.
  790. //3.0x8013:The device is not synchronized to a master clock to be used as time reference.
  791. //4.0x8015:A device queue or packet data has overflowed.
  792. //5.0x8016:The requested scheduled action command was requested at a time that is already past.
  793. unsigned int nReserved[4]; ///< \~chinese 预留 \~english Reserved
  794. }MV_ACTION_CMD_RESULT;
  795. /// \~chinese 动作命令返回信息列表 \~english Action Command Result List
  796. typedef struct _MV_ACTION_CMD_RESULT_LIST_T
  797. {
  798. unsigned int nNumResults; ///< [OUT] \~chinese 返回值个数 \~english Number of returned values
  799. MV_ACTION_CMD_RESULT* pResults; ///< [OUT] \~chinese 动作命令结果 \~english Reslut of action command
  800. }MV_ACTION_CMD_RESULT_LIST;
  801. /// \~chinese 每个节点对应的接口类型 \~english Interface type corresponds to each node
  802. enum MV_XML_InterfaceType
  803. {
  804. IFT_IValue, ///< \~chinese Value \~english IValue interface
  805. IFT_IBase, ///< \~chinese Base \~english IBase interface
  806. IFT_IInteger, ///< \~chinese Integer \~english IInteger interface
  807. IFT_IBoolean, ///< \~chinese Boolean \~english IBoolean interface
  808. IFT_ICommand, ///< \~chinese Command \~english ICommand interface
  809. IFT_IFloat, ///< \~chinese Float \~english IFloat interface
  810. IFT_IString, ///< \~chinese String \~english IString interface
  811. IFT_IRegister, ///< \~chinese Register \~english IRegister interface
  812. IFT_ICategory, ///< \~chinese Category \~english ICategory interface
  813. IFT_IEnumeration, ///< \~chinese Enumeration \~english IEnumeration interface
  814. IFT_IEnumEntry, ///< \~chinese EnumEntry \~english IEnumEntry interface
  815. IFT_IPort, ///< \~chinese Port \~english IPort interface
  816. };
  817. /// \~chinese 节点的访问模式 \~english Node Access Mode
  818. enum MV_XML_AccessMode
  819. {
  820. AM_NI, ///< \~chinese 不可实现 \~english Not implemented
  821. AM_NA, ///< \~chinese 不可用 \~english Not available
  822. AM_WO, ///< \~chinese 只写 \~english Write Only
  823. AM_RO, ///< \~chinese 只读 \~english Read Only
  824. AM_RW, ///< \~chinese 读写 \~english Read and Write
  825. AM_Undefined, ///< \~chinese 未定义 \~english Object is not yet initialized
  826. AM_CycleDetect, ///< \~chinese 内部用于AccessMode循环检测 \~english used internally for AccessMode cycle detection
  827. };
  828. /// \~chinese 最大节点个数 \~english Max Number of Nodes
  829. #define MV_MAX_NODE_NUM 1024
  830. /// \~chinese 节点名称的最大长度 \~english Max Length of a Node Name
  831. #define MV_MAX_NODE_NAME_LEN 64
  832. /// \~chinese 节点名称 \~english Node Name
  833. typedef struct _MVCC_NODE_NAME_T
  834. {
  835. char strName[MV_MAX_NODE_NAME_LEN]; ///< \~chinese 节点名称 \~english Nodes Name
  836. unsigned int nReserved[4]; ///< \~chinese 预留 \~english Reserved
  837. }MVCC_NODE_NAME;
  838. /// \~chinese 节点列表 \~english Node List
  839. typedef struct _MVCC_NODE_NAME_LIST_T
  840. {
  841. unsigned int nNodeNum; ///< \~chinese 节点个数 \~english Number of Node
  842. MVCC_NODE_NAME stNodeName[MV_MAX_NODE_NUM]; ///< \~chinese 节点名称 \~english Node Name
  843. unsigned int nReserved[4]; ///< \~chinese 预留 \~english Reserved
  844. }MVCC_NODE_NAME_LIST;
  845. /// \~chinese 最大错误个数 \~english Max Number of Error
  846. #define MV_MAX_NODE_ERROR_NUM 64
  847. /// \~chinese 导入参数报错时的原因,错误码 \~english Reasons for importing parameter errors code
  848. typedef enum _MVCC_NODE_ERR_TYPE_
  849. {
  850. MVCC_NODE_ERR_NODE_INVALID = 1, ///< \~chinese 节点不存在 \~english Usually, the operating node does not exist in the device
  851. MVCC_NODE_ERR_ACCESS = 2, ///< \~chinese 访问条件错误,通常是节点不可读写 \~english Access condition error, usually due to nodes not being readable or writable
  852. MVCC_NODE_ERR_OUT_RANGE = 3, ///< \~chinese 写入越界,超出该节点支持的范围 \~english Write out of bounds, beyond the supported range of this node
  853. MVCC_NODE_ERR_VERIFY_FAILD = 4, ///< \~chinese 校验失败,通常是写入的值与文件中的值不匹配 \~english Verification failed, usually due to a mismatch between the written value and the value in the file
  854. MVCC_NODE_ERR_OTHER = 100, ///< \~chinese 其它错误,可查阅日志 \~english Other errors, can view logs
  855. }MVCC_NODE_ERR_TYPE;
  856. /// \~chinese 错误信息 \~english Error Name
  857. typedef struct _MVCC_NODE_ERROR_T
  858. {
  859. char strName[MV_MAX_NODE_NAME_LEN]; ///< \~chinese 节点名称 \~english Nodes Name
  860. MVCC_NODE_ERR_TYPE enErrType; ///< \~chinese 错误类型 \~english Error Type
  861. unsigned int nReserved[4]; ///< \~chinese 预留 \~english Reserved
  862. }MVCC_NODE_ERROR;
  863. /// \~chinese 错误信息列表 \~english Error List
  864. typedef struct _MVCC_NODE_ERROR_LIST_T
  865. {
  866. unsigned int nErrorNum; ///< \~chinese 错误个数 \~english Number of Error
  867. MVCC_NODE_ERROR stNodeError[MV_MAX_NODE_ERROR_NUM]; ///< \~chinese 错误信息 \~english Error Name
  868. unsigned int nReserved[4]; ///< \~chinese 预留 \~english Reserved
  869. }MVCC_NODE_ERROR_LIST;
  870. /// \~chinese 最大XML符号数 \~english Max XML Symbolic Number
  871. #define MV_MAX_XML_SYMBOLIC_NUM 64
  872. /// \~chinese 枚举类型值 \~english Enumeration Value
  873. typedef struct _MVCC_ENUMVALUE_T
  874. {
  875. unsigned int nCurValue; ///< [OUT] \~chinese 当前值 \~english Current Value
  876. unsigned int nSupportedNum; ///< [OUT] \~chinese 数据的有效数据个数 \~english Number of valid data
  877. unsigned int nSupportValue[MV_MAX_XML_SYMBOLIC_NUM]; ///< [OUT] \~chinese 支持的枚举值 \~english Support Value
  878. unsigned int nReserved[4]; ///< \~chinese 预留 \~english Reserved
  879. }MVCC_ENUMVALUE;
  880. /// \~chinese 最大枚举条目对应的符号数量 \~english Max Enum Entry Symbolic Number
  881. #define MV_MAX_ENUM_SYMBOLIC_NUM 256
  882. /// \~chinese 枚举类型值 \~english Enumeration Value
  883. typedef struct _MVCC_ENUMVALUE_EX_T
  884. {
  885. unsigned int nCurValue; ///< [OUT] \~chinese 当前值 \~english Current Value
  886. unsigned int nSupportedNum; ///< [OUT] \~chinese 数据的有效数据个数 \~english Number of valid data
  887. unsigned int nSupportValue[MV_MAX_ENUM_SYMBOLIC_NUM]; ///< [OUT] \~chinese 支持的枚举值 \~english Support Value
  888. unsigned int nReserved[4]; ///< \~chinese 预留 \~english Reserved
  889. }MVCC_ENUMVALUE_EX;
  890. /// \~chinese 最大枚举条目对应的符号长度 \~english Max Enum Entry Symbolic Number
  891. #define MV_MAX_SYMBOLIC_LEN 64
  892. /// \~chinese 枚举类型条目 \~english Enumeration Entry
  893. typedef struct _MVCC_ENUMENTRY_T
  894. {
  895. unsigned int nValue; ///< [IN] \~chinese 指定值 \~english Value
  896. char chSymbolic[MV_MAX_SYMBOLIC_LEN]; ///< [OUT] \~chinese 指定值对应的符号 \~english Symbolic
  897. unsigned int nReserved[4]; ///< \~chinese 预留 \~english Reserved
  898. }MVCC_ENUMENTRY;
  899. /// \~chinese Int类型值 \~english Int Value
  900. typedef struct _MVCC_INTVALUE_T
  901. {
  902. unsigned int nCurValue; ///< [OUT] \~chinese 当前值 \~english Current Value
  903. unsigned int nMax; ///< [OUT] \~chinese 最大值 \~english Max
  904. unsigned int nMin; ///< [OUT] \~chinese 最小值 \~english Min
  905. unsigned int nInc; ///< [OUT] \~chinese \~english Inc
  906. unsigned int nReserved[4]; ///< \~chinese 预留 \~english Reserved
  907. }MVCC_INTVALUE;
  908. /// \~chinese Int类型值Ex \~english Int Value Ex
  909. typedef struct _MVCC_INTVALUE_EX_T
  910. {
  911. int64_t nCurValue; ///< [OUT] \~chinese 当前值 \~english Current Value
  912. int64_t nMax; ///< [OUT] \~chinese 最大值 \~english Max
  913. int64_t nMin; ///< [OUT] \~chinese 最小值 \~english Min
  914. int64_t nInc; ///< [OUT] \~chinese Inc \~english Inc
  915. unsigned int nReserved[16]; ///< \~chinese 预留 \~english Reserved
  916. }MVCC_INTVALUE_EX;
  917. /// \~chinese Float类型值 \~english Float Value
  918. typedef struct _MVCC_FLOATVALUE_T
  919. {
  920. float fCurValue; ///< [OUT] \~chinese 当前值 \~english Current Value
  921. float fMax; ///< [OUT] \~chinese 最大值 \~english Max
  922. float fMin; ///< [OUT] \~chinese 最小值 \~english Min
  923. unsigned int nReserved[4]; ///< \~chinese 预留 \~english Reserved
  924. }MVCC_FLOATVALUE;
  925. /// \~chinese String类型值 \~english String Value
  926. typedef struct _MVCC_STRINGVALUE_T
  927. {
  928. char chCurValue[256]; ///< [OUT] \~chinese 当前值 \~english Current Value
  929. int64_t nMaxLength; ///< [OUT] \~chinese 最大长度 \~english MaxLength
  930. unsigned int nReserved[2]; ///< \~chinese 预留 \~english Reserved
  931. }MVCC_STRINGVALUE;
  932. /// \~chinese 辅助线颜色 \~english Color of Auxiliary Line
  933. typedef struct _MVCC_COLORF
  934. {
  935. float fR; ///< [IN] \~chinese 红色,根据像素颜色的相对深度,范围为[0.0 , 1.0],代表着[0, 255]的颜色深度 \~english Red,Range[0.0, 1.0]
  936. float fG; ///< [IN] \~chinese 绿色,根据像素颜色的相对深度,范围为[0.0 , 1.0],代表着[0, 255]的颜色深度 \~english Green,Range[0.0, 1.0]
  937. float fB; ///< [IN] \~chinese 蓝色,根据像素颜色的相对深度,范围为[0.0 , 1.0],代表着[0, 255]的颜色深度 \~english Blue,Range[0.0, 1.0]
  938. float fAlpha; ///< [IN] \~chinese 透明度,根据像素颜色的相对透明度,范围为[0.0 , 1.0] \~english Alpha,Range[0.0, 1.0]
  939. unsigned int nReserved[4]; ///< \~chinese 预留 \~english Reserved
  940. }MVCC_COLORF;
  941. /// \~chinese 自定义点 \~english Point defined
  942. typedef struct _MVCC_POINTF
  943. {
  944. float fX; ///< [IN] \~chinese 该点距离图像左边缘距离,根据图像的相对位置,范围为[0.0 , 1.0] \~english Distance From Left,Range[0.0, 1.0]
  945. float fY; ///< [IN] \~chinese 该点距离图像上边缘距离,根据图像的相对位置,范围为[0.0 , 1.0] \~english Distance From Top,Range[0.0, 1.0]
  946. unsigned int nReserved[4]; ///< \~chinese 预留 \~english Reserved
  947. }MVCC_POINTF;
  948. /// \~chinese 矩形框区域信息 \~english Rect Area Info
  949. typedef struct _MVCC_RECT_INFO
  950. {
  951. float fTop; ///< [IN] \~chinese 矩形上边缘距离图像上边缘的距离,根据图像的相对位置,范围为[0.0 , 1.0] \~english Distance From Top,Range[0, 1.0]
  952. float fBottom; ///< [IN] \~chinese 矩形下边缘距离图像上边缘的距离,根据图像的相对位置,范围为[0.0 , 1.0] \~english Distance From Top,Range[0, 1.0]
  953. float fLeft; ///< [IN] \~chinese 矩形左边缘距离图像左边缘的距离,根据图像的相对位置,范围为[0.0 , 1.0] \~english Distance From Left,Range[0, 1.0]
  954. float fRight; ///< [IN] \~chinese 矩形右边缘距离图像左边缘的距离,根据图像的相对位置,范围为[0.0 , 1.0] \~english Distance From Left,Range[0, 1.0]
  955. MVCC_COLORF stColor; ///< [IN] \~chinese 辅助线颜色 \~english Color of Auxiliary Line
  956. unsigned int nLineWidth; ///< [IN] \~chinese 辅助线宽度,宽度只能是1或2 \~english Width of Auxiliary Line, width is 1 or 2
  957. unsigned int nReserved[4]; ///< \~chinese 预留 \~english Reserved
  958. }MVCC_RECT_INFO;
  959. /// \~chinese 圆形框区域信息 \~english Circle Area Info
  960. typedef struct _MVCC_CIRCLE_INFO
  961. {
  962. MVCC_POINTF stCenterPoint; ///< [IN] \~chinese 圆心信息 \~english Circle Point Info
  963. float fR1; ///< [IN] \~chinese 宽向半径,根据图像的相对位置[0, 1.0],半径与圆心的位置有关,需保证画出的圆在显示框范围之内,否则报错 \~english Windth Radius, Range[0, 1.0]
  964. float fR2; ///< [IN] \~chinese 高向半径,根据图像的相对位置[0, 1.0],半径与圆心的位置有关,需保证画出的圆在显示框范围之内,否则报错 \~english Height Radius, Range[0, 1.0]
  965. MVCC_COLORF stColor; ///< [IN] \~chinese 辅助线颜色信息 \~english Color of Auxiliary Line
  966. unsigned int nLineWidth; ///< [IN] \~chinese 辅助线宽度,宽度只能是1或2 \~english Width of Auxiliary Line, width is 1 or 2
  967. unsigned int nReserved[4]; ///< \~chinese 预留 \~english Reserved
  968. }MVCC_CIRCLE_INFO;
  969. /// \~chinese 线条辅助线信息 \~english Linear Auxiliary Line Info
  970. typedef struct _MVCC_LINES_INFO
  971. {
  972. MVCC_POINTF stStartPoint; ///< [IN] \~chinese 线条辅助线的起始点坐标 \~english The Start Point of Auxiliary Line
  973. MVCC_POINTF stEndPoint; ///< [IN] \~chinese 线条辅助线的终点坐标 \~english The End Point of Auxiliary Line
  974. MVCC_COLORF stColor; ///< [IN] \~chinese 辅助线颜色信息 \~english Color of Auxiliary Line
  975. unsigned int nLineWidth; ///< [IN] \~chinese 辅助线宽度,宽度只能是1或2 \~english Width of Auxiliary Line, width is 1 or 2
  976. unsigned int nReserved[4]; ///< \~chinese 预留 \~english Reserved
  977. }MVCC_LINES_INFO;
  978. ///< \~chinese 分时曝光时最多将源图像拆分的个数 \~english The maximum number of source image to be split in time-division exposure
  979. #define MV_MAX_SPLIT_NUM 8
  980. /// \~chinese 图像重构的方式 \~english Image reconstruction method
  981. typedef enum _MV_IMAGE_RECONSTRUCTION_METHOD_
  982. {
  983. MV_SPLIT_BY_LINE = 1, ///< \~chinese 源图像单行拆分成多张图像 \~english Source image split into multiple images by line
  984. }MV_IMAGE_RECONSTRUCTION_METHOD;
  985. /// \~chinese 图像重构后的图像列表 \~english List of images after image reconstruction
  986. typedef struct _MV_OUTPUT_IMAGE_INFO_
  987. {
  988. unsigned int nWidth; ///< [OUT] \~chinese 源图像宽 \~english Source Image Width
  989. unsigned int nHeight; ///< [OUT] \~chinese 源图像高 \~english Source Image Height
  990. enum MvGvspPixelType enPixelType; ///< [OUT] \~chinese 像素格式 \~english Pixel format
  991. unsigned char* pBuf; ///< [IN][OUT] \~chinese 输出数据缓存 \~english Output data buffer
  992. unsigned int nBufLen; ///< [OUT] \~chinese 输出数据长度 \~english Output data length
  993. unsigned int nBufSize; ///< [IN] \~chinese 提供的输出缓冲区大小 \~english Provided output buffer size
  994. unsigned int nRes[8]; ///< \~chinese 预留 \~english Reserved
  995. }MV_OUTPUT_IMAGE_INFO;
  996. /// \~chinese 重构图像参数信息 \~english Restructure image parameters
  997. typedef struct _MV_RECONSTRUCT_IMAGE_PARAM_
  998. {
  999. unsigned int nWidth; ///< [IN] \~chinese 源图像宽 \~english Source Image Width
  1000. unsigned int nHeight; ///< [IN] \~chinese 源图像高 \~english Source Image Height
  1001. enum MvGvspPixelType enPixelType; ///< [IN] \~chinese 像素格式 \~english Pixel format
  1002. unsigned char* pSrcData; ///< [IN] \~chinese 输入数据缓存 \~english Input data buffer
  1003. unsigned int nSrcDataLen; ///< [IN] \~chinese 输入数据长度 \~english Input data length
  1004. unsigned int nExposureNum; ///< [IN] \~chinese 曝光个数(1-8] \~english Exposure number
  1005. MV_IMAGE_RECONSTRUCTION_METHOD enReconstructMethod; ///< [IN] \~chinese 图像重构方式 \~english Image restructuring method
  1006. MV_OUTPUT_IMAGE_INFO stDstBufList[MV_MAX_SPLIT_NUM]; ///< [OUT] \~chinese 输出数据缓存信息 \~english Output data info
  1007. unsigned int nRes[4];
  1008. }MV_RECONSTRUCT_IMAGE_PARAM;
  1009. /// \~chinese 串口信息 \~english Serial Port Info
  1010. typedef struct _MV_CAML_SERIAL_PORT_
  1011. {
  1012. unsigned char chSerialPort[INFO_MAX_BUFFER_SIZE]; ///< [OUT] \~chinese 串口号 \~english Serial Port
  1013. unsigned int nRes[4]; ///<\~chinese 预留 \~english Reserved
  1014. }MV_CAML_SERIAL_PORT;
  1015. ///< \~chinese 最大支持的串口数量 \~english The maximum number of serial port supported
  1016. #define MV_MAX_SERIAL_PORT_NUM 64
  1017. typedef struct _MV_CAML_SERIAL_PORT_LIST_
  1018. {
  1019. unsigned int nSerialPortNum; ///< [OUT] \~chinese 串口数量 \~english Serial Port Num
  1020. MV_CAML_SERIAL_PORT stSerialPort[MV_MAX_SERIAL_PORT_NUM]; ///< [IN][OUT] \~chinese 串口信息 \~english Serial Port Information
  1021. unsigned int nRes[4]; ///<\~chinese 预留 \~english Reserved
  1022. }MV_CAML_SERIAL_PORT_LIST;
  1023. #endif /* _MV_CAMERA_PARAMS_H_ */