1108 lines
66 KiB
C
1108 lines
66 KiB
C
/**
|
||
* @file IKapCDef.h
|
||
* @brief IKapC bindings - macro definitions.
|
||
* @author iTek OptoElectronics Ltd
|
||
* @par Copyright (c) iTek OptoElectronics Ltd.
|
||
* All Rights Reserved
|
||
* @date 2017:06:19
|
||
* @version <1.0.0.1>
|
||
*/
|
||
|
||
#ifndef _IKAPCDEF_H
|
||
#define _IKAPCDEF_H
|
||
#include "IKapCStat.h"
|
||
|
||
#if defined(_MSC_VER) || defined(__BORLANDC__)
|
||
# ifdef IKAPC_EXPORTS
|
||
# define IKAPC_API __declspec(dllexport)
|
||
# else
|
||
# define IKAPC_API __declspec(dllimport)
|
||
# endif
|
||
# define IKAPC_CC _stdcall
|
||
# define IKAPC_PACKING 8
|
||
|
||
#elif defined(__GNUC__) && (__GNUC__ >= 4) && (defined(__linux__) || defined(__APPLE__))
|
||
# define IKAPC_API __attribute__((visibility("default")))
|
||
# if defined(__i386__)
|
||
# define IKAPC_CC __attribute__((stdcall))
|
||
# else
|
||
# define IKAPC_CC
|
||
# endif
|
||
# define IKAPC_PACKING 8
|
||
#else
|
||
# error Unsupported platform
|
||
#endif
|
||
|
||
#define IKAPC_DECLARE_HANDLE(name) \
|
||
struct name##_; \
|
||
typedef struct name##_ *name
|
||
|
||
/** @brief A value for invalid / uninitialized handles. */
|
||
#ifdef __cplusplus
|
||
# define IKAPC_INVALID_HANDLE (0)
|
||
#else
|
||
# define IKAPC_INVALID_HANDLE ((void *)0)
|
||
#endif
|
||
|
||
/****************************************************************************
|
||
* Manager Parameters
|
||
****************************************************************************/
|
||
#define ITKMANAGER_PRM_FIRST 0
|
||
#define ITKMANAGER_PRM(n, size) ((((n) + ITKMANAGER_PRM_FIRST) << 16) | (size))
|
||
|
||
#define ITKMANAGER_COAXPRESS_12_SUPPORT ITKMANAGER_PRM(0, 4)
|
||
#define ITKMANAGER_COAXPRESS_COMMUNICATION_TAG_SUPPORT ITKMANAGER_PRM(1, 4)
|
||
#define ITKMANAGER_COAXPRESS_CONTROL_PACKET_MAX_SIZE ITKMANAGER_PRM(2, 4)
|
||
#define ITKMANAGER_COAXPRESS_STREAM_PACKET_MAX_SIZE ITKMANAGER_PRM(3, 4)
|
||
#define ITKMANAGER_COAXPRESS_RW_REGISTER_MAX_TIME ITKMANAGER_PRM(4, 4)
|
||
|
||
/****************************************************************************
|
||
* Board Parameters
|
||
****************************************************************************/
|
||
#define ITKBOARD_PRM_FIRST 0
|
||
#define ITKBOARD_PRM(n, size) ((((n) + ITKDEV_PRM_FIRST) << 16) | (size))
|
||
|
||
#define ITKBOARD_PRM_WIDTH ITKBOARD_PRM(0, 4) /**< \brief board width */
|
||
#define ITKBOARD_PRM_HEIGHT ITKBOARD_PRM(1, 4) /**< \brief board height */
|
||
#define ITKBOARD_PRM_OFFSET_X ITKBOARD_PRM(2, 4) /**< \brief board offset x */
|
||
#define ITKBOARD_PRM_OFFSET_Y ITKBOARD_PRM(3, 4) /**< \brief board offset y */
|
||
|
||
/****************************************************************************
|
||
* Device Parameters
|
||
****************************************************************************/
|
||
#define ITKDEV_PRM_FIRST 0
|
||
#define ITKDEV_PRM(n, size) ((((n) + ITKDEV_PRM_FIRST) << 16) | (size))
|
||
|
||
#define ITKDEV_PRM_HEARTBEAT_TIMEOUT \
|
||
ITKDEV_PRM(0, 4) /**< \brief device heartbeat timeout. \
|
||
*/
|
||
#define ITKDEV_PRM_INTERFACE_TYPE ITKDEV_PRM(1, 4) /**< \brief device interface type. */
|
||
|
||
/* IKapC device access modes */
|
||
#define ITKDEV_VAL_ACCESS_MODE_MONITOR 0 /**< \brief access in monitor mode(read only)*/
|
||
#define ITKDEV_VAL_ACCESS_MODE_CONTROL (1 << 0) /**< \brief access in control mode(read/write feature)*/
|
||
#define ITKDEV_VAL_ACCESS_MODE_STREAM (1 << 1) /**< \brief access in stream mode(grab image)*/
|
||
#define ITKDEV_VAL_ACCESS_MODE_EXCLUSIVE \
|
||
(1 << 2) /**< \brief access in exclusive mode(only one process could control device)*/
|
||
#define ITKDEV_VAL_ACCESS_MODE_CONTROL_SWITCHOVER (1 << 3) /**< \brief access in stream mode(grab image)*/
|
||
|
||
/* Device support event type */
|
||
#define ITKDEV_VAL_EVENT_TYPE_DEV_REMOVE \
|
||
0x00010000 /**< \brief Call the callback function after the device closed. */
|
||
#define ITKDEV_VAL_EVENT_TYPE_FEATURE_VALUE_CHANGED \
|
||
0x00020000 /**< \brief Call the callback function after the device feature value changed. */
|
||
#define ITKDEV_VAL_EVENT_TYPE_FRAME_TRIGGER_IGNORE \
|
||
0x00040000 /**< \brief Call when frame trigger ignore happen. */
|
||
#define ITKDEV_VAL_EVENT_TYPE_LINE_TRIGGER_IGNORE \
|
||
0x00080000 /**< \brief Call when line trigger ignore happen. */
|
||
#define ITKDEV_VAL_EVENT_TYPE_FRAME_TRIGGER \
|
||
0x00100000 /**< \brief Call when frame trigger happen. */
|
||
|
||
#define ITKDEV_VAL_EVENT_TYPE_MASK 0xffff0000
|
||
|
||
/****************************************************************************
|
||
* Feature Parameters
|
||
****************************************************************************/
|
||
|
||
/* IKapC feature data types */
|
||
#define ITKFEATURE_VAL_TYPE_UNDEFINED 0 /**< \brief feature type invalid. */
|
||
#define ITKFEATURE_VAL_TYPE_INT32 1 /**< \brief feature represents an 32bit integer-valued parameter. */
|
||
#define ITKFEATURE_VAL_TYPE_INT64 2 /**< \brief feature represents an 64bit integer-valued parameter. */
|
||
#define ITKFEATURE_VAL_TYPE_FLOAT 3 /**< \brief feature represents a 32bit floating point-valued parameter. */
|
||
#define ITKFEATURE_VAL_TYPE_DOUBLE 4 /**< \brief feature represents a 64bit floating point-valued parameter. */
|
||
#define ITKFEATURE_VAL_TYPE_BOOL 5 /**< \brief Node represents a boolean (true/false) parameter. */
|
||
#define ITKFEATURE_VAL_TYPE_ENUM 6 /**< \brief Node represents an 'enumeration entry' parameter. */
|
||
#define ITKFEATURE_VAL_TYPE_STRING 7 /**< \brief Node represents a string-valued parameter. */
|
||
#define ITKFEATURE_VAL_TYPE_COMMAND 8 /**< \brief Node can trigger a command. */
|
||
#define ITKFEATURE_VAL_TYPE_CATEGORY 9 /**< \brief Category include other features. */
|
||
#define ITKFEATURE_VAL_TYPE_REGISTER 10
|
||
|
||
/* IKapC feature access mode */
|
||
#define ITKFEATURE_VAL_ACCESS_MODE_UNDEFINED 0 /**< \brief Access mode invalid. */
|
||
#define ITKFEATURE_VAL_ACCESS_MODE_RW 1 /**< \brief Read and Write. */
|
||
#define ITKFEATURE_VAL_ACCESS_MODE_RO 2 /**< \brief Read Only. */
|
||
#define ITKFEATURE_VAL_ACCESS_MODE_WO 3 /**< \brief Write Only.*/
|
||
#define ITKFEATURE_VAL_ACCESS_MODE_NI 4 /**< \brief Not implemented. */
|
||
#define ITKFEATURE_VAL_ACCESS_MODE_NA 5 /**< \brief Not available. */
|
||
|
||
/* IKapC feature name space */
|
||
#define ITKFEATURE_VAL_NAME_SPACE_UNDEFINED 0 /**< \brief Name space invalid. */
|
||
#define ITKFEATURE_VAL_NAME_SPACE_CUSTOM 1 /**< \brief Name resides in custom name space. */
|
||
#define ITKFEATURE_VAL_NAME_SPACE_STANDARD 2 /**< \brief Name resides in one of the standard name spaces. */
|
||
|
||
/* IKapC feature representation */
|
||
#define ITKFEATURE_VAL_REPRESENTATION_UNDEFINED \
|
||
0 /**< \brief Undefined representation. \
|
||
*/
|
||
#define ITKFEATURE_VAL_REPRESENTATION_LINEAR 1 /**< \brief The feature follows a linear scale. */
|
||
#define ITKFEATURE_VAL_REPRESENTATION_LOGARITHMIC 2 /**< \brief The feature follows a logarithmic scale. */
|
||
#define ITKFEATURE_VAL_REPRESENTATION_BOOLEAN \
|
||
3 /**< \brief The feature is a boolean (can have two values: zero or non-zero). */
|
||
#define ITKFEATURE_VAL_REPRESENTATION_PURENUMBER 4 /**< \brief The feature using an edit box only with decimal display.*/
|
||
#define ITKFEATURE_VAL_REPRESENTATION_HEXNUMBER 5 /**< \brief The feature using an edit box with hexadecimal display.*/
|
||
#define ITKFEATURE_VAL_REPRESENTATION_IPV4ADDRESS 6 /**< \brief The feature showing like an IP address.*/
|
||
#define ITKFEATURE_VAL_REPRESENTATION_MACADDRESS 7 /**< \brief The feature showing like a MAC address.*/
|
||
|
||
/* IKapC feature visibility */
|
||
#define ITKFEATURE_VAL_VISIBILITY_UNDEFINED 0 /**< \brief Undefined visibility level. */
|
||
#define ITKFEATURE_VAL_VISIBILITY_BEGINNER \
|
||
1 /**< \brief Specifies that the feature should be made visible to any user. */
|
||
#define ITKFEATURE_VAL_VISIBILITY_EXPERT \
|
||
2 /**< \brief Specifies that the feature should be made visible to users with a certain level of expertise. \
|
||
*/
|
||
#define ITKFEATURE_VAL_VISIBILITY_GURU \
|
||
3 /**< \brief Specifies that the feature should be made visible to users with a high level of expertise. \
|
||
*/
|
||
#define ITKFEATURE_VAL_VISIBILITY_INVISIBLE \
|
||
4 /**< \brief Specifies that the feature should not be made visible to any user.This level of visibility is normally \
|
||
used on obsolete or internal features. */
|
||
|
||
/* IKapC feature signed */
|
||
#define ITKFEATURE_VAL_SIGN_UNDEFINED \
|
||
0 /**< \brief Sign is undefined. \
|
||
*/
|
||
#define ITKFEATURE_VAL_SIGN_SIGNED 1 /**< \brief The feature is a signed integer of float. */
|
||
#define ITKEFATURE_VAL_SIGN_UNSIGNED 2 /**< \brief The feature is an unsigned integer of float. */
|
||
|
||
/****************************************************************************
|
||
* Event info Parameters
|
||
****************************************************************************/
|
||
#define ITKEVENTINFO_PRM_FIRST 0
|
||
#define ITKEVENTINFO_PRM(n, size) ((((n) + ITKDEV_PRM_FIRST) << 16) | (size))
|
||
|
||
#define ITKEVENTINFO_PRM_TYPE ITKEVENTINFO_PRM(0, 4) /**< \brief Event info type. */
|
||
#define ITKEVENTINFO_PRM_FEATURE_NAME ITKEVENTINFO_PRM(1, 128) /**< \brief Event info of feature name. */
|
||
#define ITKEVENTINFO_PRM_HOST_TIME_STAMP ITKEVENTINFO_PRM(2, 8) /**< \brief Host time stamp. */
|
||
|
||
/****************************************************************************
|
||
* Buffer Parameters
|
||
****************************************************************************/
|
||
#define ITKBUFFFER_PRM_FIRST 0
|
||
#define ITKBUFFER_PRM(n, size) ((((n) + ITKBUFFFER_PRM_FIRST) << 16) | (size))
|
||
|
||
#define ITKBUFFER_PRM_FORMAT ITKBUFFER_PRM(0, 4) /**< \brief Buffer pixel format. */
|
||
#define ITKBUFFER_PRM_DATA_BIT ITKBUFFER_PRM(1, 4) /**< \brief Buffer pixel data size in byte. */
|
||
#define ITKBUFFER_PRM_PIXEL_DEPTH \
|
||
ITKBUFFER_PRM(2, 4) /**< \brief Buffer pixel depth. \
|
||
*/
|
||
#define ITKBUFFER_PRM_WIDTH \
|
||
ITKBUFFER_PRM(3, 8) /**< \brief Buffer width. \
|
||
*/
|
||
#define ITKBUFFER_PRM_HEIGHT \
|
||
ITKBUFFER_PRM(4, 8) /**< \brief Buffer height. \
|
||
*/
|
||
#define ITKBUFFER_PRM_ADDRESS ITKBUFFER_PRM(5, sizeof(void *)) /**< \brief Buffer address. */
|
||
#define ITKBUFFER_PRM_HOST_COUNTER_STAMP ITKBUFFER_PRM(6, 8) /**< \brief Buffer host counter stamp. */
|
||
#define ITKBUFFER_PRM_STATE \
|
||
ITKBUFFER_PRM(7, 4) /**< \brief Buffer state. \
|
||
*/
|
||
#define ITKBUFFER_PRM_SIGNED ITKBUFFER_PRM(8, 4) /**< \brief Sign of buffer state. */
|
||
#define ITKBUFFER_PRM_SIZE \
|
||
ITKBUFFER_PRM(9, 8) /**< \brief Buffer size, which is calculated with format: size = width*height*data_bits/8. \
|
||
*/
|
||
#define ITKBUFFER_PRM_BLOCK_ID \
|
||
ITKBUFFER_PRM( \
|
||
10, 8) /**< \brief Buffer block id. For GigEVision Camera, the sequence number starts with 1 and wraps at 65535. \
|
||
The value 0 has a special meaning and indicates that this feature is not supported by the camera.*/
|
||
#define ITKBUFFER_PRM_READY_LINES ITKBUFFER_PRM(11, 8) /**< \brief Buffer current readylines. */
|
||
#define ITKBUFFER_PRM_TRANSFER_SIZE ITKBUFFER_PRM(12, 8) /**< \brief Buffer current transfer size. */
|
||
#define ITKBUFFER_PRM_RSND_PKT_COUNT ITKBUFFER_PRM(13, 8) /**< \brief Current resend packet count in buffer.*/
|
||
#define ITKBUFFER_PRM_LOST_PKT_COUNT ITKBUFFER_PRM(14, 8) /**< \brief Current lost packet count in buffer.*/
|
||
#define ITKBUFFER_PRM_ERROR_REASON ITKBUFFER_PRM(15, 4)
|
||
#define ITKBUFFER_PRM_FIND_LINE_RESULT ITKBUFFER_PRM(16, 33 * 2 * 8)
|
||
|
||
/* Buffer data format definitions */
|
||
// (32-bit format descriptor)
|
||
//-------------------------------------------------------------------------------
|
||
// Bits Description
|
||
//-------------------------------------------------------------------------------
|
||
// 0-7: Index(used by internal implementation as an index to function table)
|
||
// 8-15: Number of bits per pixel
|
||
// 16-23: Pixel depth
|
||
// 24: Color (true if it's a color format)
|
||
// 25: Sign (used by monochrome formats)
|
||
//-------------------------------------------------------------------------------
|
||
#define ITKBUFFER_FORMAT(nDepth, nBits, index) (((nDepth) << 16) | ((nBits) << 8) | index)
|
||
|
||
// Bit fields
|
||
|
||
// Color: bit 24
|
||
#define ITKBUFFER_FORMAT_MONO 0x00000000 /**< \brief Buffer format is monochrome. */
|
||
#define ITKBUFFER_FORMAT_COLOR \
|
||
0x01000000 /**< \brief Buffer format is color. \
|
||
*/
|
||
|
||
// Sign: bit 25
|
||
#define ITKBUFFER_FORMAT_UNSIGNED 0x00000000 /**< \brief Buffer format is unsigned. */
|
||
#define ITKBUFFER_FORMAT_SIGNED 0x02000000 /**< \brief Buffer format is signed. */
|
||
|
||
// Monochrome data formats
|
||
#define ITKBUFFER_VAL_FORMAT_MONO8 \
|
||
(ITKBUFFER_FORMAT(8, 8, 0x01) | ITKBUFFER_FORMAT_MONO | \
|
||
ITKBUFFER_FORMAT_UNSIGNED) /**< \brief Indicates it's a monochrome 8 format. */
|
||
#define ITKBUFFER_VAL_FORMAT_MONO10 \
|
||
(ITKBUFFER_FORMAT(10, 16, 0x02) | ITKBUFFER_FORMAT_MONO | \
|
||
ITKBUFFER_FORMAT_UNSIGNED) /**< \brief Indicates it's a monochrome 10 format. \
|
||
*/
|
||
#define ITKBUFFER_VAL_FORMAT_MONO10PACKED \
|
||
(ITKBUFFER_FORMAT(10, 12, 0x03) | ITKBUFFER_FORMAT_COLOR | \
|
||
ITKBUFFER_FORMAT_UNSIGNED) /**< \brief Indicates it's a monochrome 10 packed format. */
|
||
#define ITKBUFFER_VAL_FORMAT_MONO12 \
|
||
(ITKBUFFER_FORMAT(12, 16, 0x04) | ITKBUFFER_FORMAT_MONO | \
|
||
ITKBUFFER_FORMAT_UNSIGNED) /**< \brief Indicates it's a monochrome 12 format. \
|
||
*/
|
||
#define ITKBUFFER_VAL_FORMAT_MONO12PACKED \
|
||
(ITKBUFFER_FORMAT(12, 12, 0x05) | ITKBUFFER_FORMAT_MONO | \
|
||
ITKBUFFER_FORMAT_UNSIGNED) /**< \brief Indicates it's a monochrome 12 packed format. */
|
||
#define ITKBUFFER_VAL_FORMAT_MONO14 \
|
||
(ITKBUFFER_FORMAT(14, 16, 0x06) | ITKBUFFER_FORMAT_MONO | \
|
||
ITKBUFFER_FORMAT_UNSIGNED) /**< \brief Indicates it's a monochroms 14 format. \
|
||
*/
|
||
#define ITKBUFFER_VAL_FORMAT_MONO16 \
|
||
(ITKBUFFER_FORMAT(16, 16, 0x07) | ITKBUFFER_FORMAT_MONO | \
|
||
ITKBUFFER_FORMAT_UNSIGNED) /**< \brief Indicates it's a monochrome 16 format. \
|
||
*/
|
||
|
||
#define ITKBUFFER_VAL_FORMAT_RGB888 \
|
||
(ITKBUFFER_FORMAT(8, 24, 0x08) | ITKBUFFER_FORMAT_COLOR | \
|
||
ITKBUFFER_FORMAT_UNSIGNED) /**< \brief Indicates it's a color RGB 8-8-8 format. \
|
||
*/
|
||
#define ITKBUFFER_VAL_FORMAT_RGB101010 \
|
||
(ITKBUFFER_FORMAT(10, 48, 0x09) | ITKBUFFER_FORMAT_COLOR | \
|
||
ITKBUFFER_FORMAT_UNSIGNED) /**< \brief Indicates it's a color RGB 10-10-10 format. \
|
||
*/
|
||
#define ITKBUFFER_VAL_FORMAT_RGB121212 \
|
||
(ITKBUFFER_FORMAT(12, 48, 0x0A) | ITKBUFFER_FORMAT_COLOR | \
|
||
ITKBUFFER_FORMAT_UNSIGNED) /**< \brief Indicates it's a color RGB 12-12-12 format. \
|
||
*/
|
||
#define ITKBUFFER_VAL_FORMAT_RGB141414 \
|
||
(ITKBUFFER_FORMAT(14, 48, 0x0B) | ITKBUFFER_FORMAT_COLOR | \
|
||
ITKBUFFER_FORMAT_UNSIGNED) /**< \brief Indicates it's a color RGB 14-14-14 format. \
|
||
*/
|
||
#define ITKBUFFER_VAL_FORMAT_RGB161616 \
|
||
(ITKBUFFER_FORMAT(16, 48, 0x0C) | ITKBUFFER_FORMAT_COLOR | \
|
||
ITKBUFFER_FORMAT_UNSIGNED) /**< \brief Indicates it's a color RGB 16-16-16 format. \
|
||
*/
|
||
|
||
#define ITKBUFFER_VAL_FORMAT_BGR888 \
|
||
(ITKBUFFER_FORMAT(8, 24, 0x0D) | ITKBUFFER_FORMAT_COLOR | \
|
||
ITKBUFFER_FORMAT_UNSIGNED) /**< \brief Indicates it's a color BGR 8-8-8 format. \
|
||
*/
|
||
#define ITKBUFFER_VAL_FORMAT_BGR101010 \
|
||
(ITKBUFFER_FORMAT(10, 48, 0x0E) | ITKBUFFER_FORMAT_COLOR | \
|
||
ITKBUFFER_FORMAT_UNSIGNED) /**< \brief Indicates it's a color BGR 10-10-10 format. \
|
||
*/
|
||
#define ITKBUFFER_VAL_FORMAT_BGR121212 \
|
||
(ITKBUFFER_FORMAT(12, 48, 0x0F) | ITKBUFFER_FORMAT_COLOR | \
|
||
ITKBUFFER_FORMAT_UNSIGNED) /**< \brief Indicates it's a color BGR 12-12-12 format. \
|
||
*/
|
||
#define ITKBUFFER_VAL_FORMAT_BGR141414 \
|
||
(ITKBUFFER_FORMAT(14, 48, 0x10) | ITKBUFFER_FORMAT_COLOR | \
|
||
ITKBUFFER_FORMAT_UNSIGNED) /**< \brief Indicates it's a color BGR 14-14-14 format. \
|
||
*/
|
||
#define ITKBUFFER_VAL_FORMAT_BGR161616 \
|
||
(ITKBUFFER_FORMAT(16, 48, 0x11) | ITKBUFFER_FORMAT_COLOR | \
|
||
ITKBUFFER_FORMAT_UNSIGNED) /**< \brief Indicates it's a color BGR 16-16-16 format. \
|
||
*/
|
||
|
||
#define ITKBUFFER_VAL_FORMAT_BAYER_GR8 \
|
||
(ITKBUFFER_FORMAT(8, 8, 0x12) | ITKBUFFER_FORMAT_COLOR | \
|
||
ITKBUFFER_FORMAT_UNSIGNED) /**< \brief Indicates it's a color bayer GR 8 format. \
|
||
*/
|
||
#define ITKBUFFER_VAL_FORMAT_BAYER_RG8 \
|
||
(ITKBUFFER_FORMAT(8, 8, 0x13) | ITKBUFFER_FORMAT_COLOR | \
|
||
ITKBUFFER_FORMAT_UNSIGNED) /**< \brief Indicates it's a color bayer RG 8 format. \
|
||
*/
|
||
#define ITKBUFFER_VAL_FORMAT_BAYER_GB8 \
|
||
(ITKBUFFER_FORMAT(8, 8, 0x14) | ITKBUFFER_FORMAT_COLOR | \
|
||
ITKBUFFER_FORMAT_UNSIGNED) /**< \brief Indicates it's a color bayer GB 8 format. \
|
||
*/
|
||
#define ITKBUFFER_VAL_FORMAT_BAYER_BG8 \
|
||
(ITKBUFFER_FORMAT(8, 8, 0x15) | ITKBUFFER_FORMAT_COLOR | \
|
||
ITKBUFFER_FORMAT_UNSIGNED) /**< \brief Indicates it's a color bayer BG 8 format. \
|
||
*/
|
||
|
||
#define ITKBUFFER_VAL_FORMAT_BAYER_GR10 \
|
||
(ITKBUFFER_FORMAT(10, 16, 0x16) | ITKBUFFER_FORMAT_COLOR | \
|
||
ITKBUFFER_FORMAT_UNSIGNED) /**< \brief Indicates it's a color bayer GR 10 format. \
|
||
*/
|
||
#define ITKBUFFER_VAL_FORMAT_BAYER_RG10 \
|
||
(ITKBUFFER_FORMAT(10, 16, 0x17) | ITKBUFFER_FORMAT_COLOR | \
|
||
ITKBUFFER_FORMAT_UNSIGNED) /**< \brief Indicates it's a color bayer RG 10 format. \
|
||
*/
|
||
#define ITKBUFFER_VAL_FORMAT_BAYER_GB10 \
|
||
(ITKBUFFER_FORMAT(10, 16, 0x18) | ITKBUFFER_FORMAT_COLOR | \
|
||
ITKBUFFER_FORMAT_UNSIGNED) /**< \brief Indicates it's a color bayer GB 10 format. \
|
||
*/
|
||
#define ITKBUFFER_VAL_FORMAT_BAYER_BG10 \
|
||
(ITKBUFFER_FORMAT(10, 16, 0x19) | ITKBUFFER_FORMAT_COLOR | \
|
||
ITKBUFFER_FORMAT_UNSIGNED) /**< \brief Indicates it's a color bayer BG 10 format. \
|
||
*/
|
||
|
||
#define ITKBUFFER_VAL_FORMAT_BAYER_GR10PACKED \
|
||
(ITKBUFFER_FORMAT(10, 12, 0x1A) | ITKBUFFER_FORMAT_COLOR | \
|
||
ITKBUFFER_FORMAT_UNSIGNED) /**< \brief Indicates it's a color bayer GR 10 pakced format. */
|
||
#define ITKBUFFER_VAL_FORMAT_BAYER_RG10PACKED \
|
||
(ITKBUFFER_FORMAT(10, 12, 0x1B) | ITKBUFFER_FORMAT_COLOR | \
|
||
ITKBUFFER_FORMAT_UNSIGNED) /**< \brief Indicates it's a color bayer RG 10 packed format. */
|
||
#define ITKBUFFER_VAL_FORMAT_BAYER_GB10PACKED \
|
||
(ITKBUFFER_FORMAT(10, 12, 0x1C) | ITKBUFFER_FORMAT_COLOR | \
|
||
ITKBUFFER_FORMAT_UNSIGNED) /**< \brief Indicates it's a color bayer GB 10 packed format. */
|
||
#define ITKBUFFER_VAL_FORMAT_BAYER_BG10PACKED \
|
||
(ITKBUFFER_FORMAT(10, 12, 0x1D) | ITKBUFFER_FORMAT_COLOR | \
|
||
ITKBUFFER_FORMAT_UNSIGNED) /**< \brief Indicates it's a color bayer BG 10 pakced format. */
|
||
|
||
#define ITKBUFFER_VAL_FORMAT_BAYER_GR12 \
|
||
(ITKBUFFER_FORMAT(12, 16, 0x1E) | ITKBUFFER_FORMAT_COLOR | \
|
||
ITKBUFFER_FORMAT_UNSIGNED) /**< \brief Indicates it's a color bayer GR 12 format. */
|
||
#define ITKBUFFER_VAL_FORMAT_BAYER_RG12 \
|
||
(ITKBUFFER_FORMAT(12, 16, 0x1F) | ITKBUFFER_FORMAT_COLOR | \
|
||
ITKBUFFER_FORMAT_UNSIGNED) /**< \brief Indicates it's a color bayer RG 12 format. */
|
||
#define ITKBUFFER_VAL_FORMAT_BAYER_GB12 \
|
||
(ITKBUFFER_FORMAT(12, 16, 0x20) | ITKBUFFER_FORMAT_COLOR | \
|
||
ITKBUFFER_FORMAT_UNSIGNED) /**< \brief Indicates it's a color bayer GB 12 format. */
|
||
#define ITKBUFFER_VAL_FORMAT_BAYER_BG12 \
|
||
(ITKBUFFER_FORMAT(12, 16, 0x21) | ITKBUFFER_FORMAT_COLOR | \
|
||
ITKBUFFER_FORMAT_UNSIGNED) /**< \brief Indicates it's a color bayer BG 12 format.*/
|
||
|
||
#define ITKBUFFER_VAL_FORMAT_YUV422_8_YUYV \
|
||
(ITKBUFFER_FORMAT(8, 16, 0x22) | ITKBUFFER_FORMAT_COLOR | \
|
||
ITKBUFFER_FORMAT_UNSIGNED) /**< \brief Indicates it's YUV 4:2:2 format(YUYV).*/
|
||
#define ITKBUFFER_VAL_FORMAT_YUV422_8_UYUV \
|
||
(ITKBUFFER_FORMAT(8, 16, 0x23) | ITKBUFFER_FORMAT_COLOR | \
|
||
ITKBUFFER_FORMAT_UNSIGNED) /**< \brief Indicates it's a YUV 4:2:2 format(UYUV).*/
|
||
#define ITKBUFFER_VAL_FORMAT_COORD3D_C16 \
|
||
(ITKBUFFER_FORMAT(16, 16, 0x24) | ITKBUFFER_FORMAT_MONO | \
|
||
ITKBUFFER_FORMAT_UNSIGNED) /**< \brief Indicates it's a coord3D_C16 format.*/
|
||
#define ITKBUFFER_VAL_FORMAT_COORD3D_AC16 \
|
||
(ITKBUFFER_FORMAT(16, 32, 0x25) | ITKBUFFER_FORMAT_MONO | \
|
||
ITKBUFFER_FORMAT_UNSIGNED) /**< \brief Indicates it's a coord3D_AC16 format.*/
|
||
#define ITKBUFFER_VAL_FORMAT_COORD3D_ACR16 \
|
||
(ITKBUFFER_FORMAT(16, 48, 0x26) | ITKBUFFER_FORMAT_MONO | \
|
||
ITKBUFFER_FORMAT_UNSIGNED) /**< \brief Indicates it's a coord3D_ACR16 format.*/
|
||
#define ITKBUFFER_VAL_FORMAT_YUV422_8_UYVY \
|
||
(ITKBUFFER_FORMAT(8, 16, 0x27) | ITKBUFFER_FORMAT_COLOR | \
|
||
ITKBUFFER_FORMAT_UNSIGNED) /**< \brief Indicates it's YUV 4:2:2 format(UYVY).*/
|
||
|
||
#define ITKBUFFER_VAL_FORMAT_MONO8PACKED \
|
||
(ITKBUFFER_FORMAT(8, 8, 0x28) | ITKBUFFER_FORMAT_COLOR | \
|
||
ITKBUFFER_FORMAT_UNSIGNED) /**< \brief Indicates it's a color monochrome 8 packed format. */
|
||
#define ITKBUFFER_VAL_FORMAT_RGB888PACKED \
|
||
(ITKBUFFER_FORMAT(8, 24, 0x29) | ITKBUFFER_FORMAT_COLOR | \
|
||
ITKBUFFER_FORMAT_UNSIGNED) /**< \brief Indicates it's a color RGB 8-8-8 packed format. */
|
||
#define ITKBUFFER_VAL_FORMAT_BGR888PACKED \
|
||
(ITKBUFFER_FORMAT(8, 24, 0x2A) | ITKBUFFER_FORMAT_COLOR | \
|
||
ITKBUFFER_FORMAT_UNSIGNED) /**< \brief Indicates it's a color BGR 8-8-8 packed format. */
|
||
|
||
/**
|
||
\~chinese
|
||
* @brief PCD图像
|
||
* @note PCD图像。
|
||
* @see ITKBUFFER_PRM_FORMAT
|
||
*/
|
||
/**
|
||
\~english
|
||
* @brief PCD image
|
||
* @note PCD image.
|
||
* @see ITKBUFFER_PRM_FORMAT
|
||
*/
|
||
#define ITKBUFFER_VAL_FORMAT_PCD (ITKBUFFER_FORMAT(32, 128, 0x2B) | ITKBUFFER_FORMAT_MONO | ITKBUFFER_FORMAT_UNSIGNED)
|
||
|
||
/**
|
||
\~chinese
|
||
* @brief Bayer图像GRBG排列压缩12bit
|
||
* @note Bayer格式12bit压缩图像,像素值按照GRBG顺序在内存中排列。
|
||
* @see ITKBUFFER_PRM_FORMAT
|
||
*/
|
||
/**
|
||
\~english
|
||
* @brief Bayer GRBG packed 12bit
|
||
* @note Bayer 12bit packed image, pixel values are arranged in memory in GRBG order.
|
||
* @see ITKBUFFER_PRM_FORMAT
|
||
*/
|
||
#define ITKBUFFER_VAL_FORMAT_BAYER_GR12PACKED \
|
||
(ITKBUFFER_FORMAT(12, 12, 0x2C) | ITKBUFFER_FORMAT_COLOR | ITKBUFFER_FORMAT_UNSIGNED)
|
||
|
||
/**
|
||
\~chinese
|
||
* @brief Bayer图像RGGB排列压缩12bit
|
||
* @note Bayer格式12bit压缩图像,像素值按照RGGB顺序在内存中排列。
|
||
* @see ITKBUFFER_PRM_FORMAT
|
||
*/
|
||
/**
|
||
\~english
|
||
* @brief Bayer RGGB packed 12bit
|
||
* @note Bayer 12bit packed image, pixel values are arranged in memory in RGGB order.
|
||
* @see ITKBUFFER_PRM_FORMAT
|
||
*/
|
||
#define ITKBUFFER_VAL_FORMAT_BAYER_RG12PACKED \
|
||
(ITKBUFFER_FORMAT(12, 12, 0x2D) | ITKBUFFER_FORMAT_COLOR | ITKBUFFER_FORMAT_UNSIGNED)
|
||
|
||
/**
|
||
\~chinese
|
||
* @brief Bayer图像GBRG排列压缩12bit
|
||
* @note Bayer格式12bit压缩图像,像素值按照GBRG顺序在内存中排列。
|
||
* @see ITKBUFFER_PRM_FORMAT
|
||
*/
|
||
/**
|
||
\~english
|
||
* @brief Bayer GBRG packed 12bit
|
||
* @note Bayer 12bit packed image, pixel values are arranged in memory in GBRG order.
|
||
* @see ITKBUFFER_PRM_FORMAT
|
||
*/
|
||
#define ITKBUFFER_VAL_FORMAT_BAYER_GB12PACKED \
|
||
(ITKBUFFER_FORMAT(12, 12, 0x2E) | ITKBUFFER_FORMAT_COLOR | ITKBUFFER_FORMAT_UNSIGNED)
|
||
|
||
/**
|
||
\~chinese
|
||
* @brief Bayer图像BGGR排列压缩12bit
|
||
* @note Bayer格式12bit压缩图像,像素值按照BGGR顺序在内存中排列。
|
||
* @see ITKBUFFER_PRM_FORMAT
|
||
*/
|
||
/**
|
||
\~english
|
||
* @brief Bayer BGGR packed 12bit
|
||
* @note Bayer 12bit packed image, pixel values are arranged in memory in BGGR order.
|
||
* @see ITKBUFFER_PRM_FORMAT
|
||
*/
|
||
#define ITKBUFFER_VAL_FORMAT_BAYER_BG12PACKED \
|
||
(ITKBUFFER_FORMAT(12, 12, 0x2F) | ITKBUFFER_FORMAT_COLOR | ITKBUFFER_FORMAT_UNSIGNED)
|
||
|
||
/**
|
||
\~chinese
|
||
* @brief 黑白压缩10bit(USB相机专用)
|
||
* @note 灰度10bit压缩图像数据。
|
||
* @see ITKBUFFER_PRM_FORMAT
|
||
*/
|
||
/**
|
||
\~english
|
||
* @brief Monochrome packed 10bit (USB camera specific)
|
||
* @note Grayscale 10bit compressed image data
|
||
* @see ITKBUFFER_PRM_FORMAT
|
||
*/
|
||
#define ITKBUFFER_VAL_FORMAT_U3V_MONO10PACKED \
|
||
(ITKBUFFER_FORMAT(10, 10, 0x30) | ITKBUFFER_FORMAT_MONO | ITKBUFFER_FORMAT_UNSIGNED)
|
||
|
||
/**
|
||
\~chinese
|
||
* @brief Bayer图像GRBG排列压缩10bit(USB相机专用)
|
||
* @note Bayer格式10bit压缩图像,像素值按照GRBG顺序在内存中排列。
|
||
* @see ITKBUFFER_PRM_FORMAT
|
||
*/
|
||
/**
|
||
\~english
|
||
* @brief Bayer GRBG packed 10bit (USB camera specific)
|
||
* @note Bayer 10bit packed image, pixel values are arranged in memory in GRBG order.
|
||
* @see ITKBUFFER_PRM_FORMAT
|
||
*/
|
||
#define ITKBUFFER_VAL_FORMAT_U3V_BAYER_GR10PACKED \
|
||
(ITKBUFFER_FORMAT(10, 10, 0x31) | ITKBUFFER_FORMAT_COLOR | ITKBUFFER_FORMAT_UNSIGNED)
|
||
|
||
/**
|
||
\~chinese
|
||
* @brief Bayer图像RGGB排列压缩10bit(USB相机专用)
|
||
* @note Bayer格式10bit压缩图像,像素值按照RGGB顺序在内存中排列。
|
||
* @see ITKBUFFER_PRM_FORMAT
|
||
*/
|
||
/**
|
||
\~english
|
||
* @brief Bayer RGGB packed 10bit (USB camera specific)
|
||
* @note Bayer 10bit packed image, pixel values are arranged in memory in RGGB order.
|
||
* @see ITKBUFFER_PRM_FORMAT
|
||
*/
|
||
#define ITKBUFFER_VAL_FORMAT_U3V_BAYER_RG10PACKED \
|
||
(ITKBUFFER_FORMAT(10, 10, 0x32) | ITKBUFFER_FORMAT_COLOR | ITKBUFFER_FORMAT_UNSIGNED)
|
||
|
||
/**
|
||
\~chinese
|
||
* @brief Bayer图像GBRG排列压缩10bit(USB相机专用)
|
||
* @note Bayer格式10bit压缩图像,像素值按照GBRG顺序在内存中排列。
|
||
* @see ITKBUFFER_PRM_FORMAT
|
||
*/
|
||
/**
|
||
\~english
|
||
* @brief Bayer GBRG packed 10bit (USB camera specific)
|
||
* @note Bayer 10bit packed image, pixel values are arranged in memory in GBRG order.
|
||
* @see ITKBUFFER_PRM_FORMAT
|
||
*/
|
||
#define ITKBUFFER_VAL_FORMAT_U3V_BAYER_GB10PACKED \
|
||
(ITKBUFFER_FORMAT(10, 10, 0x33) | ITKBUFFER_FORMAT_COLOR | ITKBUFFER_FORMAT_UNSIGNED)
|
||
|
||
/**
|
||
\~chinese
|
||
* @brief Bayer图像BGGR排列压缩10bit(USB相机专用)
|
||
* @note Bayer格式10bit压缩图像,像素值按照BGGR顺序在内存中排列。
|
||
* @see ITKBUFFER_PRM_FORMAT
|
||
*/
|
||
/**
|
||
\~english
|
||
* @brief Bayer BGGR packed 10bit (USB camera specific)
|
||
* @note Bayer 10bit packed image, pixel values are arranged in memory in BGGR order.
|
||
* @see ITKBUFFER_PRM_FORMAT
|
||
*/
|
||
#define ITKBUFFER_VAL_FORMAT_U3V_BAYER_BG10PACKED \
|
||
(ITKBUFFER_FORMAT(10, 10, 0x34) | ITKBUFFER_FORMAT_COLOR | ITKBUFFER_FORMAT_UNSIGNED)
|
||
|
||
/**
|
||
\~chinese
|
||
* @brief Bayer图像GRBG排列14bit
|
||
* @note Bayer格式14bit图像,像素值按照GRBG顺序在内存中排列。
|
||
* @see ITKBUFFER_PRM_FORMAT
|
||
*/
|
||
/**
|
||
\~english
|
||
* @brief Bayer GRBG 14bit
|
||
* @note Bayer 14bit image, pixel values are arranged in memory in GRBG order.
|
||
* @see ITKBUFFER_PRM_FORMAT
|
||
*/
|
||
#define ITKBUFFER_VAL_FORMAT_BAYER_GR14 (ITKBUFFER_FORMAT(14, 16, 0x35) | ITKBUFFER_FORMAT_COLOR | ITKBUFFER_FORMAT_UNSIGNED)
|
||
|
||
/**
|
||
\~chinese
|
||
* @brief Bayer图像RGGB排列14bit
|
||
* @note Bayer格式14bit图像,像素值按照RGGB顺序在内存中排列。
|
||
* @see ITKBUFFER_PRM_FORMAT
|
||
*/
|
||
/**
|
||
\~english
|
||
* @brief Bayer RGGB 14bit
|
||
* @note Bayer 14bit image, pixel values are arranged in memory in RGGB order.
|
||
* @see ITKBUFFER_PRM_FORMAT
|
||
*/
|
||
#define ITKBUFFER_VAL_FORMAT_BAYER_RG14 (ITKBUFFER_FORMAT(14, 16, 0x36) | ITKBUFFER_FORMAT_COLOR | ITKBUFFER_FORMAT_UNSIGNED)
|
||
|
||
/**
|
||
\~chinese
|
||
* @brief Bayer图像GBRG排列14bit
|
||
* @note Bayer格式14bit图像,像素值按照GBRG顺序在内存中排列。
|
||
* @see ITKBUFFER_PRM_FORMAT
|
||
*/
|
||
/**
|
||
\~english
|
||
* @brief Bayer GBRG 14bit
|
||
* @note Bayer 14bit image, pixel values are arranged in memory in GBRG order.
|
||
* @see ITKBUFFER_PRM_FORMAT
|
||
*/
|
||
#define ITKBUFFER_VAL_FORMAT_BAYER_GB14 (ITKBUFFER_FORMAT(14, 16, 0x37) | ITKBUFFER_FORMAT_COLOR | ITKBUFFER_FORMAT_UNSIGNED)
|
||
|
||
/**
|
||
\~chinese
|
||
* @brief Bayer图像BGGR排列14bit
|
||
* @note Bayer格式14bit图像,像素值按照BGGR顺序在内存中排列。
|
||
* @see ITKBUFFER_PRM_FORMAT
|
||
*/
|
||
/**
|
||
\~english
|
||
* @brief Bayer BGGR 14bit
|
||
* @note Bayer 14bit image, pixel values are arranged in memory in BGGR order.
|
||
* @see ITKBUFFER_PRM_FORMAT
|
||
*/
|
||
#define ITKBUFFER_VAL_FORMAT_BAYER_BG14 (ITKBUFFER_FORMAT(14, 16, 0x38) | ITKBUFFER_FORMAT_COLOR | ITKBUFFER_FORMAT_UNSIGNED)
|
||
|
||
/**
|
||
\~chinese
|
||
* @brief Bayer图像GRBG排列16bit
|
||
* @note Bayer格式16bit图像,像素值按照GRBG顺序在内存中排列。
|
||
* @see ITKBUFFER_PRM_FORMAT
|
||
*/
|
||
/**
|
||
\~english
|
||
* @brief Bayer GRBG 16bit
|
||
* @note Bayer 16bit image, pixel values are arranged in memory in GRBG order.
|
||
* @see ITKBUFFER_PRM_FORMAT
|
||
*/
|
||
#define ITKBUFFER_VAL_FORMAT_BAYER_GR16 (ITKBUFFER_FORMAT(16, 16, 0x39) | ITKBUFFER_FORMAT_COLOR | ITKBUFFER_FORMAT_UNSIGNED)
|
||
|
||
/**
|
||
\~chinese
|
||
* @brief Bayer图像RGGB排列16bit
|
||
* @note Bayer格式16bit图像,像素值按照RGGB顺序在内存中排列。
|
||
* @see ITKBUFFER_PRM_FORMAT
|
||
*/
|
||
/**
|
||
\~english
|
||
* @brief Bayer RGGB 16bit
|
||
* @note Bayer 16bit image, pixel values are arranged in memory in RGGB order.
|
||
* @see ITKBUFFER_PRM_FORMAT
|
||
*/
|
||
#define ITKBUFFER_VAL_FORMAT_BAYER_RG16 (ITKBUFFER_FORMAT(16, 16, 0x3A) | ITKBUFFER_FORMAT_COLOR | ITKBUFFER_FORMAT_UNSIGNED)
|
||
|
||
/**
|
||
\~chinese
|
||
* @brief Bayer图像GBRG排列16bit
|
||
* @note Bayer格式16bit图像,像素值按照GBRG顺序在内存中排列。
|
||
* @see ITKBUFFER_PRM_FORMAT
|
||
*/
|
||
/**
|
||
\~english
|
||
* @brief Bayer GBRG 16bit
|
||
* @note Bayer 16bit image, pixel values are arranged in memory in GBRG order.
|
||
* @see ITKBUFFER_PRM_FORMAT
|
||
*/
|
||
#define ITKBUFFER_VAL_FORMAT_BAYER_GB16 (ITKBUFFER_FORMAT(16, 16, 0x3B) | ITKBUFFER_FORMAT_COLOR | ITKBUFFER_FORMAT_UNSIGNED)
|
||
|
||
/**
|
||
\~chinese
|
||
* @brief Bayer图像BGGR排列16bit
|
||
* @note Bayer格式16bit图像,像素值按照BGGR顺序在内存中排列。
|
||
* @see ITKBUFFER_PRM_FORMAT
|
||
*/
|
||
/**
|
||
\~english
|
||
* @brief Bayer BGGR 16bit
|
||
* @note Bayer 16bit image, pixel values are arranged in memory in BGGR order.
|
||
* @see ITKBUFFER_PRM_FORMAT
|
||
*/
|
||
#define ITKBUFFER_VAL_FORMAT_BAYER_BG16 (ITKBUFFER_FORMAT(16, 16, 0x3C) | ITKBUFFER_FORMAT_COLOR | ITKBUFFER_FORMAT_UNSIGNED)
|
||
|
||
/**
|
||
\~chinese
|
||
* @brief 黑白压缩12bit(USB相机专用)
|
||
* @note 灰度12bit压缩图像数据。
|
||
* @see ITKBUFFER_PRM_FORMAT
|
||
\~english
|
||
* @brief Monochrome packed 12bit (USB camera specific)
|
||
* @note Grayscale 12bit compressed image data
|
||
* @see ITKBUFFER_PRM_FORMAT
|
||
*/
|
||
#define ITKBUFFER_VAL_FORMAT_U3V_MONO12PACKED \
|
||
(ITKBUFFER_FORMAT(12, 12, 0x3D) | ITKBUFFER_FORMAT_MONO | ITKBUFFER_FORMAT_UNSIGNED)
|
||
|
||
/**
|
||
\~chinese
|
||
* @brief Bayer图像GRBG排列压缩12bit(USB相机专用)
|
||
* @note Bayer格式12bit压缩图像,像素值按照GRBG顺序在内存中排列。
|
||
* @see ITKBUFFER_PRM_FORMAT
|
||
\~english
|
||
* @brief Bayer GRBG packed 12bit (USB camera specific)
|
||
* @note Bayer 12bit packed image, pixel values are arranged in memory in GRBG order.
|
||
* @see ITKBUFFER_PRM_FORMAT
|
||
*/
|
||
#define ITKBUFFER_VAL_FORMAT_U3V_BAYER_GR12PACKED \
|
||
(ITKBUFFER_FORMAT(12, 12, 0x3E) | ITKBUFFER_FORMAT_COLOR | ITKBUFFER_FORMAT_UNSIGNED)
|
||
|
||
/**
|
||
\~chinese
|
||
* @brief Bayer图像RGGB排列压缩12bit(USB相机专用)
|
||
* @note Bayer格式12bit压缩图像,像素值按照RGGB顺序在内存中排列。
|
||
* @see ITKBUFFER_PRM_FORMAT
|
||
\~english
|
||
* @brief Bayer RGGB packed 12bit (USB camera specific)
|
||
* @note Bayer 12bit packed image, pixel values are arranged in memory in RGGB order.
|
||
* @see ITKBUFFER_PRM_FORMAT
|
||
*/
|
||
#define ITKBUFFER_VAL_FORMAT_U3V_BAYER_RG12PACKED \
|
||
(ITKBUFFER_FORMAT(12, 12, 0x3F) | ITKBUFFER_FORMAT_COLOR | ITKBUFFER_FORMAT_UNSIGNED)
|
||
|
||
/**
|
||
\~chinese
|
||
* @brief Bayer图像GBRG排列压缩12bit(USB相机专用)
|
||
* @note Bayer格式12bit压缩图像,像素值按照GBRG顺序在内存中排列。
|
||
* @see ITKBUFFER_PRM_FORMAT
|
||
\~english
|
||
* @brief Bayer GBRG packed 12bit (USB camera specific)
|
||
* @note Bayer 12bit packed image, pixel values are arranged in memory in GBRG order.
|
||
* @see ITKBUFFER_PRM_FORMAT
|
||
*/
|
||
#define ITKBUFFER_VAL_FORMAT_U3V_BAYER_GB12PACKED \
|
||
(ITKBUFFER_FORMAT(12, 12, 0x40) | ITKBUFFER_FORMAT_COLOR | ITKBUFFER_FORMAT_UNSIGNED)
|
||
|
||
/**
|
||
\~chinese
|
||
* @brief Bayer图像BGGR排列压缩12bit(USB相机专用)
|
||
* @note Bayer格式12bit压缩图像,像素值按照BGGR顺序在内存中排列。
|
||
* @see ITKBUFFER_PRM_FORMAT
|
||
\~english
|
||
* @brief Bayer BGGR packed 12bit (USB camera specific)
|
||
* @note Bayer 12bit packed image, pixel values are arranged in memory in BGGR order.
|
||
* @see ITKBUFFER_PRM_FORMAT
|
||
*/
|
||
#define ITKBUFFER_VAL_FORMAT_U3V_BAYER_BG12PACKED \
|
||
(ITKBUFFER_FORMAT(12, 12, 0x41) | ITKBUFFER_FORMAT_COLOR | ITKBUFFER_FORMAT_UNSIGNED)
|
||
|
||
/**
|
||
\~chinese
|
||
* @brief 3D图像
|
||
* @note 3D图像(Coord3D_CR32)从高有效位开始,前8bit为亮度数据,后24bit为未标定的线中心数据。
|
||
* @see ITKBUFFER_PRM_FORMAT
|
||
\~english
|
||
* @brief 3D image
|
||
* @note 3D image(Coord3D_CR32).
|
||
* @see ITKBUFFER_PRM_FORMAT
|
||
*/
|
||
#define ITKBUFFER_VAL_FORMAT_COORD3D_CR32 \
|
||
(ITKBUFFER_FORMAT(32, 32, 0x42) | ITKBUFFER_FORMAT_MONO | ITKBUFFER_FORMAT_UNSIGNED)
|
||
|
||
/**
|
||
\~chinese
|
||
* @brief 3D图像
|
||
* @note
|
||
3D图像(Calibrated_Coord3D_AC32)4个连续的X坐标32bit,4个连续的32bit,其中从高有效位开始,高8bit是亮度信息,后24bit是Z坐标。
|
||
* @see ITKBUFFER_PRM_FORMAT
|
||
\~english
|
||
* @brief 3D image
|
||
* @note 3D image(Calibrated_Coord3D_AC32).
|
||
* @see ITKBUFFER_PRM_FORMAT
|
||
*/
|
||
#define ITKBUFFER_VAL_FORMAT_CALIBRATED_COORD3D_AC32 \
|
||
(ITKBUFFER_FORMAT(32, 64, 0x43) | ITKBUFFER_FORMAT_MONO | ITKBUFFER_FORMAT_UNSIGNED)
|
||
|
||
/**
|
||
\~chinese
|
||
* @brief 3D图像
|
||
* @note 3D图像(Calibrated_Coord3D_C32)32bit数据,其中从高有效位开始,高8bit是亮度信息,后24bit是Z坐标。
|
||
* @see ITKBUFFER_PRM_FORMAT
|
||
\~english
|
||
* @brief 3D image
|
||
* @note 3D image(Calibrated_Coord3D_C32).
|
||
* @see ITKBUFFER_PRM_FORMAT
|
||
*/
|
||
#define ITKBUFFER_VAL_FORMAT_CALIBRATED_COORD3D_C32 \
|
||
(ITKBUFFER_FORMAT(32, 32, 0x44) | ITKBUFFER_FORMAT_MONO | ITKBUFFER_FORMAT_UNSIGNED)
|
||
|
||
/**
|
||
\~chinese
|
||
* @brief Data32
|
||
* @note 32bit 无符号数。
|
||
* @see ITKBUFFER_PRM_FORMAT
|
||
\~english
|
||
* @brief Data32
|
||
* @note Data 32-bit unsigned.
|
||
* @see ITKBUFFER_PRM_FORMAT
|
||
*/
|
||
#define ITKBUFFER_VAL_FORMAT_DATA_32 (ITKBUFFER_FORMAT(32, 32, 0x45) | ITKBUFFER_FORMAT_MONO | ITKBUFFER_FORMAT_UNSIGNED)
|
||
|
||
/**
|
||
\~chinese
|
||
* @brief Data16
|
||
* @note 16bit 无符号数。
|
||
* @see ITKBUFFER_PRM_FORMAT
|
||
\~english
|
||
* @brief Data16
|
||
* @note Data 16-bit unsigned.
|
||
* @see ITKBUFFER_PRM_FORMAT
|
||
*/
|
||
#define ITKBUFFER_VAL_FORMAT_DATA_16 (ITKBUFFER_FORMAT(16, 16, 0x46) | ITKBUFFER_FORMAT_MONO | ITKBUFFER_FORMAT_UNSIGNED)
|
||
|
||
/**
|
||
\~chinese
|
||
* @brief Data32S
|
||
* @note 32bit 有符号数。
|
||
* @see ITKBUFFER_PRM_FORMAT
|
||
\~english
|
||
* @brief Data32S
|
||
* @note Data 32-bit signed.
|
||
* @see ITKBUFFER_PRM_FORMAT
|
||
*/
|
||
#define ITKBUFFER_VAL_FORMAT_DATA_32S (ITKBUFFER_FORMAT(32, 32, 0x47) | ITKBUFFER_FORMAT_MONO | ITKBUFFER_FORMAT_SIGNED)
|
||
|
||
/**
|
||
\~chinese
|
||
* @brief Data16S
|
||
* @note 16bit 有符号数。
|
||
* @see ITKBUFFER_PRM_FORMAT
|
||
\~english
|
||
* @brief Data16S
|
||
* @note Data 16-bit signed.
|
||
* @see ITKBUFFER_PRM_FORMAT
|
||
*/
|
||
#define ITKBUFFER_VAL_FORMAT_DATA_16S (ITKBUFFER_FORMAT(16, 16, 0x48) | ITKBUFFER_FORMAT_MONO | ITKBUFFER_FORMAT_SIGNED)
|
||
|
||
/**
|
||
\~chinese
|
||
* @brief Data16 with 8bit
|
||
* @note 16bit 无符号数和8bit无符号数。
|
||
* @see ITKBUFFER_PRM_FORMAT
|
||
\~english
|
||
* @brief Data16 with 8bit
|
||
* @note Data 16-bit unsigned with 8bit unsigned.
|
||
* @see ITKBUFFER_PRM_FORMAT
|
||
*/
|
||
#define ITKBUFFER_VAL_FORMAT_DATA_16_WITH_8U \
|
||
(ITKBUFFER_FORMAT(24, 24, 0x49) | ITKBUFFER_FORMAT_MONO | ITKBUFFER_FORMAT_UNSIGNED)
|
||
|
||
/**
|
||
\~chinese
|
||
* @brief Data32 with 8bit
|
||
* @note 32bit 无符号数和8bit无符号数。
|
||
* @see ITKBUFFER_PRM_FORMAT
|
||
\~english
|
||
* @brief Data32 with 8bit
|
||
* @note Data 32-bit unsigned with 8bit unsigned.
|
||
* @see ITKBUFFER_PRM_FORMAT
|
||
*/
|
||
#define ITKBUFFER_VAL_FORMAT_DATA_32_WITH_8U \
|
||
(ITKBUFFER_FORMAT(40, 40, 0x50) | ITKBUFFER_FORMAT_MONO | ITKBUFFER_FORMAT_UNSIGNED)
|
||
|
||
// Macros to access bitfield information
|
||
#define ITKBUFFER_FORMAT_INDEX(format) ((format) & 0xFF)
|
||
#define ITKBUFFER_FORMATL_DATA_BIT(format) (((format) >> 8) & 0xFF)
|
||
#define ITKBUFFER_FORMAT_PIXEL_DEPTH(format) (((format) >> 16) & 0xFF)
|
||
#define ITKBUFFER_FORMAT_IS_COLOR(format) (((format) & ITKBUFFER_FORMAT_COLOR) ? 1 : 0)
|
||
#define ITKBUFFER_FORMAT_IS_SIGNED(format) (((format) & ITKBUFFER_FORMAT_SIGNED) ? 1 : 0)
|
||
|
||
/**
|
||
\~chinese
|
||
* @brief 单个像素深度
|
||
* @see ITKBUFFER_FORMAT
|
||
*/
|
||
/**
|
||
\~english
|
||
* @brief Single pixel size
|
||
* @see ITKBUFFER_FORMAT
|
||
*/
|
||
#define ITKBUFFER_FORMAT_PIXEL_BITS(format) (((format) >> 8) & 0xFF)
|
||
|
||
/**
|
||
\~chinese
|
||
* @brief 单个通道深度
|
||
* @see ITKBUFFER_FORMAT (nDepth, nBits, index)
|
||
*/
|
||
/**
|
||
\~english
|
||
* @brief Single channel size
|
||
* @see ITKBUFFER_FORMAT (nDepth, nBits, index)
|
||
*/
|
||
#define ITKBUFFER_FORMAT_CHANNEL_BITS(format) (((format) >> 16) & 0xFF)
|
||
/**
|
||
\~chinese
|
||
* @brief 获取图像通道数
|
||
* @see ITKBUFFER_FORMAT
|
||
*/
|
||
/**
|
||
\~english
|
||
* @brief Get the number of image channels
|
||
* @see ITKBUFFER_FORMAT
|
||
*/
|
||
#define ITKBUFFER_FORMAT_IMAGE_CHANNELS(format) \
|
||
((ITKBUFFER_FORMAT_PIXEL_BITS(format) / ITKBUFFER_FORMAT_CHANNEL_BITS(format)) > 3 && \
|
||
ITKBUFFER_FORMAT_IS_COLOR(format)) ? \
|
||
3 : \
|
||
(ITKBUFFER_FORMAT_PIXEL_BITS(format) / ITKBUFFER_FORMAT_CHANNEL_BITS(format))
|
||
|
||
/* Buffer states */
|
||
#define ITKBUFFER_VAL_STATE_EMPTY 0x00000001
|
||
#define ITKBUFFER_VAL_STATE_FULL 0x00000002
|
||
#define ITKBUFFER_VAL_STATE_OVERFLOW 0x00000004
|
||
#define ITKBUFFER_VAL_STATE_UNCOMPLETED 0x00000008
|
||
|
||
/* Buffer bayer convert alignment options */
|
||
#define ITKBUFFER_VAL_BAYER_BGGR 0x00000001
|
||
#define ITKBUFFER_VAL_BAYER_RGGB 0x00000002
|
||
#define ITKBUFFER_VAL_BAYER_GBRG 0x00000004
|
||
#define ITKBUFFER_VAL_BAYER_GRBG 0x00000008
|
||
|
||
/* File format in buffer load or save.*/
|
||
#define ITKBUFFER_VAL_BMP 0
|
||
#define ITKBUFFER_VAL_TIFF 1
|
||
#define ITKBUFFER_VAL_RAW 2
|
||
#define ITKBUFFER_VAL_JPEG 3 // zmLi 20221103
|
||
#define ITKBUFFER_VAL_PNG
|
||
|
||
/****************************************************************************
|
||
* Stream Parameters
|
||
****************************************************************************/
|
||
#define ITKSTREAM_PRM_FIRST 0
|
||
#define ITKSTREAM_PRM(n, size) ((((n) + ITKSTREAM_PRM_FIRST) << 16) | (size))
|
||
|
||
#define ITKSTREAM_PRM_STATUS ITKSTREAM_PRM(0, 4) /**< \brief Stream status. */
|
||
#define ITKSTREAM_PRM_SUPPORT_EVENT_TYPE \
|
||
ITKSTREAM_PRM(1, 4) /**< \brief Stream event type. */
|
||
#define ITKSTREAM_PRM_START_MODE \
|
||
ITKSTREAM_PRM(2, 4) /**< \brief Stream start mode. */
|
||
#define ITKSTREAM_PRM_TRANSFER_MODE \
|
||
ITKSTREAM_PRM(3, 4) /**< \brief Stream transfer mode. */
|
||
#define ITKSTREAM_PRM_AUTO_CLEAR \
|
||
ITKSTREAM_PRM(4, 4) /**< \brief Stream auto clear enable. */
|
||
#define ITKSTREAM_PRM_TIME_OUT \
|
||
ITKSTREAM_PRM(5, 4) /**< \brief Stream time out. */
|
||
#define ITKSTREAM_PRM_FRAME_RATE \
|
||
ITKSTREAM_PRM(6, 4) /**< \brief Stream frame rate. */
|
||
#define ITKSTREAM_PRM_GV_PACKET_MAX_RESEND_COUNT \
|
||
ITKSTREAM_PRM(7, 4) /**< \brief GigeVision camerea packet max resend times. */
|
||
#define ITKSTREAM_PRM_GV_PACKET_RESEND_TIMEOUT \
|
||
ITKSTREAM_PRM(8, 4) /**< \brief GigeVision camerea packet resend timeout. */
|
||
#define ITKSTREAM_PRM_GV_BLOCK_MAX_RESEND_PACKET_COUNT \
|
||
ITKSTREAM_PRM(9, 4) /**< \brief GigeVision camerea block max resend packet count. */
|
||
#define ITKSTREAM_PRM_GV_BLOCK_MAX_WAIT_PACKET_COUNT \
|
||
ITKSTREAM_PRM(10, 4) /**< \brief GigeVision camerea block max wait packet count. */
|
||
#define ITKSTREAM_PRM_GV_BLOCK_RESEND_WINODW_SIZE \
|
||
ITKSTREAM_PRM(11, 4) /**< \brief GigeVision camerea block resend window size. */
|
||
#define ITKSTREAM_PRM_GV_PACKET_INTER_TIMEOUT \
|
||
ITKSTREAM_PRM(12, 4) /**< \brief GigeVision camera packet inter tiemout */
|
||
#define ITKSTREAM_PRM_GV_PACKET_POLLING_TIME \
|
||
ITKSTREAM_PRM(13, 4) /**< \brief GigeVision camera packet polling time */
|
||
#define ITKSTREAM_PRM_GV_KERNEL_BUFFER_COUNT \
|
||
ITKSTREAM_PRM(14, 4) /**< \brief GigeVision camera kernel buffer count */
|
||
#define ITKSTREAM_PRM_LINE_RATE ITKSTREAM_PRM(15, 4) /**< \brief Stream line rate. */
|
||
#define ITKSTREAM_PRM_CURRENT_BUFFER_HANDLE \
|
||
ITKSTREAM_PRM(16, sizeof(ITKBUFFER *)) /**< \brief Stream current buffer handle in end of frame callback. */
|
||
#define ITKSTREAM_PRM_U3V_BURST_SIZE \
|
||
ITKSTREAM_PRM(30, 4) /**< \brief USBVision camerea burst frame size. */
|
||
|
||
/* Stream status */
|
||
#define ITKSTREAM_VAL_STATUS_STOPPED 0x00000000 /**< \brief Stream stop. */
|
||
#define ITKSTREAM_VAL_STATUS_ACTIVE 0x00000001 /**< \brief Stream in progress. */
|
||
#define ITKSTREAM_VAL_STATUS_PENDING 0x00000002 /**< \brief Stream is pending. */
|
||
#define ITKSTREAM_VAL_STATUS_ABORTED 0x00000003 /**< \brief Stream is aborted. */
|
||
#define ITKSTREAM_VAL_STATUS_TIMEOUT 0x00000004 /**< \brief Stream is time out. */
|
||
|
||
/* Stream support event type */
|
||
#define ITKSTREAM_VAL_EVENT_TYPE_START_OF_STREAM \
|
||
0x00010000 /**< \brief Call the callback function at the start of stream. */
|
||
#define ITKSTREAM_VAL_EVENT_TYPE_END_OF_STREAM \
|
||
0x00020000 /**< \brief Call the callback function at the end of stream. */
|
||
#define ITKSTREAM_VAL_EVENT_TYPE_START_OF_FRAME \
|
||
0x00040000 /**< \brief Call the callback function at the start of frame. \
|
||
*/
|
||
#define ITKSTREAM_VAL_EVENT_TYPE_END_OF_FRAME \
|
||
0x00080000 /**< \brief Call the callback function at the end of frame. \
|
||
*/
|
||
#define ITKSTREAM_VAL_EVENT_TYPE_TIME_OUT \
|
||
0x00100000 /**< \brief Call the callback function at the time out of stream. */
|
||
#define ITKSTREAM_VAL_EVENT_TYPE_FRAME_LOST \
|
||
0x00200000 /**< \brief Call the callback function at the frame lost. \
|
||
*/
|
||
#define ITKSTREAM_VAL_EVENT_TYPE_TRANSFER_ERROR \
|
||
0x00400000u /**< \brief Image data error callback event \
|
||
*/
|
||
#define ITKSTREAM_VAL_EVENT_TYPE_END_OF_LINE \
|
||
0x01000000 /**< \brief Call the callback function at the end of line. \
|
||
*/
|
||
|
||
#define ITKSTREAM_VAL_EVENT_TYPE_MASK 0xffff0000
|
||
|
||
/* Stream start mode */
|
||
#define ITKSTREAM_VAL_START_MODE_NON_BLOCK \
|
||
0x00000000 /**< \brief Stream start in asynchronous mode. \
|
||
*/
|
||
#define ITKSTREAM_VAL_START_MODE_BLOCK \
|
||
0x00000001 /**< \brief Stream start in synchronous mode. \
|
||
*/
|
||
|
||
/* Stream transfer mode */
|
||
#define ITKSTREAM_VAL_TRANSFER_MODE_ASYNCHRONOUS \
|
||
0x00000000 /**< \brief Stream transfer in asynchronous mode. \
|
||
*/
|
||
#define ITKSTREAM_VAL_TRANSFER_MODE_SYNCHRONOUS \
|
||
0x00000001 /**< \brief Stream transfer in synchronous mode. \
|
||
*/
|
||
#define ITKSTREAM_VAL_TRANSFER_MODE_SYNCHRONOUS_WITH_PROTECT \
|
||
0x00000002 /**< \brief Stream transfer in synchronous with protect mode. */
|
||
|
||
/* Stream auto clear */
|
||
#define ITKSTREAM_VAL_AUTO_CLEAR_DISABLE \
|
||
0x00000000 /**< \brief Disable stream auto clear. \
|
||
*/
|
||
#define ITKSTREAM_VAL_AUTO_CLEAR_ENABLE \
|
||
0x00000001 /**< \brief Enable stream auto clear. \
|
||
*/
|
||
|
||
// To start continuous stream
|
||
#define ITKSTREAM_CONTINUOUS \
|
||
((uint32_t)-1) /**< \brief Stream work in continuous mode. \
|
||
*/
|
||
|
||
/****************************************************************************
|
||
* View Parameters
|
||
****************************************************************************/
|
||
#define ITKVIEW_PRM_FIRST 0
|
||
#define ITKVIEW_PRM(n, size) ((((n) + ITKVIEW_PRM_FIRST) << 16) | (size))
|
||
|
||
#define ITKVIEW_PRM_FILP_X \
|
||
ITKVIEW_PRM(0, 4) /**< \brief Enable/disable X axis vertical flipping of the source image while the view is displayed. \
|
||
*/
|
||
#define ITKVIEW_PRM_FILP_Y \
|
||
ITKVIEW_PRM(1, 4) /**< \brief Enable/disable Y axis horizontal flipping of the source image while the view is \
|
||
displayed. */
|
||
#define ITKVIEW_PRM_LSB ITKVIEW_PRM(2, 4) /**< \brief Source image least significant bit. */
|
||
#define ITKVIEW_PRM_MSB \
|
||
ITKVIEW_PRM(3, 4) /**< \brief Source image most significant bit. \
|
||
*/
|
||
#define ITKVIEW_PRM_BUFFER_ROI_HEIGHT \
|
||
ITKVIEW_PRM(4, 4) /**< \brief Height of the ROI of the buffer associated with the view. */
|
||
#define ITKVIEW_PRM_BUFFER_ROI_WIDTH \
|
||
ITKVIEW_PRM(5, 4) /**< \brief Width of the ROI of the buffer associated with the view. */
|
||
#define ITKVIEW_PRM_BUFFER_ROI_LEFT \
|
||
ITKVIEW_PRM(6, 4) /**< \brief Left of the ROI of the buffer associated with the view. */
|
||
#define ITKVIEW_PRM_BUFFER_ROI_TOP \
|
||
ITKVIEW_PRM(7, 4) /**< \brief Top of the ROI of the buffer associated with the view. */
|
||
#define ITKVIEW_PRM_ZOOM_METHOD \
|
||
ITKVIEW_PRM(8, 4) /**< \brief Sets/Gets the zooming method. \
|
||
*/
|
||
#define ITKVIEW_PRM_ZOOM_MAX_RATIO ITKVIEW_PRM(9, 8) /**< \brief Sets/Gets the zooming maximum ratio. */
|
||
#define ITKVIEW_PRM_ZOOM_MIN_RATIO ITKVIEW_PRM(10, 8) /**< \brief Sets/Gets the zooming minimum ratio. */
|
||
#define ITKVIEW_PRM_HWND \
|
||
ITKVIEW_PRM(11, sizeof(void *)) /**< \brief Window handle to be used as the destination view display surface. \
|
||
*/
|
||
#define ITKVIEW_PRM_HWND_TITLE \
|
||
ITKVIEW_PRM(12, 128) /**< \brief Window title to be used as the destination view display surface. \
|
||
*/
|
||
#define ITKVIEW_PRM_BAYER_MODE \
|
||
ITKVIEW_PRM(13, 4) /**< \brief Show bayer image in windows. \
|
||
*/
|
||
#define ITKVIEW_PRM_BUFFER_CURRENT_INDEX \
|
||
ITKVIEW_PRM(14, 4) /**< \brief Show Buffer Current Index \
|
||
*/
|
||
|
||
/* View flip x */
|
||
#define ITKVIEW_VAL_FLIP_X_DISABLE 0x00000000
|
||
#define ITKVIEW_VAL_FLIP_X_ENABLE 0x00000001
|
||
|
||
/* View flip y */
|
||
#define ITKVIEW_VAL_FLIP_Y_DISABLE 0x00000000
|
||
#define ITKVIEW_VAL_FLIP_Y_ENABLE 0x00000001
|
||
|
||
/* View zoom method */
|
||
#define ITKVIEW_VAL_ZOOM_NN \
|
||
0x00000000 /**< \brief Nearest neighbor zoom method. \
|
||
*/
|
||
#define ITKVIEW_VAL_ZOOM_LINEAR \
|
||
0x00000001 /**< \brief Linear zoom method. \
|
||
*/
|
||
#define ITKVIEW_VAL_ZOOM_CUBIC \
|
||
0x00000002 /**< \brief Linear zoom method. \
|
||
*/
|
||
#define ITKVIEW_VAL_ZOOM_AREA \
|
||
0x00000003 /**< \brief Area zoom method. \
|
||
*/
|
||
|
||
/* Bayer Mode */
|
||
#define ITKVIEW_VAL_BAYER_MODE_NIL \
|
||
0x00000000 /**< \brief Bayer Mode NIL. \
|
||
*/
|
||
#define ITKVIEW_VAL_BAYER_MODE_BGGR \
|
||
0x00000001 /**< \brief Bayer Mode BGGR. \
|
||
*/
|
||
#define ITKVIEW_VAL_BAYER_MODE_RGGB \
|
||
0x00000002 /**< \brief Bayer Mode RGGB. \
|
||
*/
|
||
#define ITKVIEW_VAL_BAYER_MODE_GBRG \
|
||
0x00000003 /**< \brief Bayer Mode GBRG. \
|
||
*/
|
||
#define ITKVIEW_VAL_BAYER_MODE_GRBG \
|
||
0x00000004 /**< \brief Bayer Mode GRBG. \
|
||
*/
|
||
|
||
/****************************************************************************
|
||
* File Parameters
|
||
****************************************************************************/
|
||
|
||
/* File access mode and open method flags (3rd argument of ItkFileOpen) */
|
||
#define ITKFILE_VAL_FA_READ 0x01
|
||
#define ITKFILE_VAL_FA_WRITE 0x02
|
||
#define ITKFILE_VAL_FA_OPEN_EXISTING 0x00
|
||
#define ITKFILE_VAL_FA_CREATE_NEW 0x04
|
||
#define ITKFILE_VAL_FA_CREATE_ALWAYS 0x08
|
||
#define ITKFILE_VAL_FA_OPEN_ALWAYS 0x10
|
||
#define ITKFILE_VAL_FA_OPEN_APPEND 0x30
|
||
|
||
/* File attribute bits for directory entry (FILINFO.fattrib) */
|
||
#define ITKFILE_VAL_AM_RDO 0x01 /* Read only */
|
||
#define ITKFILE_VAL_AM_HID 0x02 /* Hidden */
|
||
#define ITKFILE_VAL_AM_SYS 0x04 /* System */
|
||
#define ITKFILE_VAL_AM_DIR 0x10 /* Directory */
|
||
#define ITKFILE_VAL_AM_ARC 0x20 /* Archive */
|
||
|
||
#endif
|