Jetson Linux API Reference

36.4.3 Release
V4L2 over IPC

Detailed Description

NVIDIA V4L2 IPC Description and Extensions.

Data Structures

struct  _v4l2_chroma_subsampling_params
 Holds Chroma Subsampling parameters. More...
 
struct  _v4l2_map_plane
 Holds parameters for a hardware buffer. More...
 
struct  v4l2_map_buffer
 

Macros

#define V4L2_IPC_MAP_BUFFER   _IOWR('V', BASE_VIDIOC_PRIVATE + 1, struct v4l2_map_buffer)
 
#define V4L2_IPC_UNMAP_BUFFER   _IOWR('V', BASE_VIDIOC_PRIVATE + 2, struct v4l2_map_buffer)
 

Typedefs

typedef struct _v4l2_chroma_subsampling_params v4l2_chroma_subsampling_params
 Holds Chroma Subsampling parameters. More...
 
typedef struct _v4l2_map_plane v4l2_map_plane
 Holds parameters for a hardware buffer. More...
 

Enumerations

enum  v4l2_color_format {
  V4L2_COLORFORMAT_INVALID,
  V4L2_COLORFORMAT_GRAY8,
  V4L2_COLORFORMAT_YUV420,
  V4L2_COLORFORMAT_YVU420,
  V4L2_COLORFORMAT_YUV420_ER,
  V4L2_COLORFORMAT_YVU420_ER,
  V4L2_COLORFORMAT_NV12,
  V4L2_COLORFORMAT_NV12_ER,
  V4L2_COLORFORMAT_NV21,
  V4L2_COLORFORMAT_NV21_ER,
  V4L2_COLORFORMAT_UYVY,
  V4L2_COLORFORMAT_UYVY_ER,
  V4L2_COLORFORMAT_VYUY,
  V4L2_COLORFORMAT_VYUY_ER,
  V4L2_COLORFORMAT_YUYV,
  V4L2_COLORFORMAT_YUYV_ER,
  V4L2_COLORFORMAT_YVYU,
  V4L2_COLORFORMAT_YVYU_ER,
  V4L2_COLORFORMAT_YUV444,
  V4L2_COLORFORMAT_RGBA,
  V4L2_COLORFORMAT_BGRA,
  V4L2_COLORFORMAT_ARGB,
  V4L2_COLORFORMAT_ABGR,
  V4L2_COLORFORMAT_RGBx,
  V4L2_COLORFORMAT_BGRx,
  V4L2_COLORFORMAT_xRGB,
  V4L2_COLORFORMAT_xBGR,
  V4L2_COLORFORMAT_RGB,
  V4L2_COLORFORMAT_BGR,
  V4L2_COLORFORMAT_NV12_10LE,
  V4L2_COLORFORMAT_NV12_12LE,
  V4L2_COLORFORMAT_YUV420_709,
  V4L2_COLORFORMAT_YUV420_709_ER,
  V4L2_COLORFORMAT_NV12_709,
  V4L2_COLORFORMAT_NV12_709_ER,
  V4L2_COLORFORMAT_YUV420_2020,
  V4L2_COLORFORMAT_NV12_2020,
  V4L2_COLORFORMAT_NV12_10LE_ER,
  V4L2_COLORFORMAT_NV12_10LE_709,
  V4L2_COLORFORMAT_NV12_10LE_709_ER,
  V4L2_COLORFORMAT_NV12_10LE_2020,
  V4L2_COLORFORMAT_SIGNED_R16G16,
  V4L2_COLORFORMAT_R8_G8_B8,
  V4L2_COLORFORMAT_B8_G8_R8,
  V4L2_COLORFORMAT_R32F_G32F_B32F,
  V4L2_COLORFORMAT_B32F_G32F_R32F,
  V4L2_COLORFORMAT_YUV422,
  V4L2_COLORFORMAT_NV21_10LE,
  V4L2_COLORFORMAT_NV21_12LE,
  V4L2_COLORFORMAT_NV12_12LE_2020,
  V4L2_COLORFORMAT_NV16,
  V4L2_COLORFORMAT_NV16_10LE,
  V4L2_COLORFORMAT_NV24,
  V4L2_COLORFORMAT_NV24_10LE,
  V4L2_COLORFORMAT_NV16_ER,
  V4L2_COLORFORMAT_NV24_ER,
  V4L2_COLORFORMAT_NV16_709,
  V4L2_COLORFORMAT_NV24_709,
  V4L2_COLORFORMAT_NV16_709_ER,
  V4L2_COLORFORMAT_NV24_709_ER,
  V4L2_COLORFORMAT_NV24_10LE_709,
  V4L2_COLORFORMAT_NV24_10LE_709_ER,
  V4L2_COLORFORMAT_NV24_10LE_2020,
  V4L2_COLORFORMAT_NV24_12LE_2020,
  V4L2_COLORFORMAT_RGBA_10_10_10_2_709,
  V4L2_COLORFORMAT_RGBA_10_10_10_2_2020,
  V4L2_COLORFORMAT_BGRA_10_10_10_2_709,
  V4L2_COLORFORMAT_BGRA_10_10_10_2_2020,
  V4L2_COLORFORMAT_A32,
  V4L2_COLORFORMAT_UYVP,
  V4L2_COLORFORMAT_UYVP_ER,
  V4L2_COLORFORMAT_LAST
}
 
