ObsoleteCamParams.h 39 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560
  1. #ifndef _MV_OBSOLETE_CAM_PARAMS_H_
  2. #define _MV_OBSOLETE_CAM_PARAMS_H_
  3. #include "PixelType.h"
  4. /// \~chinese 输出帧的信息 \~english Output Frame Information
  5. typedef struct _MV_FRAME_OUT_INFO_
  6. {
  7. unsigned short nWidth; ///< [OUT] \~chinese 图像宽 \~english Image Width
  8. unsigned short nHeight; ///< [OUT] \~chinese 图像高 \~english Image Height
  9. enum MvGvspPixelType enPixelType; ///< [OUT] \~chinese 像素格式 \~english Pixel Type
  10. unsigned int nFrameNum; ///< [OUT] \~chinese 帧号 \~english Frame Number
  11. unsigned int nDevTimeStampHigh; ///< [OUT] \~chinese 时间戳高32位 \~english Timestamp high 32 bits
  12. unsigned int nDevTimeStampLow; ///< [OUT] \~chinese 时间戳低32位 \~english Timestamp low 32 bits
  13. unsigned int nReserved0; ///< [OUT] \~chinese 保留,8字节对齐 \~english Reserved, 8-byte aligned
  14. int64_t nHostTimeStamp; ///< [OUT] \~chinese 主机生成的时间戳 \~english Host-generated timestamp
  15. unsigned int nFrameLen;
  16. unsigned int nLostPacket; // 本帧丢包数
  17. unsigned int nReserved[2];
  18. }MV_FRAME_OUT_INFO;
  19. /// \~chinese 保存图片参数 \~english Save image type
  20. typedef struct _MV_SAVE_IMAGE_PARAM_T_
  21. {
  22. unsigned char* pData; ///< [IN] \~chinese 输入数据缓存 \~english Input Data Buffer
  23. unsigned int nDataLen; ///< [IN] \~chinese 输入数据大小 \~english Input Data Size
  24. enum MvGvspPixelType enPixelType; ///< [IN] \~chinese 输入像素格式 \~english Input Data Pixel Format
  25. unsigned short nWidth; ///< [IN] \~chinese 图像宽 \~english Image Width
  26. unsigned short nHeight; ///< [IN] \~chinese 图像高 \~english Image Height
  27. unsigned char* pImageBuffer; ///< [OUT] \~chinese 输出图片缓存 \~english Output Image Buffer
  28. unsigned int nImageLen; ///< [OUT] \~chinese 输出图片大小 \~english Output Image Size
  29. unsigned int nBufferSize; ///< [IN] \~chinese 提供的输出缓冲区大小 \~english Output buffer size provided
  30. enum MV_SAVE_IAMGE_TYPE enImageType; ///< [IN] \~chinese 输出图片格式 \~english Output Image Format
  31. }MV_SAVE_IMAGE_PARAM;
  32. typedef struct _MV_IMAGE_BASIC_INFO_
  33. {
  34. unsigned short nWidthValue;
  35. unsigned short nWidthMin;
  36. unsigned int nWidthMax;
  37. unsigned int nWidthInc;
  38. unsigned int nHeightValue;
  39. unsigned int nHeightMin;
  40. unsigned int nHeightMax;
  41. unsigned int nHeightInc;
  42. float fFrameRateValue;
  43. float fFrameRateMin;
  44. float fFrameRateMax;
  45. unsigned int enPixelType; ///< [OUT] \~chinese 当前的像素格式 \~english Current pixel format
  46. unsigned int nSupportedPixelFmtNum; ///< [OUT] \~chinese 支持的像素格式种类 \~english Support pixel format
  47. unsigned int enPixelList[MV_MAX_XML_SYMBOLIC_NUM];
  48. unsigned int nReserved[8];
  49. }MV_IMAGE_BASIC_INFO;
  50. /// \~chinese 噪声特性类型 \~english Noise feature type
  51. typedef enum _MV_CC_BAYER_NOISE_FEATURE_TYPE
  52. {
  53. MV_CC_BAYER_NOISE_FEATURE_TYPE_INVALID = 0, ///< \~chinese 无效值 \~english Invalid
  54. MV_CC_BAYER_NOISE_FEATURE_TYPE_PROFILE = 1, ///< \~chinese 噪声曲线 \~english Noise curve
  55. MV_CC_BAYER_NOISE_FEATURE_TYPE_LEVEL = 2, ///< \~chinese 噪声水平 \~english Noise level
  56. MV_CC_BAYER_NOISE_FEATURE_TYPE_DEFAULT = 1, ///< \~chinese 默认值 \~english Default
  57. }MV_CC_BAYER_NOISE_FEATURE_TYPE;
  58. /// \~chinese Bayer格式降噪特性信息 \~english Denoise profile info
  59. typedef struct _MV_CC_BAYER_NOISE_PROFILE_INFO_T_
  60. {
  61. unsigned int nVersion; ///< \~chinese 版本 \~english version
  62. MV_CC_BAYER_NOISE_FEATURE_TYPE enNoiseFeatureType; ///< \~chinese 噪声特性类型 \~english noise feature type
  63. enum MvGvspPixelType enPixelType; ///< \~chinese 图像格式 \~english image format
  64. int nNoiseLevel; ///< \~chinese 平均噪声水平 \~english noise level
  65. unsigned int nCurvePointNum; ///< \~chinese 曲线点数 \~english curve point number
  66. int* nNoiseCurve; ///< \~chinese 噪声曲线 \~english noise curve
  67. int* nLumCurve; ///< \~chinese 亮度曲线 \~english luminance curve
  68. unsigned int nRes[8]; ///< \~chinese 预留 \~english Reserved
  69. }MV_CC_BAYER_NOISE_PROFILE_INFO;
  70. /// \~chinese Bayer格式噪声估计参数 \~english Bayer noise estimate param
  71. typedef struct _MV_CC_BAYER_NOISE_ESTIMATE_PARAM_T_
  72. {
  73. unsigned int nWidth; ///< [IN] \~chinese 图像宽(大于等于8) \~english Width
  74. unsigned int nHeight; ///< [IN] \~chinese 图像高(大于等于8) \~english Height
  75. enum MvGvspPixelType enPixelType; ///< [IN] \~chinese 像素格式 \~english Pixel format
  76. unsigned char* pSrcData; ///< [IN] \~chinese 输入数据缓存 \~english Input data buffer
  77. unsigned int nSrcDataLen; ///< [IN] \~chinese 输入数据大小 \~english Input data size
  78. unsigned int nNoiseThreshold; ///< [IN] \~chinese 噪声阈值(0-4095) \~english Noise Threshold
  79. unsigned char* pCurveBuf; ///< [IN] \~chinese 用于存储噪声曲线和亮度曲线(需要外部分配,缓存大小:4096 * sizeof(int) * 2) \~english Buffer used to store noise and brightness curves, size:4096 * sizeof(int) * 2)
  80. MV_CC_BAYER_NOISE_PROFILE_INFO stNoiseProfile; ///< [OUT] \~chinese 降噪特性信息 \~english Denoise profile
  81. unsigned int nThreadNum; ///< [IN] \~chinese 线程数量,0表示算法库根据硬件自适应;1表示单线程(默认);大于1表示线程数目 \~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
  82. unsigned int nRes[8]; ///< \~chinese 预留 \~english Reserved
  83. }MV_CC_BAYER_NOISE_ESTIMATE_PARAM;
  84. /// \~chinese Bayer格式空域降噪参数 \~english Bayer spatial Denoise param
  85. typedef struct _MV_CC_BAYER_SPATIAL_DENOISE_PARAM_T_
  86. {
  87. unsigned int nWidth; ///< [IN] \~chinese 图像宽(大于等于8) \~english Width
  88. unsigned int nHeight; ///< [IN] \~chinese 图像高(大于等于8) \~english Height
  89. enum MvGvspPixelType enPixelType; ///< [IN] \~chinese 像素格式 \~english Pixel format
  90. unsigned char* pSrcData; ///< [IN] \~chinese 输入数据缓存 \~english Input data buffer
  91. unsigned int nSrcDataLen; ///< [IN] \~chinese 输入数据大小 \~english Input data size
  92. unsigned char* pDstBuf; ///< [OUT] \~chinese 输出降噪后的数据 \~english Output data buffer
  93. unsigned int nDstBufSize; ///< [IN] \~chinese 提供的输出缓冲区大小 \~english Provided output buffer size
  94. unsigned int nDstBufLen; ///< [OUT] \~chinese 输出降噪后的数据长度 \~english Output data length
  95. MV_CC_BAYER_NOISE_PROFILE_INFO stNoiseProfile; ///< [IN] \~chinese 降噪特性信息(来源于噪声估计) \~english Denoise profile
  96. unsigned int nDenoiseStrength; ///< [IN] \~chinese 降噪强度(0-100) \~english nDenoise Strength
  97. unsigned int nSharpenStrength; ///< [IN] \~chinese 锐化强度(0-32) \~english Sharpen Strength
  98. unsigned int nNoiseCorrect; ///< [IN] \~chinese 噪声校正系数(0-1280) \~english Noise Correct
  99. unsigned int nThreadNum; ///< [IN] \~chinese 线程数量,0表示算法库根据硬件自适应;1表示单线程(默认);大于1表示线程数目 \~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
  100. unsigned int nRes[8]; ///< \~chinese 预留 \~english Reserved
  101. }MV_CC_BAYER_SPATIAL_DENOISE_PARAM;
  102. /// \~chinese CLUT参数 \~english CLUT param
  103. typedef struct _MV_CC_CLUT_PARAM_T_
  104. {
  105. bool bCLUTEnable; ///< [IN] \~chinese 是否启用CLUT \~english CLUT enable
  106. unsigned int nCLUTScale; ///< [IN] \~chinese 量化系数(2的整数幂,最大65536) \~english Quantitative scale(Integer power of 2, <= 65536)
  107. unsigned int nCLUTSize; ///< [IN] \~chinese CLUT大小,[17,33](建议值17) \~english CLUT size[17,33](Recommended values of 17)
  108. unsigned char* pCLUTBuf; ///< [IN] \~chinese 量化CLUT表 \~english CLUT buffer
  109. unsigned int nCLUTBufLen; ///< [IN] \~chinese 量化CLUT缓存大小(nCLUTSize*nCLUTSize*nCLUTSize*sizeof(int)*3) \~english CLUT buffer length(nCLUTSize*nCLUTSize*nCLUTSize*sizeof(int)*3)
  110. unsigned int nRes[8]; ///< \~chinese 预留 \~english Reserved
  111. }MV_CC_CLUT_PARAM;
  112. /// \~chinese 对比度调节结构体 \~english Contrast structure
  113. typedef struct _MV_CC_CONTRAST_PARAM_T_
  114. {
  115. unsigned int nWidth; ///< [IN] \~chinese 图像宽度(最小8) \~english Image Width
  116. unsigned int nHeight; ///< [IN] \~chinese 图像高度(最小8) \~english Image Height
  117. unsigned char* pSrcBuf; ///< [IN] \~chinese 输入数据缓存 \~english Input data buffer
  118. unsigned int nSrcBufLen; ///< [IN] \~chinese 输入数据大小 \~english Input data length
  119. enum MvGvspPixelType enPixelType; ///< [IN] \~chinese 像素格式 \~english Pixel format
  120. unsigned char* pDstBuf; ///< [OUT] \~chinese 输出数据缓存 \~english Output data buffer
  121. unsigned int nDstBufSize; ///< [IN] \~chinese 提供的输出缓冲区大小 \~english Provided output buffer size
  122. unsigned int nDstBufLen; ///< [OUT] \~chinese 输出数据长度 \~english Output data length
  123. unsigned int nContrastFactor; ///< [IN] \~chinese 对比度值,[1,10000] \~english Contrast factor,[1,10000]
  124. unsigned int nRes[8]; ///< \~chinese 预留 \~english Reserved
  125. }MV_CC_CONTRAST_PARAM;
  126. /// \~chinese 锐化结构体 \~english Sharpen structure
  127. typedef struct _MV_CC_SHARPEN_PARAM_T_
  128. {
  129. unsigned int nWidth; ///< [IN] \~chinese 图像宽度(最小8) \~english Image Width
  130. unsigned int nHeight; ///< [IN] \~chinese 图像高度(最小8) \~english Image Height
  131. unsigned char* pSrcBuf; ///< [IN] \~chinese 输入数据缓存 \~english Input data buffer
  132. unsigned int nSrcBufLen; ///< [IN] \~chinese 输入数据大小 \~english Input data length
  133. enum MvGvspPixelType enPixelType; ///< [IN] \~chinese 像素格式 \~english Pixel format
  134. unsigned char* pDstBuf; ///< [OUT] \~chinese 输出数据缓存 \~english Output data buffer
  135. unsigned int nDstBufSize; ///< [IN] \~chinese 提供的输出缓冲区大小 \~english Provided output buffer size
  136. unsigned int nDstBufLen; ///< [OUT] \~chinese 输出数据长度 \~english Output data length
  137. unsigned int nSharpenAmount; ///< [IN] \~chinese 锐度调节强度,[0,500] \~english Sharpen amount,[0,500]
  138. unsigned int nSharpenRadius; ///< [IN] \~chinese 锐度调节半径(半径越大,耗时越长),[1,21] \~english Sharpen radius(The larger the radius, the longer it takes),[1,21]
  139. unsigned int nSharpenThreshold; ///< [IN] \~chinese 锐度调节阈值,[0,255] \~english Sharpen threshold,[0,255]
  140. unsigned int nRes[8]; ///< \~chinese 预留 \~english Reserved
  141. }MV_CC_SHARPEN_PARAM;
  142. /// \~chinese 色彩校正结构体 \~english Color correct structure
  143. typedef struct _MV_CC_COLOR_CORRECT_PARAM_T_
  144. {
  145. unsigned int nWidth; ///< [IN] \~chinese 图像宽度 \~english Image Width
  146. unsigned int nHeight; ///< [IN] \~chinese 图像高度 \~english Image Height
  147. unsigned char* pSrcBuf; ///< [IN] \~chinese 输入数据缓存 \~english Input data buffer
  148. unsigned int nSrcBufLen; ///< [IN] \~chinese 输入数据大小 \~english Input data length
  149. enum MvGvspPixelType enPixelType; ///< [IN] \~chinese 像素格式 \~english Pixel format
  150. unsigned char* pDstBuf; ///< [OUT] \~chinese 输出数据缓存 \~english Output data buffer
  151. unsigned int nDstBufSize; ///< [IN] \~chinese 提供的输出缓冲区大小 \~english Provided output buffer size
  152. unsigned int nDstBufLen; ///< [OUT] \~chinese 输出数据长度 \~english Output data length
  153. unsigned int nImageBit; ///< [IN] \~chinese 有效图像位数(8,10,12,16) \~english Image bit(8 or 10 or 12 or 16)
  154. MV_CC_GAMMA_PARAM stGammaParam; ///< [IN] \~chinese Gamma信息 \~english Gamma info
  155. MV_CC_CCM_PARAM_EX stCCMParam; ///< [IN] \~chinese CCM信息 \~english CCM info
  156. MV_CC_CLUT_PARAM stCLUTParam; ///< [IN] \~chinese CLUT信息 \~english CLUT info
  157. unsigned int nRes[8]; ///< \~chinese 预留 \~english Reserved
  158. }MV_CC_COLOR_CORRECT_PARAM;
  159. /// \~chinese 矩形ROI结构体 \~english Rect ROI structure
  160. typedef struct _MV_CC_RECT_I_
  161. {
  162. unsigned int nX; ///< \~chinese 矩形左上角X轴坐标 \~english X Position
  163. unsigned int nY; ///< \~chinese 矩形左上角Y轴坐标 \~english Y Position
  164. unsigned int nWidth; ///< \~chinese 矩形宽度 \~english Rect Width
  165. unsigned int nHeight; ///< \~chinese 矩形高度 \~english Rect Height
  166. }MV_CC_RECT_I;
  167. /// \~chinese 噪声估计结构体 \~english Noise estimate structure
  168. typedef struct _MV_CC_NOISE_ESTIMATE_PARAM_T_
  169. {
  170. unsigned int nWidth; ///< [IN] \~chinese 图像宽度(最小8) \~english Image Width
  171. unsigned int nHeight; ///< [IN] \~chinese 图像高度(最小8) \~english Image Height
  172. enum MvGvspPixelType enPixelType; ///< [IN] \~chinese 像素格式 \~english Pixel format
  173. unsigned char* pSrcBuf; ///< [IN] \~chinese 输入数据缓存 \~english Input data buffer
  174. unsigned int nSrcBufLen; ///< [IN] \~chinese 输入数据大小 \~english Input data length
  175. MV_CC_RECT_I* pstROIRect; ///< [IN] \~chinese 图像ROI \~english Image ROI
  176. unsigned int nROINum; ///< [IN] \~chinese ROI个数 \~english ROI number
  177. ///< \~chinese Bayer域噪声估计参数,Mono8/RGB域无效 \~english Bayer Noise estimate param,Mono8/RGB formats are invalid
  178. unsigned int nNoiseThreshold; ///< [IN] \~chinese 噪声阈值[0,4095] \~english Noise threshold[0,4095]
  179. ///< \~chinese 建议值:8bit,0xE0;10bit,0x380;12bit,0xE00 \~english Suggestive value:8bit,0xE0;10bit,0x380;12bit,0xE00
  180. unsigned char* pNoiseProfile; ///< [OUT] \~chinese 输出噪声特性 \~english Output Noise Profile
  181. unsigned int nNoiseProfileSize; ///< [IN] \~chinese 提供的输出缓冲区大小 \~english Provided output buffer size
  182. unsigned int nNoiseProfileLen; ///< [OUT] \~chinese 输出噪声特性长度 \~english Output Noise Profile length
  183. unsigned int nRes[8]; ///< \~chinese 预留 \~english Reserved
  184. }MV_CC_NOISE_ESTIMATE_PARAM;
  185. /// \~chinese 空域降噪结构体 \~english Spatial denoise structure
  186. typedef struct _MV_CC_SPATIAL_DENOISE_PARAM_T_
  187. {
  188. unsigned int nWidth; ///< [IN] \~chinese 图像宽度(最小8) \~english Image Width
  189. unsigned int nHeight; ///< [IN] \~chinese 图像高度(最小8) \~english Image Height
  190. enum MvGvspPixelType enPixelType; ///< [IN] \~chinese 像素格式 \~english Pixel format
  191. unsigned char* pSrcBuf; ///< [IN] \~chinese 输入数据缓存 \~english Input data buffer
  192. unsigned int nSrcBufLen; ///< [IN] \~chinese 输入数据大小 \~english Input data length
  193. unsigned char* pDstBuf; ///< [OUT] \~chinese 输出降噪后的数据 \~english Output data buffer
  194. unsigned int nDstBufSize; ///< [IN] \~chinese 提供的输出缓冲区大小 \~english Provided output buffer size
  195. unsigned int nDstBufLen; ///< [OUT] \~chinese 输出降噪后的数据长度 \~english Output data length
  196. unsigned char* pNoiseProfile; ///< [IN] \~chinese 输入噪声特性 \~english Input Noise Profile
  197. unsigned int nNoiseProfileLen; ///< [IN] \~chinese 输入噪声特性长度 \~english Input Noise Profile length
  198. ///< \~chinese Bayer域空域降噪参数,Mono8/RGB域无效 \~english Bayer Spatial denoise param,Mono8/RGB formats are invalid
  199. unsigned int nBayerDenoiseStrength; ///< [IN] \~chinese 降噪强度[0,100] \~english Denoise Strength[0,100]
  200. unsigned int nBayerSharpenStrength; ///< [IN] \~chinese 锐化强度[0,32] \~english Sharpen Strength[0,32]
  201. unsigned int nBayerNoiseCorrect; ///< [IN] \~chinese 噪声校正系数[0,1280] \~english Noise Correct[0,1280]
  202. ///< \~chinese Mono8/RGB域空域降噪参数,Bayer域无效 \~english Mono8/RGB Spatial denoise param,Bayer formats are invalid
  203. unsigned int nNoiseCorrectLum; ///< [IN] \~chinese 亮度校正系数[1,2000] \~english Noise Correct Lum[1,2000]
  204. unsigned int nNoiseCorrectChrom; ///< [IN] \~chinese 色调校正系数[1,2000] \~english Noise Correct Chrom[1,2000]
  205. unsigned int nStrengthLum; ///< [IN] \~chinese 亮度降噪强度[0,100] \~english Strength Lum[0,100]
  206. unsigned int nStrengthChrom; ///< [IN] \~chinese 色调降噪强度[0,100] \~english Strength Chrom[0,100]
  207. unsigned int nStrengthSharpen; ///< [IN] \~chinese 锐化强度[1,1000] \~english Strength Sharpen[1,1000]
  208. unsigned int nRes[8]; ///< \~chinese 预留 \~english Reserved
  209. }MV_CC_SPATIAL_DENOISE_PARAM;
  210. /// \~chinese LSC标定结构体 \~english LSC calib structure
  211. typedef struct _MV_CC_LSC_CALIB_PARAM_T_
  212. {
  213. unsigned int nWidth; ///< [IN] \~chinese 图像宽度[16,65535] \~english Image Width
  214. unsigned int nHeight; ///< [IN] \~chinese 图像高度[16-65535] \~english Image Height
  215. enum MvGvspPixelType enPixelType; ///< [IN] \~chinese 像素格式 \~english Pixel format
  216. unsigned char* pSrcBuf; ///< [IN] \~chinese 输入数据缓存 \~english Input data buffer
  217. unsigned int nSrcBufLen; ///< [IN] \~chinese 输入数据长度 \~english Input data length
  218. unsigned char* pCalibBuf; ///< [OUT] \~chinese 输出标定表缓存 \~english Output calib buffer
  219. unsigned int nCalibBufSize; ///< [IN] \~chinese 提供的标定表缓冲大小(nWidth*nHeight*sizeof(unsigned short)) \~english Provided output buffer size
  220. unsigned int nCalibBufLen; ///< [OUT] \~chinese 输出标定表缓存长度 \~english Output calib buffer length
  221. unsigned int nSecNumW; ///< [IN] \~chinese 宽度分块数 \~english Width Sec num
  222. unsigned int nSecNumH; ///< [IN] \~chinese 高度分块数 \~english Height Sec num
  223. unsigned int nPadCoef; ///< [IN] \~chinese 边缘填充系数[1,5] \~english Pad Coef[1,5]
  224. unsigned int nCalibMethod; ///< [IN] \~chinese 标定方式(0-中心为基准;1-最亮区域为基准;2-目标亮度为基准) \~english Calib method
  225. unsigned int nTargetGray; ///< [IN] \~chinese 目标亮度(标定方式为2时有效) \~english Target Gray
  226. ///< \~chinese 8位,范围:[0,255] \~english 8bit,range:[0,255]
  227. ///< \~chinese 10位,范围:[0,1023] \~english 10bit,range:[0,1023]
  228. ///< \~chinese 12位,范围:[0,4095] \~english 12bit,range:[0,4095]
  229. unsigned int nRes[8]; ///< \~chinese 预留 \~english Reserved
  230. }MV_CC_LSC_CALIB_PARAM;
  231. /// \~chinese LSC校正结构体 \~english LSC correct structure
  232. typedef struct _MV_CC_LSC_CORRECT_PARAM_T_
  233. {
  234. unsigned int nWidth; ///< [IN] \~chinese 图像宽度[16,65535] \~english Image Width
  235. unsigned int nHeight; ///< [IN] \~chinese 图像高度[16,65535] \~english Image Height
  236. enum MvGvspPixelType enPixelType; ///< [IN] \~chinese 像素格式 \~english Pixel format
  237. unsigned char* pSrcBuf; ///< [IN] \~chinese 输入数据缓存 \~english Input data buffer
  238. unsigned int nSrcBufLen; ///< [IN] \~chinese 输入数据长度 \~english Input data length
  239. unsigned char* pDstBuf; ///< [OUT] \~chinese 输出数据缓存 \~english Output data buffer
  240. unsigned int nDstBufSize; ///< [IN] \~chinese 提供的输出缓冲区大小 \~english Provided output buffer size
  241. unsigned int nDstBufLen; ///< [OUT] \~chinese 输出数据长度 \~english Output data length
  242. unsigned char* pCalibBuf; ///< [IN] \~chinese 输入标定表缓存 \~english Input calib buffer
  243. unsigned int nCalibBufLen; ///< [IN] \~chinese 输入标定表缓存长度 \~english Input calib buffer length
  244. unsigned int nRes[8]; ///< \~chinese 预留 \~english Reserved
  245. }MV_CC_LSC_CORRECT_PARAM;
  246. /// \~chinese 某个节点对应的子节点个数最大值 \~english The maximum number of child nodes corresponding to a node
  247. #define MV_MAX_XML_NODE_NUM_C 128
  248. /// \~chinese 节点名称字符串最大长度 \~english The maximum length of node name string
  249. #define MV_MAX_XML_NODE_STRLEN_C 64
  250. /// \~chinese 节点String值最大长度 \~english The maximum length of Node String
  251. #define MV_MAX_XML_STRVALUE_STRLEN_C 64
  252. /// \~chinese 节点描述字段最大长度 \~english The maximum length of the node description field
  253. #define MV_MAX_XML_DISC_STRLEN_C 512
  254. /// \~chinese 最多的单元数 \~english The maximum number of units
  255. #define MV_MAX_XML_ENTRY_NUM 10
  256. /// \~chinese 父节点个数上限 \~english The maximum number of parent nodes
  257. #define MV_MAX_XML_PARENTS_NUM 8
  258. /// \~chinese 每个已经实现单元的名称长度 \~english The length of the name of each unit that has been implemented
  259. #define MV_MAX_XML_SYMBOLIC_STRLEN_C 64
  260. enum MV_XML_Visibility
  261. {
  262. V_Beginner = 0, ///< Always visible
  263. V_Expert = 1, ///< Visible for experts or Gurus
  264. V_Guru = 2, ///< Visible for Gurus
  265. V_Invisible = 3, ///< Not Visible
  266. V_Undefined = 99 ///< Object is not yet initialized
  267. };
  268. /// \~chinese 单个节点基本属性 | en:Single Node Basic Attributes
  269. typedef struct _MV_XML_NODE_FEATURE_
  270. {
  271. enum MV_XML_InterfaceType enType; ///< \~chinese 节点类型 \~english Node Type
  272. enum MV_XML_Visibility enVisivility; ///< \~chinese 是否可见 \~english Is visibility
  273. char strDescription[MV_MAX_XML_DISC_STRLEN_C]; ///< \~chinese 节点描述,目前暂不支持 \~english Node Description, NOT SUPPORT NOW
  274. char strDisplayName[MV_MAX_XML_NODE_STRLEN_C]; ///< \~chinese 显示名称 \~english Display Name
  275. char strName[MV_MAX_XML_NODE_STRLEN_C]; ///< \~chinese 节点名 \~english Node Name
  276. char strToolTip[MV_MAX_XML_DISC_STRLEN_C]; ///< \~chinese 提示 \~english Notice
  277. unsigned int nReserved[4];
  278. }MV_XML_NODE_FEATURE;
  279. /// \~chinese 节点列表 | en:Node List
  280. typedef struct _MV_XML_NODES_LIST_
  281. {
  282. unsigned int nNodeNum; ///< \~chinese 节点个数 \~english Node Number
  283. MV_XML_NODE_FEATURE stNodes[MV_MAX_XML_NODE_NUM_C];
  284. }MV_XML_NODES_LIST;
  285. typedef struct _MV_XML_FEATURE_Value_
  286. {
  287. enum MV_XML_InterfaceType enType; ///< \~chinese 节点类型 \~english Node Type
  288. char strDescription[MV_MAX_XML_DISC_STRLEN_C]; ///< \~chinese 节点描述,目前暂不支持 \~english Node Description, NOT SUPPORT NOW
  289. char strDisplayName[MV_MAX_XML_NODE_STRLEN_C]; ///< \~chinese 显示名称 \~english Display Name
  290. char strName[MV_MAX_XML_NODE_STRLEN_C]; ///< \~chinese 节点名 \~english Node Name
  291. char strToolTip[MV_MAX_XML_DISC_STRLEN_C]; ///< \~chinese 提示 \~english Notice
  292. unsigned int nReserved[4];
  293. }MV_XML_FEATURE_Value;
  294. typedef struct _MV_XML_FEATURE_Base_
  295. {
  296. enum MV_XML_AccessMode enAccessMode; ///< \~chinese 访问模式 \~english Access Mode
  297. }MV_XML_FEATURE_Base;
  298. typedef struct _MV_XML_FEATURE_Integer_
  299. {
  300. char strName[MV_MAX_XML_NODE_STRLEN_C];
  301. char strDisplayName[MV_MAX_XML_NODE_STRLEN_C];
  302. char strDescription[MV_MAX_XML_DISC_STRLEN_C]; ///< \~chinese 目前暂不支持 \~english NOT SUPPORT NOW
  303. char strToolTip[MV_MAX_XML_DISC_STRLEN_C];
  304. enum MV_XML_Visibility enVisivility; ///< \~chinese 是否可见 \~english Visible
  305. enum MV_XML_AccessMode enAccessMode; ///< \~chinese 访问模式 \~english Access Mode
  306. int bIsLocked; ///< \~chinese 是否锁定。0-否;1-是,目前暂不支持 \~english Locked. 0-NO; 1-YES, NOT SUPPORT NOW
  307. int64_t nValue; ///< \~chinese 当前值 \~english Current Value
  308. int64_t nMinValue; ///< \~chinese 最小值 \~english Min Value
  309. int64_t nMaxValue; ///< \~chinese 最大值 \~english Max Value
  310. int64_t nIncrement; ///< \~chinese 增量 \~english Increment
  311. unsigned int nReserved[4];
  312. }MV_XML_FEATURE_Integer;
  313. typedef struct _MV_XML_FEATURE_Boolean_
  314. {
  315. char strName[MV_MAX_XML_NODE_STRLEN_C];
  316. char strDisplayName[MV_MAX_XML_NODE_STRLEN_C];
  317. char strDescription[MV_MAX_XML_DISC_STRLEN_C]; ///< \~chinese 目前暂不支持 \~english NOT SUPPORT NOW
  318. char strToolTip[MV_MAX_XML_DISC_STRLEN_C];
  319. enum MV_XML_Visibility enVisivility; ///< \~chinese 是否可见 \~english Visible
  320. enum MV_XML_AccessMode enAccessMode; ///< \~chinese 访问模式 \~english Access Mode
  321. int bIsLocked; ///< \~chinese 是否锁定。0-否;1-是,目前暂不支持 \~english Locked. 0-NO; 1-YES, NOT SUPPORT NOW
  322. bool bValue; ///< \~chinese 当前值 \~english Current Value
  323. unsigned int nReserved[4];
  324. }MV_XML_FEATURE_Boolean;
  325. typedef struct _MV_XML_FEATURE_Command_
  326. {
  327. char strName[MV_MAX_XML_NODE_STRLEN_C];
  328. char strDisplayName[MV_MAX_XML_NODE_STRLEN_C];
  329. char strDescription[MV_MAX_XML_DISC_STRLEN_C]; ///< \~chinese 目前暂不支持 \~english NOT SUPPORT NOW
  330. char strToolTip[MV_MAX_XML_DISC_STRLEN_C];
  331. enum MV_XML_Visibility enVisivility; ///< \~chinese 是否可见 \~english Visible
  332. enum MV_XML_AccessMode enAccessMode; ///< \~chinese 访问模式 \~english Access Mode
  333. int bIsLocked; ///< \~chinese 是否锁定。0-否;1-是,目前暂不支持 \~english Locked. 0-NO; 1-YES, NOT SUPPORT NOW
  334. unsigned int nReserved[4];
  335. }MV_XML_FEATURE_Command;
  336. typedef struct _MV_XML_FEATURE_Float_
  337. {
  338. char strName[MV_MAX_XML_NODE_STRLEN_C];
  339. char strDisplayName[MV_MAX_XML_NODE_STRLEN_C];
  340. char strDescription[MV_MAX_XML_DISC_STRLEN_C]; ///< \~chinese 目前暂不支持 \~english NOT SUPPORT NOW
  341. char strToolTip[MV_MAX_XML_DISC_STRLEN_C];
  342. enum MV_XML_Visibility enVisivility; ///< \~chinese 是否可见 \~english Visible
  343. enum MV_XML_AccessMode enAccessMode; ///< \~chinese 访问模式 \~english Access Mode
  344. int bIsLocked; ///< \~chinese 是否锁定。0-否;1-是,目前暂不支持 \~english Locked. 0-NO; 1-YES, NOT SUPPORT NOW
  345. double dfValue; ///< \~chinese 当前值 \~english Current Value
  346. double dfMinValue; ///< \~chinese 最小值 \~english Min Value
  347. double dfMaxValue; ///< \~chinese 最大值 \~english Max Value
  348. double dfIncrement; ///< \~chinese 增量 \~english Increment
  349. unsigned int nReserved[4];
  350. }MV_XML_FEATURE_Float;
  351. typedef struct _MV_XML_FEATURE_String_
  352. {
  353. char strName[MV_MAX_XML_NODE_STRLEN_C];
  354. char strDisplayName[MV_MAX_XML_NODE_STRLEN_C];
  355. char strDescription[MV_MAX_XML_DISC_STRLEN_C]; ///< \~chinese 目前暂不支持 \~english NOT SUPPORT NOW
  356. char strToolTip[MV_MAX_XML_DISC_STRLEN_C];
  357. enum MV_XML_Visibility enVisivility; ///< \~chinese 是否可见 \~english Visible
  358. enum MV_XML_AccessMode enAccessMode; ///< \~chinese 访问模式 \~english Access Mode
  359. int bIsLocked; ///< \~chinese 是否锁定。0-否;1-是,目前暂不支持 \~english Locked. 0-NO; 1-YES, NOT SUPPORT NOW
  360. char strValue[MV_MAX_XML_STRVALUE_STRLEN_C]; ///< \~chinese 当前值 \~english Current Value
  361. unsigned int nReserved[4];
  362. }MV_XML_FEATURE_String;
  363. typedef struct _MV_XML_FEATURE_Register_
  364. {
  365. char strName[MV_MAX_XML_NODE_STRLEN_C];
  366. char strDisplayName[MV_MAX_XML_NODE_STRLEN_C];
  367. char strDescription[MV_MAX_XML_DISC_STRLEN_C]; ///< \~chinese 目前暂不支持 \~english NOT SUPPORT NOW
  368. char strToolTip[MV_MAX_XML_DISC_STRLEN_C];
  369. enum MV_XML_Visibility enVisivility; ///< \~chinese 是否可见 \~english Visible
  370. enum MV_XML_AccessMode enAccessMode; ///< \~chinese 访问模式 \~english Access Mode
  371. int bIsLocked; ///< \~chinese 是否锁定。0-否;1-是,目前暂不支持 \~english Locked. 0-NO; 1-YES, NOT SUPPORT NOW
  372. int64_t nAddrValue; ///< \~chinese 当前值 \~english Current Value
  373. unsigned int nReserved[4];
  374. }MV_XML_FEATURE_Register;
  375. typedef struct _MV_XML_FEATURE_Category_
  376. {
  377. char strDescription[MV_MAX_XML_DISC_STRLEN_C]; ///< \~chinese 节点描述 目前暂不支持 \~english Node Description, NOT SUPPORT NOW
  378. char strDisplayName[MV_MAX_XML_NODE_STRLEN_C]; ///< \~chinese 显示名称 \~english Display Name
  379. char strName[MV_MAX_XML_NODE_STRLEN_C]; ///< \~chinese 节点名 \~english Node Name
  380. char strToolTip[MV_MAX_XML_DISC_STRLEN_C]; ///< \~chinese 提示 \~english Notice
  381. enum MV_XML_Visibility enVisivility; ///< \~chinese 是否可见 \~english Visible
  382. unsigned int nReserved[4];
  383. }MV_XML_FEATURE_Category;
  384. typedef struct _MV_XML_FEATURE_EnumEntry_
  385. {
  386. char strName[MV_MAX_XML_NODE_STRLEN_C];
  387. char strDisplayName[MV_MAX_XML_NODE_STRLEN_C];
  388. char strDescription[MV_MAX_XML_DISC_STRLEN_C]; ///< \~chinese 目前暂不支持 \~english NOT SUPPORT NOW
  389. char strToolTip[MV_MAX_XML_DISC_STRLEN_C];
  390. int bIsImplemented;
  391. int nParentsNum;
  392. MV_XML_NODE_FEATURE stParentsList[MV_MAX_XML_PARENTS_NUM];
  393. enum MV_XML_Visibility enVisivility; ///< \~chinese 是否可见 \~english Visible
  394. int64_t nValue; ///< \~chinese 当前值 \~english Current Value
  395. enum MV_XML_AccessMode enAccessMode; ///< \~chinese 访问模式 \~english Access Mode
  396. int bIsLocked; ///< \~chinese 是否锁定。0-否;1-是,目前暂不支持 \~english Locked. 0-NO; 1-YES, NOT SUPPORT NOW
  397. int nReserved[8];
  398. }MV_XML_FEATURE_EnumEntry;
  399. typedef struct _MV_XML_FEATURE_Enumeration_
  400. {
  401. enum MV_XML_Visibility enVisivility; ///< \~chinese 是否可见 \~english Visible
  402. char strDescription[MV_MAX_XML_DISC_STRLEN_C]; ///< \~chinese 节点描述 目前暂不支持 \~english Node Description, NOT SUPPORT NOW
  403. char strDisplayName[MV_MAX_XML_NODE_STRLEN_C]; ///< \~chinese 显示名称 \~english Display Name
  404. char strName[MV_MAX_XML_NODE_STRLEN_C]; ///< \~chinese 节点名 \~english Node Name
  405. char strToolTip[MV_MAX_XML_DISC_STRLEN_C]; ///< \~chinese 提示 \~english Notice
  406. int nSymbolicNum; ///< \~chinese ymbolic数 \~english Symbolic Number
  407. char strCurrentSymbolic[MV_MAX_XML_SYMBOLIC_STRLEN_C];///< \~chinese 当前Symbolic索引 \~english Current Symbolic Index
  408. char strSymbolic[MV_MAX_XML_SYMBOLIC_NUM][MV_MAX_XML_SYMBOLIC_STRLEN_C];
  409. enum MV_XML_AccessMode enAccessMode; ////< \~chinese 访问模式 \~english Access Mode
  410. int bIsLocked; ///< \~chinese 是否锁定。0-否;1-是,目前暂不支持 \~english Locked. 0-NO; 1-YES, NOT SUPPORT NOW
  411. int64_t nValue; ///< \~chinese 当前值 \~english Current Value
  412. unsigned int nReserved[4];
  413. }MV_XML_FEATURE_Enumeration;
  414. typedef struct _MV_XML_FEATURE_Port_
  415. {
  416. enum MV_XML_Visibility enVisivility; ///< \~chinese 是否可见 \~english Visible
  417. char strDescription[MV_MAX_XML_DISC_STRLEN_C]; ///< \~chinese 节点描述,目前暂不支持 \~english Node Description, NOT SUPPORT NOW
  418. char strDisplayName[MV_MAX_XML_NODE_STRLEN_C]; ///< \~chinese 显示名称 \~english Display Name
  419. char strName[MV_MAX_XML_NODE_STRLEN_C]; ///< \~chinese 节点名 \~english Node Name
  420. char strToolTip[MV_MAX_XML_DISC_STRLEN_C]; ///< \~chinese 提示 \~english Notice
  421. enum MV_XML_AccessMode enAccessMode; ///< \~chinese 访问模式 \~english Access Mode
  422. int bIsLocked; ///< \~chinese 是否锁定。0-否;1-是,目前暂不支持 \~english Locked. 0-NO; 1-YES, NOT SUPPORT NOW
  423. unsigned int nReserved[4];
  424. }MV_XML_FEATURE_Port;
  425. typedef struct _MV_XML_CAMERA_FEATURE_
  426. {
  427. enum MV_XML_InterfaceType enType;
  428. union
  429. {
  430. MV_XML_FEATURE_Integer stIntegerFeature;
  431. MV_XML_FEATURE_Float stFloatFeature;
  432. MV_XML_FEATURE_Enumeration stEnumerationFeature;
  433. MV_XML_FEATURE_String stStringFeature;
  434. }SpecialFeature;
  435. }MV_XML_CAMERA_FEATURE;
  436. #endif /* _MV_OBSOLETE_CAM_PARAMS_H_ */