Download raw body.
sys/videoio.h: sync V4L2 with Linux-6.13-rc6
On Mon, Jan 13, 2025 at 07:23:24PM GMT, Kirill A. Korinsky wrote:
> On Mon, 13 Jan 2025 19:08:51 +0100,
> Marcus Glocker <marcus@nazgul.ch> wrote:
> >
> > We probably also should update the video(4) man page with the objects
> > which have changed when we want to update the sys/videoio.h file.
> >
> > That's what I've spotted so far.
> >
> > 'ycbcr_enc' is even a typo (duplicate) in the current man page.
> >
>
> We defently need it.
>
> I think that it wise to commit it as the second step after some time if we
> hadn't reverted the first one.
I think it's OK to commit altogether. If we would need to revert
(which I think is either unlikely), we also can revert the man page --
no big deal. Lets wait for the bulk build results :-)
jca, you also build chromium*, yes?
> >
> > Index: share/man/man4/video.4
> > ===================================================================
> > RCS file: /cvs/src/share/man/man4/video.4,v
> > diff -u -p -u -p -r1.20 video.4
> > --- share/man/man4/video.4 31 Mar 2022 17:27:21 -0000 1.20
> > +++ share/man/man4/video.4 13 Jan 2025 17:59:35 -0000
> > @@ -80,7 +80,8 @@ struct v4l2_fmtdesc {
> > u_int32_t flags;
> > u_int8_t description[32];
> > u_int32_t pixelformat;
> > - u_int32_t reserved[4];
> > + u_int32_t mbus_code;
> > + u_int32_t reserved[3];
> > };
> > .Ed
> > .It Dv VIDIOC_S_FMT Fa "struct v4l2_format *"
> > @@ -95,6 +96,7 @@ struct v4l2_format {
> > struct v4l2_vbi_format vbi;
> > struct v4l2_sliced_vbi_format sliced;
> > struct v4l2_sdr_format sdr;
> > + struct v4l2_meta_format meta;
> > u_int8_t raw_data[200];
> > } fmt;
> > };
> > @@ -130,7 +132,9 @@ struct v4l2_requestbuffers {
> > u_int32_t count;
> > u_int32_t type;
> > u_int32_t memory;
> > - u_int32_t reserved[2];
> > + u_int32_t capabilities;
> > + u_Int32_t flags;
> > + u_int32_t reserved[3];
> > };
> > .Ed
> > .It Dv VIDIOC_QUERYBUF Fa "struct v4l2_buffer *"
> > @@ -154,7 +158,10 @@ struct v4l2_buffer {
> > } m;
> > u_int32_t length;
> > u_int32_t reserved2;
> > - u_int32_t reserved;
> > + union {
> > + int32_t request_fd;
> > + u_int32_t reserved;
> > + }
> > };
> > .Ed
> > .It Dv VIDIOC_QBUF Fa "struct v4l2_buffer *"
> > @@ -265,6 +272,9 @@ enum v4l2_buf_type {
> > V4L2_BUF_TYPE_VIDEO_OUTPUT_MPLANE = 10,
> > V4L2_BUF_TYPE_SDR_CAPTURE = 11,
> > V4L2_BUF_TYPE_SDR_OUTPUT = 12,
> > + V4L2_BUF_TYPE_META_CAPTURE = 13,
> > + V4L2_BUF_TYPE_META_OUTPUT = 14,
> > + /* Deprecated, do not use */
> > V4L2_BUF_TYPE_PRIVATE = 0x80,
> > };
> >
> > @@ -289,6 +299,40 @@ enum v4l2_ctrl_type {
> > V4L2_CTRL_TYPE_U8 = 0x0100,
> > V4L2_CTRL_TYPE_U16 = 0x0101,
> > V4L2_CTRL_TYPE_U32 = 0x0102,
> > + V4L2_CTRL_TYPE_AREA = 0x0106,
> > +
> > + /* Compound types are >= 0x0100 */
> > + V4L2_CTRL_TYPE_HDR10_CLL_INFO = 0x0110,
> > + V4L2_CTRL_TYPE_HDR10_MASTERING_DISPLAY = 0x0111,
> > +
> > + V4L2_CTRL_TYPE_H264_SPS = 0x0200,
> > + V4L2_CTRL_TYPE_H264_PPS = 0x0201,
> > + V4L2_CTRL_TYPE_H264_SCALING_MATRIX = 0x0202,
> > + V4L2_CTRL_TYPE_H264_SLICE_PARAMS = 0x0203,
> > + V4L2_CTRL_TYPE_H264_DECODE_PARAMS = 0x0204,
> > + V4L2_CTRL_TYPE_H264_PRED_WEIGHTS = 0x0205,
> > +
> > + V4L2_CTRL_TYPE_FWHT_PARAMS = 0x0220,
> > +
> > + V4L2_CTRL_TYPE_VP8_FRAME = 0x0240,
> > +
> > + V4L2_CTRL_TYPE_MPEG2_QUANTISATION = 0x0250,
> > + V4L2_CTRL_TYPE_MPEG2_SEQUENCE = 0x0251,
> > + V4L2_CTRL_TYPE_MPEG2_PICTURE = 0x0252,
> > +
> > + V4L2_CTRL_TYPE_VP9_COMPRESSED_HDR = 0x0260,
> > + V4L2_CTRL_TYPE_VP9_FRAME = 0x0261,
> > +
> > + V4L2_CTRL_TYPE_HEVC_SPS = 0x0270,
> > + V4L2_CTRL_TYPE_HEVC_PPS = 0x0271,
> > + V4L2_CTRL_TYPE_HEVC_SLICE_PARAMS = 0x0272,
> > + V4L2_CTRL_TYPE_HEVC_SCALING_MATRIX = 0x0273,
> > + V4L2_CTRL_TYPE_HEVC_DECODE_PARAMS = 0x0274,
> > +
> > + V4L2_CTRL_TYPE_AV1_SEQUENCE = 0x280,
> > + V4L2_CTRL_TYPE_AV1_TILE_GROUP_ENTRY = 0x281,
> > + V4L2_CTRL_TYPE_AV1_FRAME = 0x282,
> > + V4L2_CTRL_TYPE_AV1_FILM_GRAIN = 0x283,
> > };
> >
> > enum v4l2_frmivaltypes {
> > @@ -310,7 +354,6 @@ struct v4l2_pix_format {
> > u_int32_t colorspace;
> > u_int32_t priv;
> > u_int32_t flags;
> > - u_int32_t ycbcr_enc;
> > union {
> > u_int32_t ycbcr_enc;
> > u_int32_t hsv_enc;
> > @@ -323,7 +366,7 @@ struct v4l2_window {
> > struct v4l2_rect w;
> > u_int32_t field;
> > u_int32_t chromakey;
> > - struct v4l2_clip __user *clips;
> > + struct v4l2_clip *clips;
> > u_int32_t clipcount;
> > void __user *bitmap;
> > u_int8_t global_alpha;
>
> --
> wbr, Kirill
>
sys/videoio.h: sync V4L2 with Linux-6.13-rc6