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.