NVIDIA V4L2 Video Converter Description and Extensions.
Use the video converter for color space conversion, scaling, and conversion between hardware buffer memory (V4L2_MEMORY_MMAP/, software buffer memory (V4L2_MEMORY_DMABUF)V4L2_MEMORY_USERPTR), and other operations such as cropping, flipping/rotating, and temporal noise reduction (TNR). The video converter device node is "/dev/nvhost-vic".
| PIXEL FORMAT | PIXEL FORMAT | 
|---|---|
| V4L2_PIX_FMT_YUV444M | V4L2_PIX_FMT_YVU422M | 
| V4L2_PIX_FMT_YUV420M | V4L2_PIX_FMT_YVU420M | 
| V4L2_PIX_FMT_NV12M | V4L2_PIX_FMT_GREY | 
| V4L2_PIX_FMT_YUYV | V4L2_PIX_FMT_YVYU | 
| V4L2_PIX_FMT_UYVY | V4L2_PIX_FMT_VYUY | 
| V4L2_PIX_FMT_ABGR32 | V4L2_PIX_FMT_XBGR32 | 
| PIXEL FORMAT | PIXEL FORMAT | 
|---|---|
| V4L2_PIX_FMT_YUV420M | V4L2_PIX_FMT_NV12M | 
| V4L2_PIX_FMT_UYVY | V4L2_PIX_FMT_YUYV | 
| MEMORY | OUTPUT PLANE | CAPTURE PLANE | 
|---|---|---|
| V4L2_MEMORY_MMAP | Y | Y | 
| V4L2_MEMORY_DMABUF | Y | Y | 
| V4L2_MEMORY_USERPTR | Y | Y | 
Video converter supports cropping using VIDIOC_S_SELECTION IOCTL with type V4L2_BUF_TYPE_VIDEO_CAPTURE and target V4L2_SEL_TGT_CROP. This must be set before requesting buffers on either plane.
The following sequence must be followed for sending EOS and recieving EOS from the converter.
v4l2_buffer.m.planes[0].bytesused = 0).| Data Structures | |
| struct | v4l2_ctrl_video_displaydata_ | 
| struct | _v4l2_ctrl_video_hdrmasteringdisplaydata | 
| HDR Metadata.  More... | |
| struct | _v4l2_ctrl_video_device_poll | 
| Poll device.  More... | |
| Macros | |
| #define | V4L2_CID_VIDEO_CONVERT_OUTPUT_PLANE_LAYOUT (V4L2_CID_MPEG_BASE+523) | 
| Defines the Control ID to set converter output plane buffer layout.  More... | |
| #define | V4L2_CID_VIDEO_CONVERT_CAPTURE_PLANE_LAYOUT (V4L2_CID_MPEG_BASE+524) | 
| Defines the Control ID to set converter capture plane buffer layout.  More... | |
| #define | V4L2_CID_VIDEO_CONVERT_FLIP_METHOD (V4L2_CID_MPEG_BASE+525) | 
| Defines the Control ID to set the converter flip/rotation method.  More... | |
| #define | V4L2_CID_VIDEO_CONVERT_INTERPOLATION_METHOD (V4L2_CID_MPEG_BASE+526) | 
| Defines the Control ID to set the converter interpolation method.  More... | |
| #define | V4L2_CID_VIDEO_CONVERT_TNR_ALGORITHM (V4L2_CID_MPEG_BASE+527) | 
| Defines the Control ID to set the converter Temporal Noise Reduction (TNR) algorithm.  More... | |
| Typedefs | |
| typedef struct v4l2_ctrl_video_displaydata_ | v4l2_ctrl_video_displaydata | 
| typedef struct _v4l2_ctrl_video_hdrmasteringdisplaydata | v4l2_ctrl_video_hdrmasteringdisplaydata | 
| HDR Metadata.  More... | |
| typedef struct _v4l2_ctrl_video_device_poll | v4l2_ctrl_video_device_poll | 
| Poll device.  More... | |
| #define V4L2_CID_VIDEO_CONVERT_CAPTURE_PLANE_LAYOUT (V4L2_CID_MPEG_BASE+524) | 
Defines the Control ID to set converter capture plane buffer layout.
A value of type v4l2_nv_buffer_layout must be supplied with this control.
Definition at line 654 of file v4l2_nv_extensions.h.
| #define V4L2_CID_VIDEO_CONVERT_FLIP_METHOD (V4L2_CID_MPEG_BASE+525) | 
Defines the Control ID to set the converter flip/rotation method.
A value of type v4l2_flip_method must be supplied with this control.
Definition at line 663 of file v4l2_nv_extensions.h.
| #define V4L2_CID_VIDEO_CONVERT_INTERPOLATION_METHOD (V4L2_CID_MPEG_BASE+526) | 
Defines the Control ID to set the converter interpolation method.
A value of type v4l2_interpolation_method must be supplied with this control.
Definition at line 672 of file v4l2_nv_extensions.h.
| #define V4L2_CID_VIDEO_CONVERT_OUTPUT_PLANE_LAYOUT (V4L2_CID_MPEG_BASE+523) | 
Defines the Control ID to set converter output plane buffer layout.
A value of type v4l2_nv_buffer_layout must be supplied with this control.
Definition at line 645 of file v4l2_nv_extensions.h.
| #define V4L2_CID_VIDEO_CONVERT_TNR_ALGORITHM (V4L2_CID_MPEG_BASE+527) | 
Defines the Control ID to set the converter Temporal Noise Reduction (TNR) algorithm.
A value of type v4l2_tnr_algorithm must be supplied with this control.
Definition at line 683 of file v4l2_nv_extensions.h.
| typedef struct _v4l2_ctrl_video_device_poll v4l2_ctrl_video_device_poll | 
Poll device.
| typedef struct v4l2_ctrl_video_displaydata_ v4l2_ctrl_video_displaydata | 
HDR Metadata.
| enum v4l2_flip_method | 
Specifies the types of rotation/flip algorithms.
Definition at line 2651 of file v4l2_nv_extensions.h.
Specifies the types of interpolation methods.
Definition at line 2665 of file v4l2_nv_extensions.h.
Enum specifying types of buffer layouts.
| Enumerator | |
|---|---|
| V4L2_NV_BUFFER_LAYOUT_PITCH | Pitch Linear Layout. | 
| V4L2_NV_BUFFER_LAYOUT_BLOCKLINEAR | Block Linear Layout. | 
Definition at line 2643 of file v4l2_nv_extensions.h.
| enum v4l2_tnr_algorithm | 
Specifies the types of TNR algorithms.
Definition at line 2677 of file v4l2_nv_extensions.h.
Specifies the types of YUV rescale methods.
Definition at line 2690 of file v4l2_nv_extensions.h.