V4L/DVB (4672): Frame format enumeration (1/2)
Add VIDIOC_ENUM_FRAMESIZES and VIDIOC_ENUM_FRAMEINTERVALS ioctls to enumerate supported frame sizes and frame intervals. Signed-off-by: Martin Rubli <martin.rubli@epfl.ch> Signed-off-by: Laurent Pinchart <laurent.pinchart@skynet.be> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
This commit is contained in:
parent
515c208db8
commit
92b2db08b1
@ -276,6 +276,79 @@ struct v4l2_fmtdesc
|
||||
|
||||
#define V4L2_FMT_FLAG_COMPRESSED 0x0001
|
||||
|
||||
/*
|
||||
* F R A M E S I Z E E N U M E R A T I O N
|
||||
*/
|
||||
enum v4l2_frmsizetypes
|
||||
{
|
||||
V4L2_FRMSIZE_TYPE_DISCRETE = 1,
|
||||
V4L2_FRMSIZE_TYPE_CONTINUOUS = 2,
|
||||
V4L2_FRMSIZE_TYPE_STEPWISE = 3,
|
||||
};
|
||||
|
||||
struct v4l2_frmsize_discrete
|
||||
{
|
||||
__u32 width; /* Frame width [pixel] */
|
||||
__u32 height; /* Frame height [pixel] */
|
||||
};
|
||||
|
||||
struct v4l2_frmsize_stepwise
|
||||
{
|
||||
__u32 min_width; /* Minimum frame width [pixel] */
|
||||
__u32 max_width; /* Maximum frame width [pixel] */
|
||||
__u32 step_width; /* Frame width step size [pixel] */
|
||||
__u32 min_height; /* Minimum frame height [pixel] */
|
||||
__u32 max_height; /* Maximum frame height [pixel] */
|
||||
__u32 step_height; /* Frame height step size [pixel] */
|
||||
};
|
||||
|
||||
struct v4l2_frmsizeenum
|
||||
{
|
||||
__u32 index; /* Frame size number */
|
||||
__u32 pixel_format; /* Pixel format */
|
||||
__u32 type; /* Frame size type the device supports. */
|
||||
|
||||
union { /* Frame size */
|
||||
struct v4l2_frmsize_discrete discrete;
|
||||
struct v4l2_frmsize_stepwise stepwise;
|
||||
};
|
||||
|
||||
__u32 reserved[2]; /* Reserved space for future use */
|
||||
};
|
||||
|
||||
/*
|
||||
* F R A M E R A T E E N U M E R A T I O N
|
||||
*/
|
||||
enum v4l2_frmivaltypes
|
||||
{
|
||||
V4L2_FRMIVAL_TYPE_DISCRETE = 1,
|
||||
V4L2_FRMIVAL_TYPE_CONTINUOUS = 2,
|
||||
V4L2_FRMIVAL_TYPE_STEPWISE = 3,
|
||||
};
|
||||
|
||||
struct v4l2_frmival_stepwise
|
||||
{
|
||||
struct v4l2_fract min; /* Minimum frame interval [s] */
|
||||
struct v4l2_fract max; /* Maximum frame interval [s] */
|
||||
struct v4l2_fract step; /* Frame interval step size [s] */
|
||||
};
|
||||
|
||||
struct v4l2_frmivalenum
|
||||
{
|
||||
__u32 index; /* Frame format index */
|
||||
__u32 pixel_format; /* Pixel format */
|
||||
__u32 width; /* Frame width */
|
||||
__u32 height; /* Frame height */
|
||||
__u32 type; /* Frame interval type the device supports. */
|
||||
|
||||
union { /* Frame interval */
|
||||
struct v4l2_fract discrete;
|
||||
struct v4l2_frmival_stepwise stepwise;
|
||||
};
|
||||
|
||||
__u32 reserved[2]; /* Reserved space for future use */
|
||||
};
|
||||
|
||||
/*
|
||||
* T I M E C O D E
|
||||
*/
|
||||
@ -1249,6 +1322,8 @@ struct v4l2_streamparm
|
||||
#define VIDIOC_G_EXT_CTRLS _IOWR ('V', 71, struct v4l2_ext_controls)
|
||||
#define VIDIOC_S_EXT_CTRLS _IOWR ('V', 72, struct v4l2_ext_controls)
|
||||
#define VIDIOC_TRY_EXT_CTRLS _IOWR ('V', 73, struct v4l2_ext_controls)
|
||||
#define VIDIOC_ENUM_FRAMESIZES _IOWR ('V', 74, struct v4l2_frmsizeenum)
|
||||
#define VIDIOC_ENUM_FRAMEINTERVALS _IOWR ('V', 75, struct v4l2_frmivalenum)
|
||||
|
||||
#ifdef __OLD_VIDIOC_
|
||||
/* for compatibility, will go away some day */
|
||||
|
Loading…
Reference in New Issue
Block a user