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 677 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 686 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 695 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 668 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 706 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 2380 of file v4l2_nv_extensions.h.
Specifies the types of interpolation methods.
Definition at line 2394 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 2372 of file v4l2_nv_extensions.h.
| enum v4l2_tnr_algorithm |
Specifies the types of TNR algorithms.
Definition at line 2406 of file v4l2_nv_extensions.h.
Specifies the types of YUV rescale methods.
Definition at line 2419 of file v4l2_nv_extensions.h.