From 29993ba41c50e8096ffd25fe704990479248d061 Mon Sep 17 00:00:00 2001 From: Hans Verkuil Date: Sat, 19 May 2007 19:50:35 +0200 Subject: Use v4l2_pix_out_fmt instead of v4l2_pix_fmt for video output format From: Hans Verkuil Adding top/left fields to v4l2_pix_fmt broke the ABI. To fix this a new v4l2_pix_out_fmt struct was introduced to specify the video output format. This new struct *does* have the additional top/left fields. The V4L2_CAP_VIDEO_OUTPUT_POS capability that was introduced is no longer needed and is removed. Signed-off-by: Hans Verkuil --- linux/include/linux/videodev2.h | 21 +++++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) (limited to 'linux/include') diff --git a/linux/include/linux/videodev2.h b/linux/include/linux/videodev2.h index 8e46a2029..3d92c6b69 100644 --- a/linux/include/linux/videodev2.h +++ b/linux/include/linux/videodev2.h @@ -243,8 +243,7 @@ struct v4l2_capability #define V4L2_CAP_SLICED_VBI_CAPTURE 0x00000040 /* Is a sliced VBI capture device */ #define V4L2_CAP_SLICED_VBI_OUTPUT 0x00000080 /* Is a sliced VBI output device */ #define V4L2_CAP_RDS_CAPTURE 0x00000100 /* RDS data capture */ -#define V4L2_CAP_VIDEO_OUTPUT_POS 0x00000200 /* Video output can have x,y coords */ -#define V4L2_CAP_VIDEO_OUTPUT_OVERLAY 0x00000400 /* Can do video output overlay */ +#define V4L2_CAP_VIDEO_OUTPUT_OVERLAY 0x00000200 /* Can do video output overlay */ #define V4L2_CAP_TUNER 0x00010000 /* has a tuner */ #define V4L2_CAP_AUDIO 0x00020000 /* has audio support */ @@ -1274,6 +1273,23 @@ struct v4l2_encoder_cmd { * Data services API by Michael Schimek */ +/* Video output format */ +/* The first part of this structure is identical to the v4l2_pix_format + structure, the fields after 'priv' are specific to the video output format. */ +struct v4l2_pix_out_format +{ + __u32 width; + __u32 height; + __u32 pixelformat; + enum v4l2_field field; + __u32 bytesperline; /* for padding, zero if unused */ + __u32 sizeimage; + enum v4l2_colorspace colorspace; + __u32 priv; /* private data, depends on pixelformat */ + __u32 top; + __u32 left; +}; + /* Raw VBI */ struct v4l2_vbi_format { @@ -1356,6 +1372,7 @@ struct v4l2_format union { struct v4l2_pix_format pix; // V4L2_BUF_TYPE_VIDEO_CAPTURE + struct v4l2_pix_out_format pix_out; // V4L2_BUF_TYPE_VIDEO_OUTPUT struct v4l2_window win; // V4L2_BUF_TYPE_VIDEO_OVERLAY struct v4l2_vbi_format vbi; // V4L2_BUF_TYPE_VBI_CAPTURE struct v4l2_sliced_vbi_format sliced; // V4L2_BUF_TYPE_SLICED_VBI_CAPTURE -- cgit v1.2.3