2.2. Multi-planar format structures

The struct v4l2_plane_pix_format structures define size and layout for each of the planes in a multi-planar format. The struct v4l2_pix_format_mplane structure contains information common to all planes (such as image width and height) and an array of struct v4l2_plane_pix_format structures, describing all planes of that format.

v4l2_plane_pix_format
struct v4l2_plane_pix_format

__u32

sizeimage

Maximum size in bytes required for image data in this plane.

__u32

bytesperline

Distance in bytes between the leftmost pixels in two adjacent lines. See struct v4l2_pix_format.

__u16

reserved[6]

Reserved for future extensions. Should be zeroed by drivers and applications.

v4l2_pix_format_mplane
struct v4l2_pix_format_mplane

__u32

width

Image width in pixels. See struct v4l2_pix_format.

__u32

height

Image height in pixels. See struct v4l2_pix_format.

__u32

pixelformat

The pixel format. Both single- and multi-planar four character codes can be used.

__u32

field

Field order, from enum v4l2_field. See struct v4l2_pix_format.

__u32

colorspace

Colorspace encoding, from enum v4l2_colorspace. See struct v4l2_pix_format.

struct v4l2_plane_pix_format

plane_fmt[VIDEO_MAX_PLANES]

An array of structures describing format of each plane this pixel format consists of. The number of valid entries in this array has to be put in the num_planes field.

__u8

num_planes

Number of planes (i.e. separate memory buffers) for this format and the number of valid entries in the plane_fmt array.

__u8

flags

Flags set by the application or driver, see Format Flags.

union { (anonymous)

__u8

ycbcr_enc

Y’CbCr encoding, from enum v4l2_ycbcr_encoding. This information supplements the colorspace and must be set by the driver for capture streams and by the application for output streams, see Colorspaces.

__u8

hsv_enc

HSV encoding, from enum v4l2_hsv_encoding. This information supplements the colorspace and must be set by the driver for capture streams and by the application for output streams, see Colorspaces.

}

__u8

quantization

Quantization range, from enum v4l2_quantization. This information supplements the colorspace and must be set by the driver for capture streams and by the application for output streams, see Colorspaces.

__u8

xfer_func

Transfer function, from enum v4l2_xfer_func. This information supplements the colorspace and must be set by the driver for capture streams and by the application for output streams, see Colorspaces.

__u8

reserved[7]

Reserved for future extensions. Should be zeroed by drivers and applications.