enum  v4l2_surface_layout {
  V4L2_LAYOUT_PITCH,
  V4L2_LAYOUT_BLOCK_LINEAR
}
 Defines buffer surface layout. More...
 
enum  v4l2_displayscan_format {
  V4L2_DISPLAY_SCAN_FORMAT_PROGRESSIVE = 0,
  V4L2_DISPLAY_SCAN_FORMAT_INTERLACED
}
 Defines Display scan formats. More...
 
enum  v4l2_buffer_mem_type {
  V4L2_MEM_DEFAULT,
  V4L2_MEM_CUDA_PINNED,
  V4L2_MEM_CUDA_DEVICE,
  V4L2_MEM_CUDA_UNIFIED,
  V4L2_MEM_SURFACE_ARRAY,
  V4L2_MEM_HANDLE,
  V4L2_MEM_SYSTEM
}
 Defined memory types for buffer. More...
 

Macro Definition Documentation

◆ V4L2_IPC_MAP_BUFFER

#define V4L2_IPC_MAP_BUFFER   _IOWR('V', BASE_VIDIOC_PRIVATE + 1, struct v4l2_map_buffer)

Definition at line 3322 of file v4l2_nv_extensions.h.

◆ V4L2_IPC_UNMAP_BUFFER

#define V4L2_IPC_UNMAP_BUFFER   _IOWR('V', BASE_VIDIOC_PRIVATE + 2, struct v4l2_map_buffer)

Definition at line 3323 of file v4l2_nv_extensions.h.

Typedef Documentation

◆ v4l2_chroma_subsampling_params

Holds Chroma Subsampling parameters.

◆ v4l2_map_plane

Holds parameters for a hardware buffer.

Enumeration Type Documentation

◆ v4l2_buffer_mem_type

Defined memory types for buffer.

Enumerator
V4L2_MEM_DEFAULT 
V4L2_MEM_CUDA_PINNED 

CUDA Host memory type.

V4L2_MEM_CUDA_DEVICE 

CUDA Device memory type.

V4L2_MEM_CUDA_UNIFIED 

CUDA Unified memory type.

V4L2_MEM_SURFACE_ARRAY 

NVRM Surface Array type.

Valid only for Jetson.

V4L2_MEM_HANDLE 

NVRM Handle type.

Valid only for Jetson.

V4L2_MEM_SYSTEM 

Memory allocated by malloc()

Definition at line 3242 of file v4l2_nv_extensions.h.

◆ v4l2_color_format

Enumerator
V4L2_COLORFORMAT_INVALID 

Specifies an invalid color format.

V4L2_COLORFORMAT_GRAY8 

Specifies 8 bit GRAY scale - single plane.

V4L2_COLORFORMAT_YUV420 

Specifies BT.601 colorspace - YUV420 multi-planar.

V4L2_COLORFORMAT_YVU420 

Specifies BT.601 colorspace - YUV420 multi-planar.

V4L2_COLORFORMAT_YUV420_ER 

Specifies BT.601 colorspace - YUV420 ER multi-planar.

V4L2_COLORFORMAT_YVU420_ER 

Specifies BT.601 colorspace - YVU420 ER multi-planar.

V4L2_COLORFORMAT_NV12 

Specifies BT.601 colorspace - Y/CbCr 4:2:0 multi-planar.

V4L2_COLORFORMAT_NV12_ER 

Specifies BT.601 colorspace - Y/CbCr ER 4:2:0 multi-planar.

V4L2_COLORFORMAT_NV21 

Specifies BT.601 colorspace - Y/CbCr 4:2:0 multi-planar.

V4L2_COLORFORMAT_NV21_ER 

Specifies BT.601 colorspace - Y/CbCr ER 4:2:0 multi-planar.

V4L2_COLORFORMAT_UYVY 

