NVIDIA V4L2 Camera Description and Extensions.
The camera device node is "/dev/video%d"
.
CAPTURE PLANE :------------------— V4L2_PIX_FMT_NV12M
MEMORY | CAPTURE PLANE |
---|---|
V4L2_MEMORY_MMAP | Y |
V4L2_MEMORY_DMABUF | Y |
V4L2_MEMORY_USERPTR | N |
The following sections describe the supported controls.
Control ID | Purpose | Runtime Configurable |
---|---|---|
- V4L2_CID_3A_LOCK | AWB/AE Lock | Y |
All non-runtime configurable options must be set after setting format on the capture planes and before requesting buffers.
The camera framerate can be set with VIDIOC_S_PARM
IOCTL by setting the numerator and denominator in v4l2_streamparm.parm.output.timeperframe
. Selection of camera mode can override this setting. If the camera mode is to be selected along with the specified framerate, then camera mode must be selected before setting the framerate.
The camera can be queried to report frame related metadata. See V4L2_CID_ARGUS_METADATA
for more information.
Camera outputs all the queued empty buffers with data and TIME_OUT if no more empty buffers are queued. If error is encountered, am empty buffer is queued to the output with V4L2_BUF_FLAG_LAST flag.
Data Structures | |
struct | _v4l2_argus_denoise_strength |
Holds the strength value for denoise operation. More... | |
struct | _v4l2_argus_edge_enhance_strength |
Holds the strength value for edge enhancement operation. More... | |
struct | _v4l2_argus_exposure_compensation |
Holds the value for exposure compensation. More... | |
struct | _v4l2_argus_ispdigital_gainrange |
Holds the value for Isp Digital gain range. More... | |
struct | _v4l2_argus_color_saturation |
Holds the value for absolute color saturation. More... | |
struct | _v4l2_argus_gainrange |
Holds the value for gain range. More... | |
struct | _v4l2_argus_exposure_timerange |
Holds the value for exposure range. More... | |
struct | _v4l2_argus_ctrl_metadata |
Holds the value for camera output metadata. More... | |
Macros | |
#define | V4L2_CID_ARGUS_AUTO_WHITE_BALANCE_MODE (V4L2_CID_CAMERA_CLASS_BASE+20) |
Defines the Control ID to set auto white balance mode for camera. More... | |
#define | V4L2_CID_ARGUS_SENSOR_MODE (V4L2_CID_CAMERA_CLASS_BASE+32) |
Defines the Control ID to set sensor mode for camera. More... | |
#define | V4L2_CID_ARGUS_DENOISE_STRENGTH (V4L2_CID_CAMERA_CLASS_BASE+33) |
Defines the Control ID to set denoise strength for camera. More... | |
#define | V4L2_CID_ARGUS_DENOISE_MODE (V4L2_CID_CAMERA_CLASS_BASE+34) |
Defines the Control ID to set denoise mode for camera. More... | |
#define | V4L2_CID_ARGUS_EE_STRENGTH (V4L2_CID_CAMERA_CLASS_BASE+35) |
Defines the Control ID to set edge enhancement strength for camera. More... | |
#define | V4L2_CID_ARGUS_EE_MODE (V4L2_CID_CAMERA_CLASS_BASE+36) |
Defines the Control ID to set edge enhancement mode for camera. More... | |
#define | V4L2_CID_ARGUS_AE_ANTIBANDING_MODE (V4L2_CID_CAMERA_CLASS_BASE+37) |
Defines the Control ID to set Auto Exposure antibanding mode for camera. More... | |
#define | V4L2_CID_ARGUS_EXPOSURE_COMPENSATION (V4L2_CID_CAMERA_CLASS_BASE+38) |
Defines the Control ID to set edge enhancement settings for camera. More... | |
#define | V4L2_CID_ARGUS_ISP_DIGITAL_GAIN_RANGE (V4L2_CID_CAMERA_CLASS_BASE+39) |
Defines the Control ID to set edge enhancement settings for camera. More... | |
#define | V4L2_CID_ARGUS_COLOR_SATURATION (V4L2_CID_CAMERA_CLASS_BASE+40) |
Defines the Control ID to set sensor mode for camera. More... | |
#define | V4L2_CID_ARGUS_GAIN_RANGE (V4L2_CID_CAMERA_CLASS_BASE+41) |
Defines the Control ID to set edge enhancement settings for camera. More... | |
#define | V4L2_CID_ARGUS_EXPOSURE_TIME_RANGE (V4L2_CID_CAMERA_CLASS_BASE+42) |
Defines the Control ID to set edge enhancement settings for camera. More... | |
#define | V4L2_CID_ARGUS_METADATA (V4L2_CID_CAMERA_CLASS_BASE+43) |
Defines the Control ID to get the camera argus output metadata. More... | |
#define V4L2_CID_ARGUS_AE_ANTIBANDING_MODE (V4L2_CID_CAMERA_CLASS_BASE+37) |
Defines the Control ID to set Auto Exposure antibanding mode for camera.
A value of type v4l2_argus_ac_ae_antibanding_mode
must be supplied with this control.
Definition at line 1692 of file v4l2_nv_extensions.h.
#define V4L2_CID_ARGUS_AUTO_WHITE_BALANCE_MODE (V4L2_CID_CAMERA_CLASS_BASE+20) |
Defines the Control ID to set auto white balance mode for camera.
A value of type v4l2_argus_ac_awb_mode
must be supplied with this control.
Definition at line 1627 of file v4l2_nv_extensions.h.
#define V4L2_CID_ARGUS_COLOR_SATURATION (V4L2_CID_CAMERA_CLASS_BASE+40) |
Defines the Control ID to set sensor mode for camera.
A pointer to a valid structure v4l2_argus_color_saturation
must be supplied with this control. The flag EnableSaturation
must be set to true to enable setting the specified color saturation
Definition at line 1727 of file v4l2_nv_extensions.h.
#define V4L2_CID_ARGUS_DENOISE_MODE (V4L2_CID_CAMERA_CLASS_BASE+34) |
Defines the Control ID to set denoise mode for camera.
A value of type v4l2_argus_denoise_mode
must be supplied with this control.
Definition at line 1659 of file v4l2_nv_extensions.h.
#define V4L2_CID_ARGUS_DENOISE_STRENGTH (V4L2_CID_CAMERA_CLASS_BASE+33) |
Defines the Control ID to set denoise strength for camera.
A pointer to a valid structure v4l2_argus_denoise_strength
must be supplied with this control.
Definition at line 1648 of file v4l2_nv_extensions.h.
#define V4L2_CID_ARGUS_EE_MODE (V4L2_CID_CAMERA_CLASS_BASE+36) |
Defines the Control ID to set edge enhancement mode for camera.
A value of type v4l2_argus_edge_enhance_mode
must be supplied with this control.
Definition at line 1681 of file v4l2_nv_extensions.h.
#define V4L2_CID_ARGUS_EE_STRENGTH (V4L2_CID_CAMERA_CLASS_BASE+35) |
Defines the Control ID to set edge enhancement strength for camera.
A pointer to a valid structure v4l2_argus_edge_enhance_strength
must be supplied with this control.
Definition at line 1670 of file v4l2_nv_extensions.h.
#define V4L2_CID_ARGUS_EXPOSURE_COMPENSATION (V4L2_CID_CAMERA_CLASS_BASE+38) |
Defines the Control ID to set edge enhancement settings for camera.
A pointer to a valid structure v4l2_argus_exposure_compensation
must be supplied with this control.
Definition at line 1703 of file v4l2_nv_extensions.h.
#define V4L2_CID_ARGUS_EXPOSURE_TIME_RANGE (V4L2_CID_CAMERA_CLASS_BASE+42) |
Defines the Control ID to set edge enhancement settings for camera.
A pointer to a valid structure v4l2_argus_exposure_timerange
must be supplied with this control.
Definition at line 1749 of file v4l2_nv_extensions.h.
#define V4L2_CID_ARGUS_GAIN_RANGE (V4L2_CID_CAMERA_CLASS_BASE+41) |
Defines the Control ID to set edge enhancement settings for camera.
A pointer to a valid structure v4l2_argus_gainrange
must be supplied with this control.
Definition at line 1738 of file v4l2_nv_extensions.h.
#define V4L2_CID_ARGUS_ISP_DIGITAL_GAIN_RANGE (V4L2_CID_CAMERA_CLASS_BASE+39) |
Defines the Control ID to set edge enhancement settings for camera.
A pointer to a valid structure v4l2_argus_ispdigital_gainrange
must be supplied with this control.
Definition at line 1714 of file v4l2_nv_extensions.h.
#define V4L2_CID_ARGUS_METADATA (V4L2_CID_CAMERA_CLASS_BASE+43) |
Defines the Control ID to get the camera argus output metadata.
A pointer to a valid structure v4l2_argus_ctrl_metadata
must be supplied with this control.
Definition at line 1761 of file v4l2_nv_extensions.h.
#define V4L2_CID_ARGUS_SENSOR_MODE (V4L2_CID_CAMERA_CLASS_BASE+32) |
Defines the Control ID to set sensor mode for camera.
A non-negative integer value must be supplied with this control.
Definition at line 1637 of file v4l2_nv_extensions.h.
typedef struct _v4l2_argus_color_saturation v4l2_argus_color_saturation |
Holds the value for absolute color saturation.
Must be used with V4L2_CID_ARGUS_COLOR_SATURATION ioctl.
typedef struct _v4l2_argus_ctrl_metadata v4l2_argus_ctrl_metadata |
Holds the value for camera output metadata.
Must be used with V4L2_CID_ARGUS_METADATA ioctl.
typedef struct _v4l2_argus_denoise_strength v4l2_argus_denoise_strength |
Holds the strength value for denoise operation.
Must be used with V4L2_CID_ARGUS_DENOISE_STRENGTH ioctl.
Holds the strength value for edge enhancement operation.
Must be used with V4L2_CID_ARGUS_EE_STRENGTH ioctl.
Holds the value for exposure compensation.
Must be used with V4L2_CID_ARGUS_EXPOSURE_COMPENSATION ioctl.
typedef struct _v4l2_argus_exposure_timerange v4l2_argus_exposure_timerange |
Holds the value for exposure range.
Must be used with V4L2_CID_ARGUS_EXPOSURE_TIME_RANGE ioctl.
typedef struct _v4l2_argus_gainrange v4l2_argus_gainrange |
Holds the value for gain range.
Must be used with V4L2_CID_ARGUS_GAIN_RANGE ioctl.
typedef struct _v4l2_argus_ispdigital_gainrange v4l2_argus_ispdigital_gainrange |
Holds the value for Isp Digital gain range.
Must be used with V4L2_CID_ARGUS_ISP_DIGITAL_GAIN_RANGE ioctl.
Enum specifying types of AE antibanding modes.
Definition at line 2789 of file v4l2_nv_extensions.h.
Enum specifying types of AC AWB modes.
Definition at line 2801 of file v4l2_nv_extensions.h.
enum v4l2_argus_ae_state |
Enum specifying types of AE states.
Definition at line 2818 of file v4l2_nv_extensions.h.
enum v4l2_argus_awb_state |
Enum specifying types of AWB states.
Enumerator | |
---|---|
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_ARGUS_AWB_STATE_FORCE32 |
Definition at line 2831 of file v4l2_nv_extensions.h.
Enum specifying types of denoise modes.
Enumerator | |
---|---|
V4L2_ARGUS_DENOISE_MODE_UNKNOWN | |
V4L2_ARGUS_DENOISE_MODE_OFF | |
V4L2_ARGUS_DENOISE_MODE_FAST | |
V4L2_ARGUS_DENOISE_MODE_HIGH_QUALITY | |
V4L2_ARGUS_DENOISE_MODE_FORCE32 |
Definition at line 2767 of file v4l2_nv_extensions.h.
Enum specifying types of edge enhancement modes.
Enumerator | |
---|---|
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_ARGUS_EDGE_ENHANCE_MODE_FORCE32 |
Definition at line 2778 of file v4l2_nv_extensions.h.