From: Marcus Glocker Subject: Re: sys/videoio.h: sync V4L2 with Linux-6.13-rc6 To: "Kirill A. Korinsky" , Jeremie Courreges-Anglas Cc: tech@openbsd.org Date: Mon, 13 Jan 2025 20:40:38 +0100 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 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 >