Specifies BT.601 colorspace - YUV 4:2:2 planar.

V4L2_COLORFORMAT_UYVY_ER 

Specifies BT.601 colorspace - YUV ER 4:2:2 planar.

V4L2_COLORFORMAT_VYUY 

Specifies BT.601 colorspace - YUV 4:2:2 planar.

V4L2_COLORFORMAT_VYUY_ER 

Specifies BT.601 colorspace - YUV ER 4:2:2 planar.

V4L2_COLORFORMAT_YUYV 

Specifies BT.601 colorspace - YUV 4:2:2 planar.

V4L2_COLORFORMAT_YUYV_ER 

Specifies BT.601 colorspace - YUV ER 4:2:2 planar.

V4L2_COLORFORMAT_YVYU 

Specifies BT.601 colorspace - YUV 4:2:2 planar.

V4L2_COLORFORMAT_YVYU_ER 

Specifies BT.601 colorspace - YUV ER 4:2:2 planar.

V4L2_COLORFORMAT_YUV444 

Specifies BT.601 colorspace - YUV444 multi-planar.

V4L2_COLORFORMAT_RGBA 

Specifies RGBA-8-8-8-8 single plane.

V4L2_COLORFORMAT_BGRA 

Specifies BGRA-8-8-8-8 single plane.

V4L2_COLORFORMAT_ARGB 

Specifies ARGB-8-8-8-8 single plane.

V4L2_COLORFORMAT_ABGR 

Specifies ABGR-8-8-8-8 single plane.

V4L2_COLORFORMAT_RGBx 

Specifies RGBx-8-8-8-8 single plane.

V4L2_COLORFORMAT_BGRx 

Specifies BGRx-8-8-8-8 single plane.

V4L2_COLORFORMAT_xRGB 

Specifies xRGB-8-8-8-8 single plane.

V4L2_COLORFORMAT_xBGR 

Specifies xBGR-8-8-8-8 single plane.

V4L2_COLORFORMAT_RGB 

Specifies RGB-8-8-8 single plane.

V4L2_COLORFORMAT_BGR 

Specifies BGR-8-8-8 single plane.

V4L2_COLORFORMAT_NV12_10LE 

Specifies BT.601 colorspace - Y/CbCr 4:2:0 10-bit multi-planar.

V4L2_COLORFORMAT_NV12_12LE 

Specifies BT.601 colorspace - Y/CbCr 4:2:0 12-bit multi-planar.

V4L2_COLORFORMAT_YUV420_709 

Specifies BT.709 colorspace - YUV420 multi-planar.

V4L2_COLORFORMAT_YUV420_709_ER 

Specifies BT.709 colorspace - YUV420 ER multi-planar.

V4L2_COLORFORMAT_NV12_709 

Specifies BT.709 colorspace - Y/CbCr 4:2:0 multi-planar.

V4L2_COLORFORMAT_NV12_709_ER 

Specifies BT.709 colorspace - Y/CbCr ER 4:2:0 multi-planar.

V4L2_COLORFORMAT_YUV420_2020 

Specifies BT.2020 colorspace - YUV420 multi-planar.

V4L2_COLORFORMAT_NV12_2020 

Specifies BT.2020 colorspace - Y/CbCr 4:2:0 multi-planar.

V4L2_COLORFORMAT_NV12_10LE_ER 

Specifies BT.601 colorspace - Y/CbCr ER 4:2:0 10-bit multi-planar.

V4L2_COLORFORMAT_NV12_10LE_709 

Specifies BT.709 colorspace - Y/CbCr 4:2:0 10-bit multi-planar.

V4L2_COLORFORMAT_NV12_10LE_709_ER 

Specifies BT.709 colorspace - Y/CbCr ER 4:2:0 10-bit multi-planar.

V4L2_COLORFORMAT_NV12_10LE_2020 

Specifies BT.2020 colorspace - Y/CbCr 4:2:0 10-bit multi-planar.

V4L2_COLORFORMAT_SIGNED_R16G16 

Specifies color format for packed 2 signed shorts

V4L2_COLORFORMAT_R8_G8_B8 

Specifies RGB- unsigned 8 bit multiplanar plane.

V4L2_COLORFORMAT_B8_G8_R8 

Specifies BGR- unsigned 8 bit multiplanar plane.

V4L2_COLORFORMAT_R32F_G32F_B32F 

Specifies RGB-32bit Floating point multiplanar plane.

V4L2_COLORFORMAT_B32F_G32F_R32F 

Specifies BGR-32bit Floating point multiplanar plane.

V4L2_COLORFORMAT_YUV422 

