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.