From: Marcus Glocker Subject: Re: sys/videoio.h: sync with Linux To: "Kirill A. Korinsky" Cc: tech@openbsd.org Date: Sat, 2 Aug 2025 07:18:57 +0200 On Fri, Aug 01, 2025 at 06:01:59PM +0200, Kirill A. Korinsky wrote: > Marcus, tech@, > > I'd like to sync our videoio.h with Linux by backporting a few defines: > > 1. Add RKISP1_CID_SUPPORTED_PARAMS_BLOCKS control > https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=7c8c957ef12c41968adb66d785ce1dd5fb2f96e7 > > 2. Fix comment for 12-bit packed Bayer formats > https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=1fff2ee377e1c2230054e65092def460dd40b587 > > 3. Introduce V4L2_META_FMT_UVC_MSXU_1_5 > https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=2ab4019aa34dc2aec4a0824fbf1e49300884fbbf > > 4. Add Renesas Camera Receiver Unit pixel formats > https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=78584431e2cea6b60909cfa23c90ac8b33ab4198 > > Ok? The diff looks good to me. No regressions detected on some quick testing. Also I wouldn't expect any regressions since it adds all new defines. ok mglocker@ > Index: sys/sys/videoio.h > =================================================================== > RCS file: /home/cvs/src/sys/sys/videoio.h,v > diff -u -p -r1.23 videoio.h > --- sys/sys/videoio.h 30 May 2025 21:40:26 -0000 1.23 > +++ sys/sys/videoio.h 1 Aug 2025 15:59:28 -0000 > @@ -337,6 +337,12 @@ enum v4l2_colorfx { > */ > #define V4L2_CID_USER_UVC_BASE (V4L2_CID_USER_BASE + 0x11e0) > > +/* > + * The base for Rockchip ISP1 driver controls. > + * We reserve 16 controls for this driver. > + */ > +#define V4L2_CID_USER_RKISP1_BASE (V4L2_CID_USER_BASE + 0x1220) > + > /* MPEG-class control IDs */ > /* The MPEG controls are applicable to all codec controls > * and the 'MPEG' part of the define is historical */ > @@ -4261,7 +4267,7 @@ struct v4l2_pix_format { > #define V4L2_PIX_FMT_SGBRG12 v4l2_fourcc('G', 'B', '1', '2') /* 12 GBGB.. RGRG.. */ > #define V4L2_PIX_FMT_SGRBG12 v4l2_fourcc('B', 'A', '1', '2') /* 12 GRGR.. BGBG.. */ > #define V4L2_PIX_FMT_SRGGB12 v4l2_fourcc('R', 'G', '1', '2') /* 12 RGRG.. GBGB.. */ > - /* 12bit raw bayer packed, 6 bytes for every 4 pixels */ > + /* 12bit raw bayer packed, 3 bytes for every 2 pixels */ > #define V4L2_PIX_FMT_SBGGR12P v4l2_fourcc('p', 'B', 'C', 'C') > #define V4L2_PIX_FMT_SGBRG12P v4l2_fourcc('p', 'G', 'C', 'C') > #define V4L2_PIX_FMT_SGRBG12P v4l2_fourcc('p', 'g', 'C', 'C') > @@ -4375,6 +4381,12 @@ struct v4l2_pix_format { > #define V4L2_PIX_FMT_PISP_COMP2_BGGR v4l2_fourcc('P', 'C', '2', 'B') /* PiSP 8-bit mode 2 compressed BGGR bayer */ > #define V4L2_PIX_FMT_PISP_COMP2_MONO v4l2_fourcc('P', 'C', '2', 'M') /* PiSP 8-bit mode 2 compressed monochrome */ > > +/* Renesas RZ/V2H CRU packed formats. 64-bit units with contiguous pixels */ > +#define V4L2_PIX_FMT_RAW_CRU10 v4l2_fourcc('C', 'R', '1', '0') > +#define V4L2_PIX_FMT_RAW_CRU12 v4l2_fourcc('C', 'R', '1', '2') > +#define V4L2_PIX_FMT_RAW_CRU14 v4l2_fourcc('C', 'R', '1', '4') > +#define V4L2_PIX_FMT_RAW_CRU20 v4l2_fourcc('C', 'R', '2', '0') > + > /* SDR formats - used only for Software Defined Radio devices */ > #define V4L2_SDR_FMT_CU8 v4l2_fourcc('C', 'U', '0', '8') /* IQ u8 */ > #define V4L2_SDR_FMT_CU16LE v4l2_fourcc('C', 'U', '1', '6') /* IQ u16le */ > @@ -4396,6 +4408,7 @@ struct v4l2_pix_format { > #define V4L2_META_FMT_VSP1_HGT v4l2_fourcc('V', 'S', 'P', 'T') /* R-Car VSP1 2-D Histogram */ > #define V4L2_META_FMT_UVC v4l2_fourcc('U', 'V', 'C', 'H') /* UVC Payload Header metadata */ > #define V4L2_META_FMT_D4XX v4l2_fourcc('D', '4', 'X', 'X') /* D4XX Payload Header metadata */ > +#define V4L2_META_FMT_UVC_MSXU_1_5 v4l2_fourcc('U', 'V', 'C', 'M') /* UVC MSXU metadata */ > #define V4L2_META_FMT_VIVID v4l2_fourcc('V', 'I', 'V', 'D') /* Vivid Metadata */ > > /* Vendor specific - used for RK_ISP1 camera sub-system */ > >