⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 artpec.h

📁 Axis 221 camera embedded programing interface
💻 H
📖 第 1 页 / 共 2 页
字号:
typedef enum {	WHITE_BALANCE_AUTO           = 0,	WHITE_BALANCE_HOLD           = 1,	WHITE_BALANCE_FIXED_OUTDOOR1 = 2,	WHITE_BALANCE_FIXED_OUTDOOR2 = 3,	WHITE_BALANCE_FIXED_INDOOR   = 4,	WHITE_BALANCE_FIXED_FLUOR1   = 5,	WHITE_BALANCE_FIXED_FLUOR2   = 6} white_balance_type;typedef enum {	EXPOSURE_AUTO                 = 0,	EXPOSURE_AUTO_FLICKER_FREE_50 = 1,	EXPOSURE_AUTO_FLICKER_FREE_60 = 2,	EXPOSURE_HOLD                 = 3} exposure_type;typedef enum {	EXPOSURE_WINDOW_CENTER = 0,	EXPOSURE_WINDOW_LEFT   = 1,	EXPOSURE_WINDOW_RIGHT  = 2,	EXPOSURE_WINDOW_UPPER  = 3,	EXPOSURE_WINDOW_LOWER  = 4,	EXPOSURE_WINDOW_AUTO   = 5,	EXPOSURE_WINDOW_SPOT   = 6} exposure_window_type;typedef enum {	IR_FILTER_YES  = 0,	IR_FILTER_NO   = 1,	IR_FILTER_AUTO = 2} ir_filter_type;struct image_sensor_param {	white_balance_type     white_balance;	exposure_type          exposure;	exposure_window_type   exposure_window;	int                    contrast;	unsigned int           brightness;	unsigned int           color_level;	unsigned int           sharpness;	unsigned char          blc_enabled;	unsigned char          dc_iris_enabled;	unsigned int           gain_max;	int                    noise_color_reduction;	unsigned int           gain_threshold;	signed int             exposure_time_max;	ir_filter_type         ir_filter;	unsigned char          wide_enabled;};#define CAM_IOC_SET_IMAGE_SENSOR_PARAMS  _IOW(ARTPEC_MAGIC, 0x90, struct image_sensor_param*)#define CAM_IOC_SET_WHITE_BALANCE_MODE   _IOW(ARTPEC_MAGIC, 0x92, white_balance_type)#define CAM_IOC_SET_EXPOSURE_MODE        _IOW(ARTPEC_MAGIC, 0x93, exposure_type)#define CAM_IOC_SET_EXPOSURE_WINDOW_MODE _IOW(ARTPEC_MAGIC, 0x94, exposure_window_type)#define CAM_IOC_SET_CONTRAST             _IOW(ARTPEC_MAGIC, 0x95, unsigned int)#define CAM_IOC_SET_BRIGHTNESS           _IOW(ARTPEC_MAGIC, 0x96, unsigned int)#define CAM_IOC_SET_COLOR_LEVEL          _IOW(ARTPEC_MAGIC, 0x97, unsigned int)#define CAM_IOC_SET_SHARPNESS            _IOW(ARTPEC_MAGIC, 0x98, unsigned int)#define CAM_IOC_SET_BLC_ENABLED          _IOW(ARTPEC_MAGIC, 0x99, unsigned char)#define CAM_IOC_SET_DC_IRIS_ENABLED      _IOW(ARTPEC_MAGIC, 0x9A, unsigned char)#define CAM_IOC_SET_GAIN_MAX             _IOW(ARTPEC_MAGIC, 0x9B, unsigned int)#define CAM_IOC_SET_GAIN_THRESHOLD       _IOW(ARTPEC_MAGIC, 0x9C, unsigned int)#define CAM_IOC_SET_EXPOSURE_TIME_MAX    _IOW(ARTPEC_MAGIC, 0x9D, signed long)#define CAM_IOC_SET_IR_FILTER            _IOW(ARTPEC_MAGIC, 0x9E, ir_filter_type)#define CAM_IOC_SET_WHITE_BALANCE_GAIN_LEVELS   _IOW(ARTPEC_MAGIC, 0x9F, int*)#define CAM_IOC_GET_IMAGE_SENSOR_PARAMS  _IOR(ARTPEC_MAGIC, 0xA0, struct image_sensor_param*)#define CAM_IOC_GET_DAY_NIGHT_STATUS      _IO(ARTPEC_MAGIC, 0xA1)#define CAM_IOC_GET_WIDE_ENABLED          _IO(ARTPEC_MAGIC, 0xA2)#define CAM_IOC_GET_WHITE_BALANCE_GAIN_LEVELS   _IOW(ARTPEC_MAGIC, 0xA3, int*)/* Video (only available in Video Driver) */typedef enum {	VIDEO_TYPE_PAL  = 0,	VIDEO_TYPE_NTSC = 1} video_type_type;typedef enum {	COLOR_MODULATION_PAL_BGHI_NTSC_M              = 0,	COLOR_MODULATION_NTSC_4_43_50HZ_PAL_4_43_60HZ = 1,	COLOR_MODULATION_PAL_N_NTSC_4_43_60HZ         = 2,	COLOR_MODULATION_NTSC_N_PAL_M                 = 3,	COLOR_MODULATION_SEACAM_PAL_4_43_60HZ         = 4} color_modulation_type;typedef enum {	DEINTERLACE_MODE_NONE		= 0,	DEINTERLACE_MODE_FIELD_BLEND	= 1} deinterlace_mode_type;struct video_param {	color_modulation_type color_modulation;	video_type_type       video_type;	int                   x_offset;	int                   y_offset;	unsigned char         signal_enabled;	unsigned char         yc_mode_enabled;	deinterlace_mode_type deinterlace_mode;};#define CAM_IOC_SET_VIDEO_PARAMS        _IOW(ARTPEC_MAGIC, 0xb0, struct video_param*)#define CAM_IOC_GET_VIDEO_PARAMS        _IOR(ARTPEC_MAGIC, 0xb1, struct video_param*)#define CAM_IOC_SET_COLOR_MODULATION    _IOW(ARTPEC_MAGIC, 0xb2, color_modulation_type)#define CAM_IOC_DETECT_COLOR_MODULATION  _IO(ARTPEC_MAGIC, 0xb3)#define CAM_IOC_GET_COLOR_MODULATION     _IO(ARTPEC_MAGIC, 0xb4)#define CAM_IOC_SET_VIDEO_TYPE          _IOW(ARTPEC_MAGIC, 0xb5, video_type_type)#define CAM_IOC_DETECT_VIDEO_TYPE        _IO(ARTPEC_MAGIC, 0xb6)#define CAM_IOC_GET_VIDEO_TYPE           _IO(ARTPEC_MAGIC, 0xb7)#define CAM_IOC_DETECT_SIGNAL_ENABLED    _IO(ARTPEC_MAGIC, 0xb8)#define CAM_IOC_GET_SIGNAL_ENABLED       _IO(ARTPEC_MAGIC, 0xb9)#define CAM_IOC_SET_YC_MODE_ENABLED     _IOW(ARTPEC_MAGIC, 0xba, unsigned char)#define CAM_IOC_SET_X_OFFSET            _IOW(ARTPEC_MAGIC, 0xbb, int)#define CAM_IOC_SET_Y_OFFSET            _IOW(ARTPEC_MAGIC, 0xbc, int)#define CAM_IOC_SET_DEINTERLACE_MODE    _IOW(ARTPEC_MAGIC, 0xbd, deinterlace_mode_type)/* MPEG specific */typedef enum {	RC_PRIORITY_NONE      = 0,	RC_PRIORITY_QUALITY   = 1,	RC_PRIORITY_FRAMERATE = 2,} rc_prio_type;typedef enum {	RC_MODE_VBR           = 0,	RC_MODE_CBR           = 1} rc_mode_type;struct mpeg_param {	unsigned char profile_level;	unsigned char video_object_type;	/* How often to insert the configuration headers. */	unsigned int config_interval;	/* GOV structure. */	unsigned int i_per_gov;	unsigned int p_per_i;	unsigned int b_per_ip;	/* Actual compression to use for the MPEG stream. Minimum compression	 * will always be the default compression. This is used to temporarily	 * increase the compression to prevent the bit rate from exceeding	 * what is specified by the profile@level (i.e., poor man's CBR).	 */	unsigned int compression;	/* Use video packet headers for stream resynchronization */	unsigned char resync_marker_enabled;	/* Allow user data to be added to the MPEG headers */	unsigned char user_data_enabled;	/* Add a time stamp as user data in the GOV header */	unsigned char user_data_time_stamp_enabled;	/* The compression may produce streams using fast P-VOPs. */	unsigned char fast_p_vop_enabled;};struct ratectrl_param {	rc_mode_type mode;	rc_prio_type prio;	/* Target bit rate in kilobit/s */	unsigned int target_bit_rate;	/* Frame rate range */	unsigned int max_fps;	unsigned int min_fps;	/* Compression range */	unsigned int max_compression;	unsigned int min_compression;	/* Max bit rate in kilobit/s */	unsigned int max_bit_rate;};/* <id> unique identifier for this user data. * <type> which header to add this user data in: STREAM_INFO_VOS_USER, *        STREAM_INFO_VOL_USER or STREAM_INFO_GOV_USER. * <size> size of the user data, in bytes. */struct mpeg_user_data {	unsigned int id;	unsigned int type;	unsigned int size;	void *user_data;};#define CAM_IOC_SET_MPEG_PARAMS                _IOW(ARTPEC_MAGIC, 0xd0, struct mpeg_param*)#define CAM_IOC_GET_MPEG_PARAMS                _IOR(ARTPEC_MAGIC, 0xd1, struct mpeg_param*)#define CAM_IOC_SET_MPEG_PROFILE_LEVEL         _IOW(ARTPEC_MAGIC, 0xd2, unsigned char)#define CAM_IOC_SET_MPEG_VIDEO_OBJECT_TYPE     _IOW(ARTPEC_MAGIC, 0xd3, unsigned char)#define CAM_IOC_SET_MPEG_CONFIG_INTERVAL       _IOW(ARTPEC_MAGIC, 0xd4, int)#define CAM_IOC_SET_MPEG_I_PER_GOV             _IOW(ARTPEC_MAGIC, 0xd5, unsigned int)#define CAM_IOC_SET_MPEG_P_PER_I               _IOW(ARTPEC_MAGIC, 0xd6, unsigned int)#define CAM_IOC_SET_MPEG_B_PER_IP              _IOW(ARTPEC_MAGIC, 0xd7, unsigned int)#define CAM_IOC_SET_MPEG_USER_DATA             _IOW(ARTPEC_MAGIC, 0xd8, struct mpeg_user_data*)#define CAM_IOC_SET_MPEG_COMPRESSION           _IOW(ARTPEC_MAGIC, 0xd9, unsigned int)#define CAM_IOC_SET_MPEG_RESYNC_MARKER_ENABLED _IOW(ARTPEC_MAGIC, 0xda, unsigned char)#define CAM_IOC_SET_MPEG_USER_DATA_TIME_STAMP_ENABLED _IOW(ARTPEC_MAGIC, 0xdb, unsigned char)#define CAM_IOC_GET_MPEG_MAX_BIT_RATE          _IOR(ARTPEC_MAGIC, 0xdc, unsigned int)#define CAM_IOC_SET_MPEG_USER_DATA_ENABLED     _IOW(ARTPEC_MAGIC, 0xdd, unsigned char)#define CAM_IOC_SET_RC_PARAMS            _IOW(ARTPEC_MAGIC, 0xe0, struct ratectrl_param*)#define CAM_IOC_GET_RC_PARAMS            _IOW(ARTPEC_MAGIC, 0xe1, struct ratectrl_param*)#define CAM_IOC_SET_RC_MODE              _IOW(ARTPEC_MAGIC, 0xe2, rc_mode_type)#define CAM_IOC_SET_RC_TARGET_RATE       _IOW(ARTPEC_MAGIC, 0xe3, unsigned int)#define CAM_IOC_SET_RC_MAX_FPS           _IOW(ARTPEC_MAGIC, 0xe4, unsigned int)#define CAM_IOC_SET_RC_MIN_FPS           _IOW(ARTPEC_MAGIC, 0xe5, unsigned int)#define CAM_IOC_SET_RC_MAX_COMPRESSION   _IOW(ARTPEC_MAGIC, 0xe6, unsigned int)#define CAM_IOC_SET_RC_MIN_COMPRESSION   _IOW(ARTPEC_MAGIC, 0xe7, unsigned int)#define CAM_IOC_SET_RC_PRIORITY          _IOW(ARTPEC_MAGIC, 0xe8, rc_prio_type)#define CAM_IOC_SET_RC_MAX_BIT_RATE      _IOW(ARTPEC_MAGIC, 0xe9, unsigned int)/* MPEG-4 Video Object Types from ISO/IEC 14496-2:2003 table 6-11. */#define MPEG4_VOT_SIMPLE                     1#define MPEG4_VOT_SIMPLE_SCALABLE            2#define MPEG4_VOT_CORE                       3#define MPEG4_VOT_MAIN                       4#define MPEG4_VOT_NBIT                       5#define MPEG4_VOT_BASIC_ANIM_2D_TEXTURE      6#define MPEG4_VOT_ANIM_2D_MESH               7#define MPEG4_VOT_SIMPLE_FACE                8#define MPEG4_VOT_STILL_SCALABLE_TEXTURE     9#define MPEG4_VOT_ADVANCED_REAL_TIME_SIMPLE  10#define MPEG4_VOT_CORE_SCALABLE              11#define MPEG4_VOT_ADVANCED_CODING_EFFICIENCY 12#define MPEG4_VOT_ADVANCED_SCALABLE_TEXTURE  13#define MPEG4_VOT_SIMPLE_FBA                 14#define MPEG4_VOT_SIMPLE_STUDIO              15#define MPEG4_VOT_CORE_STUDIO                16#define MPEG4_VOT_ADVANCED_SIMPLE            17#define MPEG4_VOT_FINE_GRANULARITY_SCALABLE  18#define MPEG4_VOT_COUNT                      18#define MPEG4_VOT_UNKNOWN                    -1/* MPEG-4 Profile@Level combinations from ISO/IEC 14496-2:2003 table G-1. */#define MPEG4_PROFILE_SIMPLE_LEVEL_1                     0x01#define MPEG4_PROFILE_SIMPLE_LEVEL_2                     0x02#define MPEG4_PROFILE_SIMPLE_LEVEL_3                     0x03#define MPEG4_PROFILE_SIMPLE_LEVEL_0                     0x08#define MPEG4_PROFILE_SIMPLE_SCALABLE_LEVEL_0            0x10#define MPEG4_PROFILE_SIMPLE_SCALABLE_LEVEL_1            0x11#define MPEG4_PROFILE_SIMPLE_SCALABLE_LEVEL_2            0x12#define MPEG4_PROFILE_CORE_LEVEL_1                       0x21#define MPEG4_PROFILE_CORE_LEVEL_2                       0x22#define MPEG4_PROFILE_MAIN_LEVEL_2                       0x32#define MPEG4_PROFILE_MAIN_LEVEL_3                       0x33#define MPEG4_PROFILE_MAIN_LEVEL_4                       0x34#define MPEG4_PROFILE_NBIT_LEVEL_2                       0x42#define MPEG4_PROFILE_SCALABLE_TEXTURE_LEVEL_1           0x51#define MPEG4_PROFILE_SIMPLE_FACE_ANIMATION_LEVEL_1      0x61#define MPEG4_PROFILE_SIMPLE_FACE_ANIMATION_LEVEL_2      0x62#define MPEG4_PROFILE_SIMPLE_FBA_LEVEL_1                 0x63#define MPEG4_PROFILE_SIMPLE_FBA_LEVEL_2                 0x64#define MPEG4_PROFILE_BASIC_ANIMATED_TEXTURE_LEVEL_1     0x71#define MPEG4_PROFILE_BASIC_ANIMATED_TEXTURE_LEVEL_2     0x72#define MPEG4_PROFILE_HYBRID_LEVEL_1                     0x81#define MPEG4_PROFILE_HYBRID_LEVEL_2                     0x82#define MPEG4_PROFILE_ADVANCED_REAL_TIME_SIMPLE_LEVEL_1  0x91#define MPEG4_PROFILE_ADVANCED_REAL_TIME_SIMPLE_LEVEL_2  0x92#define MPEG4_PROFILE_ADVANCED_REAL_TIME_SIMPLE_LEVEL_3  0x93#define MPEG4_PROFILE_ADVANCED_REAL_TIME_SIMPLE_LEVEL_4  0x94#define MPEG4_PROFILE_CORE_SCALABLE_LEVEL_1              0xA1#define MPEG4_PROFILE_CORE_SCALABLE_LEVEL_2              0xA2#define MPEG4_PROFILE_CORE_SCALABLE_LEVEL_3              0xA3#define MPEG4_PROFILE_ADVANCED_CODING_EFFICIENCY_LEVEL_1 0xB1#define MPEG4_PROFILE_ADVANCED_CODING_EFFICIENCY_LEVEL_2 0xB2#define MPEG4_PROFILE_ADVANCED_CODING_EFFICIENCY_LEVEL_3 0xB3#define MPEG4_PROFILE_ADVANCED_CODING_EFFICIENCY_LEVEL_4 0xB4#define MPEG4_PROFILE_ADVANCED_CORE_LEVEL_1              0xC1#define MPEG4_PROFILE_ADVANCED_CORE_LEVEL_2              0xC2#define MPEG4_PROFILE_ADVANCED_SCALABLE_TEXTURE_LEVEL_1  0xD1#define MPEG4_PROFILE_ADVANCED_SCALABLE_TEXTURE_LEVEL_2  0xD2#define MPEG4_PROFILE_ADVANCED_SCALABLE_TEXTURE_LEVEL_3  0xD3#define MPEG4_PROFILE_SIMPLE_STUDIO_LEVEL_1              0xE1#define MPEG4_PROFILE_SIMPLE_STUDIO_LEVEL_2              0xE2#define MPEG4_PROFILE_SIMPLE_STUDIO_LEVEL_3              0xE3#define MPEG4_PROFILE_SIMPLE_STUDIO_LEVEL_4              0xE4#define MPEG4_PROFILE_CORE_STUDIO_LEVEL_1                0xE5#define MPEG4_PROFILE_CORE_STUDIO_LEVEL_2                0xE6#define MPEG4_PROFILE_CORE_STUDIO_LEVEL_3                0xE7#define MPEG4_PROFILE_CORE_STUDIO_LEVEL_4                0xE8#define MPEG4_PROFILE_ADVANCED_SIMPLE_LEVEL_0            0xF0#define MPEG4_PROFILE_ADVANCED_SIMPLE_LEVEL_1            0xF1#define MPEG4_PROFILE_ADVANCED_SIMPLE_LEVEL_2            0xF2#define MPEG4_PROFILE_ADVANCED_SIMPLE_LEVEL_3            0xF3#define MPEG4_PROFILE_ADVANCED_SIMPLE_LEVEL_4            0xF4#define MPEG4_PROFILE_ADVANCED_SIMPLE_LEVEL_5            0xF5#define MPEG4_PROFILE_ADVANCED_SIMPLE_LEVEL_3B           0xF7#define MPEG4_PROFILE_FINE_GRANULARITY_SCALABLE_LEVEL_0  0xF8#define MPEG4_PROFILE_FINE_GRANULARITY_SCALABLE_LEVEL_1  0xF9#define MPEG4_PROFILE_FINE_GRANULARITY_SCALABLE_LEVEL_2  0xFA#define MPEG4_PROFILE_FINE_GRANULARITY_SCALABLE_LEVEL_3  0xFB#define MPEG4_PROFILE_FINE_GRANULARITY_SCALABLE_LEVEL_4  0xFC#define MPEG4_PROFILE_FINE_GRANULARITY_SCALABLE_LEVEL_5  0xFD/* MPEG header types used in async_request.headers and mpeg_user_data.type */#define MPEG_HEADER_END 0x0001#define MPEG_HEADER_SEQ 0x0002#define MPEG_HEADER_GOP 0x0004#define MPEG_HEADER_PIC 0x0008#define MPEG_HEADER_VOS 0x0010#define MPEG_HEADER_VO  0x0020#define MPEG_HEADER_VOL 0x0040#define MPEG_HEADER_GOV 0x0080#define MPEG_HEADER_VOP 0x0100/* artpec debug */#define CAM_IOC_DEBUG_CMD _IOW(ARTPEC_MAGIC, 0xff, int)/* * call artpec debug commands, this command * should not be available in products to * keep driver size smaller */#endif/******************** END OF FILE artpec.h ***********************************/

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -