NVIDIA V4L2 摄像头描述和扩展。
摄像头设备节点是 "/dev/video%d"
。
采集平面 :------------------— V4L2_PIX_FMT_NV12M
内存 | 采集平面 |
---|---|
V4L2_MEMORY_MMAP | 是 |
V4L2_MEMORY_DMABUF | 是 |
V4L2_MEMORY_USERPTR | 否 |
以下章节描述了支持的控件。
控件 ID | 用途 | 运行时可配置 |
---|---|---|
- V4L2_CID_3A_LOCK | AWB/AE 锁定 | 是 |
所有非运行时可配置的选项都必须在设置采集平面格式之后和请求缓冲区之前设置。
可以使用 VIDIOC_S_PARM
IOCTL,通过设置 v4l2_streamparm.parm.output.timeperframe
中的分子和分母来设置摄像头帧率。选择摄像头模式可以覆盖此设置。如果要同时选择摄像头模式和指定的帧率,则必须在设置帧率之前选择摄像头模式。
可以查询摄像头以报告与帧相关的元数据。有关更多信息,请参阅 V4L2_CID_ARGUS_METADATA
。
如果没有更多空闲缓冲区排队,摄像头会输出所有排队的带有数据和 TIME_OUT 的空闲缓冲区。如果遇到错误,则会将一个带有 V4L2_BUF_FLAG_LAST 标志的空闲缓冲区排队到输出。
数据结构 | |
struct | _v4l2_argus_denoise_strength |
保存去噪操作的强度值。 更多... | |
struct | _v4l2_argus_edge_enhance_strength |
保存边缘增强操作的强度值。 更多... | |
struct | _v4l2_argus_exposure_compensation |
保存曝光补偿的值。 更多... | |
struct | _v4l2_argus_ispdigital_gainrange |
保存 ISP 数字增益范围的值。 更多... | |
struct | _v4l2_argus_color_saturation |
保存绝对色彩饱和度的值。 更多... | |
struct | _v4l2_argus_gainrange |
保存增益范围的值。 更多... | |
struct | _v4l2_argus_exposure_timerange |
保存曝光范围的值。 更多... | |
struct | _v4l2_argus_ctrl_metadata |
保存摄像头输出元数据的值。 更多... | |
类型定义 | |
typedef struct _v4l2_argus_denoise_strength | v4l2_argus_denoise_strength |
保存去噪操作的强度值。 更多... | |
typedef struct _v4l2_argus_edge_enhance_strength | v4l2_argus_edge_enhance_strength |
保存边缘增强操作的强度值。 更多... | |
typedef struct _v4l2_argus_exposure_compensation | v4l2_argus_exposure_compensation |
保存曝光补偿的值。 更多... | |
typedef struct _v4l2_argus_ispdigital_gainrange | v4l2_argus_ispdigital_gainrange |
保存 ISP 数字增益范围的值。 更多... | |
typedef struct _v4l2_argus_color_saturation | v4l2_argus_color_saturation |
保存绝对色彩饱和度的值。 更多... | |
typedef struct _v4l2_argus_gainrange | v4l2_argus_gainrange |
保存增益范围的值。 更多... | |
typedef struct _v4l2_argus_exposure_timerange | v4l2_argus_exposure_timerange |
保存曝光范围的值。 更多... | |
typedef struct _v4l2_argus_ctrl_metadata | v4l2_argus_ctrl_metadata |
保存摄像头输出元数据的值。 更多... | |
#define V4L2_CID_ARGUS_AE_ANTIBANDING_MODE (V4L2_CID_CAMERA_CLASS_BASE+37) |
定义用于设置摄像头自动曝光防闪烁模式的控件 ID。
类型为 v4l2_argus_ac_ae_antibanding_mode
的值必须与此控件一起提供。
定义位于文件 v4l2_nv_extensions.h 的第 1514 行。
#define V4L2_CID_ARGUS_AUTO_WHITE_BALANCE_MODE (V4L2_CID_CAMERA_CLASS_BASE+20) |
定义用于设置摄像头自动白平衡模式的控件 ID。
类型为 v4l2_argus_ac_awb_mode
的值必须与此控件一起提供。
定义位于文件 v4l2_nv_extensions.h 的第 1449 行。
#define V4L2_CID_ARGUS_COLOR_SATURATION (V4L2_CID_CAMERA_CLASS_BASE+40) |
定义用于设置摄像头传感器模式的控件 ID。
类型为 v4l2_argus_color_saturation
的有效结构的指针必须与此控件一起提供。必须将标志 EnableSaturation
设置为 true 才能启用设置指定的色彩饱和度
定义位于文件 v4l2_nv_extensions.h 的第 1549 行。
#define V4L2_CID_ARGUS_DENOISE_MODE (V4L2_CID_CAMERA_CLASS_BASE+34) |
定义用于设置摄像头去噪模式的控件 ID。
类型为 v4l2_argus_denoise_mode
的值必须与此控件一起提供。
定义位于文件 v4l2_nv_extensions.h 的第 1481 行。
#define V4L2_CID_ARGUS_DENOISE_STRENGTH (V4L2_CID_CAMERA_CLASS_BASE+33) |
定义用于设置摄像头去噪强度的控件 ID。
类型为 v4l2_argus_denoise_strength
的有效结构的指针必须与此控件一起提供。
定义位于文件 v4l2_nv_extensions.h 的第 1470 行。
#define V4L2_CID_ARGUS_EE_MODE (V4L2_CID_CAMERA_CLASS_BASE+36) |
定义用于设置摄像头边缘增强模式的控件 ID。
类型为 v4l2_argus_edge_enhance_mode
的值必须与此控件一起提供。
定义位于文件 v4l2_nv_extensions.h 的第 1503 行。
#define V4L2_CID_ARGUS_EE_STRENGTH (V4L2_CID_CAMERA_CLASS_BASE+35) |
定义用于设置摄像头边缘增强强度的控件 ID。
类型为 v4l2_argus_edge_enhance_strength
的有效结构的指针必须与此控件一起提供。
定义位于文件 v4l2_nv_extensions.h 的第 1492 行。
#define V4L2_CID_ARGUS_EXPOSURE_COMPENSATION (V4L2_CID_CAMERA_CLASS_BASE+38) |
定义用于设置摄像头边缘增强设置的控件 ID。
类型为 v4l2_argus_exposure_compensation
的有效结构的指针必须与此控件一起提供。
定义位于文件 v4l2_nv_extensions.h 的第 1525 行。
#define V4L2_CID_ARGUS_EXPOSURE_TIME_RANGE (V4L2_CID_CAMERA_CLASS_BASE+42) |
定义用于设置摄像头边缘增强设置的控件 ID。
类型为 v4l2_argus_exposure_timerange
的有效结构的指针必须与此控件一起提供。
定义位于文件 v4l2_nv_extensions.h 的第 1571 行。
#define V4L2_CID_ARGUS_GAIN_RANGE (V4L2_CID_CAMERA_CLASS_BASE+41) |
定义用于设置摄像头边缘增强设置的控件 ID。
类型为 v4l2_argus_gainrange
的有效结构的指针必须与此控件一起提供。
定义位于文件 v4l2_nv_extensions.h 的第 1560 行。
#define V4L2_CID_ARGUS_ISP_DIGITAL_GAIN_RANGE (V4L2_CID_CAMERA_CLASS_BASE+39) |
定义用于设置摄像头边缘增强设置的控件 ID。
类型为 v4l2_argus_ispdigital_gainrange
的有效结构的指针必须与此控件一起提供。
定义位于文件 v4l2_nv_extensions.h 的第 1536 行。
#define V4L2_CID_ARGUS_METADATA (V4L2_CID_CAMERA_CLASS_BASE+43) |
定义用于获取摄像头 argus 输出元数据的控件 ID。
类型为 v4l2_argus_ctrl_metadata
的有效结构的指针必须与此控件一起提供。
定义位于文件 v4l2_nv_extensions.h 的第 1583 行。
#define V4L2_CID_ARGUS_SENSOR_MODE (V4L2_CID_CAMERA_CLASS_BASE+32) |
定义用于设置摄像头传感器模式的控件 ID。
非负整数值必须与此控件一起提供。
定义位于文件 v4l2_nv_extensions.h 的第 1459 行。
typedef struct _v4l2_argus_color_saturation v4l2_argus_color_saturation |
保存绝对色彩饱和度的值。
必须与 V4L2_CID_ARGUS_COLOR_SATURATION ioctl 一起使用。
typedef struct _v4l2_argus_ctrl_metadata v4l2_argus_ctrl_metadata |
保存摄像头输出元数据的值。
必须与 V4L2_CID_ARGUS_METADATA ioctl 一起使用。
typedef struct _v4l2_argus_denoise_strength v4l2_argus_denoise_strength |
保存去噪操作的强度值。
必须与 V4L2_CID_ARGUS_DENOISE_STRENGTH ioctl 一起使用。
保存边缘增强操作的强度值。
必须与 V4L2_CID_ARGUS_EE_STRENGTH ioctl 一起使用。
保存曝光补偿的值。
必须与 V4L2_CID_ARGUS_EXPOSURE_COMPENSATION ioctl 一起使用。
typedef struct _v4l2_argus_exposure_timerange v4l2_argus_exposure_timerange |
保存曝光范围的值。
必须与 V4L2_CID_ARGUS_EXPOSURE_TIME_RANGE ioctl 一起使用。
typedef struct _v4l2_argus_gainrange v4l2_argus_gainrange |
保存增益范围的值。
必须与 V4L2_CID_ARGUS_GAIN_RANGE ioctl 一起使用。
typedef struct _v4l2_argus_ispdigital_gainrange v4l2_argus_ispdigital_gainrange |
保存 ISP 数字增益范围的值。
必须与 V4L2_CID_ARGUS_ISP_DIGITAL_GAIN_RANGE ioctl 一起使用。
枚举指定 AE 防闪烁模式的类型。
枚举器 | |
---|---|
V4L2_ARGUS_AE_ANTIBANDING_MODE_UNKNOWN | |
V4L2_ARGUS_AE_ANTIBANDING_MODE_OFF | |
V4L2_ARGUS_AE_ANTIBANDING_MODE_AUTO | |
V4L2_ARGUS_AE_ANTIBANDING_MODE_50HZ | |
V4L2_ARGUS_AE_ANTIBANDING_MODE_60HZ |
定义位于文件 v4l2_nv_extensions.h 的第 2306 行。
枚举指定 AC AWB 模式的类型。
定义位于文件 v4l2_nv_extensions.h 的第 2317 行。
enum v4l2_argus_ae_state |
枚举指定 AE 状态的类型。
枚举器 | |
---|---|
V4L2_ARGUS_AeState_Unknown | |
V4L2_ARGUS_AE_STATE_INACTIVE | |
V4L2_ARGUS_AE_STATE_SEARCHING | |
V4L2_ARGUS_AE_STATE_CONVERGED | |
V4L2_ARGUS_AE_STATE_FLASH_REQUIRED | |
V4L2_ARGUS_AE_STATE_TIMEOUT |
定义位于文件 v4l2_nv_extensions.h 的第 2333 行。
enum v4l2_argus_awb_state |
枚举指定 AWB 状态的类型。
枚举器 | |
---|---|
V4L2_ARGUS_AwbState_Unknown | |
V4L2_ARGUS_AWB_STATE_INACTIVE | |
V4L2_ARGUS_AWB_STATE_SEARCHING | |
V4L2_ARGUS_AWB_STATE_CONVERGED | |
V4L2_ARGUS_AWB_STATE_LOCKED |
定义位于文件 v4l2_nv_extensions.h 的第 2345 行。
枚举指定去噪模式的类型。
枚举器 | |
---|---|
V4L2_ARGUS_DENOISE_MODE_UNKNOWN | |
V4L2_ARGUS_DENOISE_MODE_OFF | |
V4L2_ARGUS_DENOISE_MODE_FAST | |
V4L2_ARGUS_DENOISE_MODE_HIGH_QUALITY |
定义位于文件 v4l2_nv_extensions.h 的第 2286 行。
枚举指定边缘增强模式的类型。
枚举器 | |
---|---|
V4L2_ARGUS_EDGE_ENHANCE_MODE_UNKNOWN | |
V4L2_ARGUS_EDGE_ENHANCE_MODE_OFF | |
V4L2_ARGUS_EDGE_ENHANCE_MODE_FAST | |
V4L2_ARGUS_EDGE_ENHANCE_MODE_HIGH_QUALITY |
定义位于文件 v4l2_nv_extensions.h 的第 2296 行。