Specifies BT.601 colorspace - YUV422 multi-planar.

V4L2_COLORFORMAT_NV21_10LE 

Specifies BT.601 colorspace - Y/CrCb 4:2:0 10-bit multi-planar.

V4L2_COLORFORMAT_NV21_12LE 

Specifies BT.601 colorspace - Y/CrCb 4:2:0 12-bit multi-planar.

V4L2_COLORFORMAT_NV12_12LE_2020 

Specifies BT.2020 colorspace - Y/CbCr 4:2:0 12-bit multi-planar.

V4L2_COLORFORMAT_NV16 

Specifies BT.601 colorspace - Y/CbCr 4:2:2 multi-planar.

V4L2_COLORFORMAT_NV16_10LE 

Specifies BT.601 colorspace - Y/CbCr 4:2:2 10-bit semi-planar.

V4L2_COLORFORMAT_NV24 

Specifies BT.601 colorspace - Y/CbCr 4:4:4 multi-planar.

V4L2_COLORFORMAT_NV24_10LE 

Specifies BT.601 colorspace - Y/CrCb 4:4:4 10-bit multi-planar.

V4L2_COLORFORMAT_NV16_ER 

Specifies BT.601_ER colorspace - Y/CbCr 4:2:2 multi-planar.

V4L2_COLORFORMAT_NV24_ER 

Specifies BT.601_ER colorspace - Y/CbCr 4:4:4 multi-planar.

V4L2_COLORFORMAT_NV16_709 

Specifies BT.709 colorspace - Y/CbCr 4:2:2 multi-planar.

V4L2_COLORFORMAT_NV24_709 

Specifies BT.709 colorspace - Y/CbCr 4:4:4 multi-planar.

V4L2_COLORFORMAT_NV16_709_ER 

Specifies BT.709_ER colorspace - Y/CbCr 4:2:2 multi-planar.

V4L2_COLORFORMAT_NV24_709_ER 

Specifies BT.709_ER colorspace - Y/CbCr 4:4:4 multi-planar.

V4L2_COLORFORMAT_NV24_10LE_709 

Specifies BT.709 colorspace - Y/CbCr 10 bit 4:4:4 multi-planar.

V4L2_COLORFORMAT_NV24_10LE_709_ER 

Specifies BT.709 ER colorspace - Y/CbCr 10 bit 4:4:4 multi-planar.

V4L2_COLORFORMAT_NV24_10LE_2020 

Specifies BT.2020 colorspace - Y/CbCr 10 bit 4:4:4 multi-planar.

V4L2_COLORFORMAT_NV24_12LE_2020 

Specifies BT.2020 colorspace - Y/CbCr 12 bit 4:4:4 multi-planar.

V4L2_COLORFORMAT_RGBA_10_10_10_2_709 

Specifies Non-linear RGB BT.709 colorspace - RGBA-10-10-10-2 planar.

V4L2_COLORFORMAT_RGBA_10_10_10_2_2020 

Specifies Non-linear RGB BT.2020 colorspace - RGBA-10-10-10-2 planar.

V4L2_COLORFORMAT_BGRA_10_10_10_2_709 

Specifies Non-linear RGB BT.709 colorspace - BGRA-10-10-10-2 planar.

V4L2_COLORFORMAT_BGRA_10_10_10_2_2020 

Specifies Non-linear RGB BT.2020 colorspace - BGRA-10-10-10-2 planar.

V4L2_COLORFORMAT_A32 

Specifies Optical flow SAD calculation Buffer format.

V4L2_COLORFORMAT_UYVP 

Specifies BT.601 colorspace - 10 bit YUV 4:2:2 interleaved.

V4L2_COLORFORMAT_UYVP_ER 

Specifies BT.601 colorspace - 10 bit YUV ER 4:2:2 interleaved.

V4L2_COLORFORMAT_LAST 

Definition at line 3069 of file v4l2_nv_extensions.h.

◆ v4l2_displayscan_format

Defines Display scan formats.

Enumerator
V4L2_DISPLAY_SCAN_FORMAT_PROGRESSIVE 

Progessive scan formats.

V4L2_DISPLAY_SCAN_FORMAT_INTERLACED 

Interlaced scan formats.

Definition at line 3231 of file v4l2_nv_extensions.h.

◆ v4l2_surface_layout

Defines buffer surface layout.

Enumerator
V4L2_LAYOUT_PITCH 

Pitch linear layout.

V4L2_LAYOUT_BLOCK_LINEAR 

Block linear layout.

Definition at line 3220 of file v4l2_nv_extensions.h.