From nobody Sat Sep 05 21:18:58 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4hcmRQ2rmFz6r8Q4 for ; Sat, 05 Sep 2026 21:18:58 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "YR2" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4hcmRQ1jKJz3rhQ for ; Sat, 05 Sep 2026 21:18:58 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1788643138; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=eEpklEWngftF7g8j/SyZZSuK3mySj5y7NBtQDf3HUUU=; b=Fj8pBBc4o97do1JpCxSlTkPKZ1Y1x/JjFQ3GtpSH+mpigBTM4NQkRGAmdkKyIEHxTasj3Z s6YF1f6q74lH69xE3LDX6LNpNC7J7ZBjOzc1wZdROCba4fLC4oHPCGPTp5te+NtNmDOq98 27tgM8/pDra3FIZdRk/7jtmBuTrW1ANwyFhwxqAip5kYMmiqS48YvgTZ/s48mNpYb1xzVO AzeWQYncPdnHKA8iyYXuW77u1J8CdqMQDLv9HKA4nAZI8VIBkHe2H4YWPoGSnmNcRmSbGY W4syzL62+JEX7iRhg4mVib48kPTlnhB4qtu7aYxtMZxjPLcsdGstlONYiyW0Yg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1788643138; a=rsa-sha256; cv=none; b=XOtQDXl6E8xXe8f3qdY6ftl52wOM/8htw0GPVEWpmMAdszYE1Uz+3hLiOgqT0BZtqEcSTe cdDwBLrTmhdLcDjfTs5oMyvur0H6fY60dCGo2jCbUhrLnCy+BeL7AQxdtjVo0diJbYhVEM jDm885K7gKnkgWB5C4IvnHFCzkQxbJ7X1r2x1dFbCR63cRe1TpH0vf+Sh8NqMLHPZvKD4H idINVpnqDRPOdxQl4jmpNHHEVP5/EoGyaR9+ZVteJJhAqbYFibRSdwd4crHTk2eYXh0p6p VknhSinR0o1Xa4I56NipzRFK4f9ayyOfio2+DoEONDMmdkeWz2sNlz5kGBERTQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1788643138; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=eEpklEWngftF7g8j/SyZZSuK3mySj5y7NBtQDf3HUUU=; b=mh2utrEdUGFFZAl524xYcZlQwzX4jqlpC3IV6TeGuVBchn6u/URpfqwQDM8bUY781RWj8G 8XkoEuhcUeKwDxz/3BgQStOxHZ2JgOhtMDuPKQ3nR5eF+vxAQ/b3vsRIemfC1ag/RNuDaX hEc4+4uL2+sSoxfoyfYdv3cJlEXSDFtRtd0TH4burYF72ZJUHUNOKcx/ElWl/8xY5D5Joi GiBd/PY4E2shZWRHg8ZCoTLKXgp4hE7AAnLD79W/6niQNyxV+4pItDzl2WgeZGDae9zNYO nCxZhyQLZmGIJ2yhTo4U/oewYW9loNRQ7PYo6xOc/fObN+nybqi2lYyJTosb8w== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4hcmRQ0Nr5z11vr for ; Sat, 05 Sep 2026 21:18:58 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3bf9e by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sat, 05 Sep 2026 21:18:58 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Abdelkader Boudih Subject: git: ea7c31ba9d21 - main - video(4): fix camera control class ABI and add missing V4L2 constants List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: seuros X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: ea7c31ba9d21c199f6458a4a4ec447dde2310c32 Auto-Submitted: auto-generated Date: Sat, 05 Sep 2026 21:18:58 +0000 Message-Id: <6a9c8742.3bf9e.75f0d301@gitrepo.freebsd.org> The branch main has been updated by seuros: URL: https://cgit.FreeBSD.org/src/commit/?id=ea7c31ba9d21c199f6458a4a4ec447dde2310c32 commit ea7c31ba9d21c199f6458a4a4ec447dde2310c32 Author: Abdelkader Boudih AuthorDate: 2026-09-05 21:18:13 +0000 Commit: Abdelkader Boudih CommitDate: 2026-09-05 21:18:13 +0000 video(4): fix camera control class ABI and add missing V4L2 constants Renumbered the camera class to match the reference ABI and added the constants ported applications expect: Reviewed by: thierry Differential Revision: https://reviews.freebsd.org/D59459 --- sys/sys/videoio.h | 29 ++++++++++++++++++++++++++--- 1 file changed, 26 insertions(+), 3 deletions(-) diff --git a/sys/sys/videoio.h b/sys/sys/videoio.h index 714a95fa5810..2760b0ec3b68 100644 --- a/sys/sys/videoio.h +++ b/sys/sys/videoio.h @@ -522,6 +522,7 @@ struct v4l2_frmivalenum { * Capability flags */ #define V4L2_CAP_VIDEO_CAPTURE 0x00000001 +#define V4L2_CAP_VIDEO_OUTPUT 0x00000002 #define V4L2_CAP_VIDEO_CAPTURE_MPLANE 0x00001000 #define V4L2_CAP_STREAMING 0x04000000 #define V4L2_CAP_EXT_PIX_FORMAT 0x00200000 @@ -574,7 +575,9 @@ struct v4l2_frmivalenum { */ #define V4L2_CTRL_CLASS_USER 0x00980000 #define V4L2_CTRL_CLASS_MPEG 0x00990000 +#define V4L2_CTRL_CLASS_CAMERA 0x009a0000 #define V4L2_CID_BASE (V4L2_CTRL_CLASS_USER | 0x900) +#define V4L2_CID_USER_CLASS (V4L2_CTRL_CLASS_USER | 1) /* * MPEG/codec control class @@ -593,24 +596,44 @@ struct v4l2_frmivalenum { #define V4L2_CID_HFLIP (V4L2_CID_BASE + 20) #define V4L2_CID_VFLIP (V4L2_CID_BASE + 21) #define V4L2_CID_POWER_LINE_FREQUENCY (V4L2_CID_BASE + 24) +enum v4l2_power_line_frequency { + V4L2_CID_POWER_LINE_FREQUENCY_DISABLED = 0, + V4L2_CID_POWER_LINE_FREQUENCY_50HZ = 1, + V4L2_CID_POWER_LINE_FREQUENCY_60HZ = 2, + V4L2_CID_POWER_LINE_FREQUENCY_AUTO = 3, +}; #define V4L2_CID_HUE_AUTO (V4L2_CID_BASE + 25) #define V4L2_CID_WHITE_BALANCE_TEMPERATURE (V4L2_CID_BASE + 26) #define V4L2_CID_SHARPNESS (V4L2_CID_BASE + 27) #define V4L2_CID_BACKLIGHT_COMPENSATION (V4L2_CID_BASE + 28) #define V4L2_CID_LASTP1 (V4L2_CID_BASE + 44) -#define V4L2_CID_CAMERA_CLASS_BASE 0x009a0000 +#define V4L2_CID_CAMERA_CLASS_BASE (V4L2_CTRL_CLASS_CAMERA | 0x900) +#define V4L2_CID_CAMERA_CLASS (V4L2_CTRL_CLASS_CAMERA | 1) #define V4L2_CID_EXPOSURE_AUTO (V4L2_CID_CAMERA_CLASS_BASE + 1) +enum v4l2_exposure_auto_type { + V4L2_EXPOSURE_AUTO = 0, + V4L2_EXPOSURE_MANUAL = 1, + V4L2_EXPOSURE_SHUTTER_PRIORITY = 2, + V4L2_EXPOSURE_APERTURE_PRIORITY = 3, +}; #define V4L2_CID_EXPOSURE_ABSOLUTE (V4L2_CID_CAMERA_CLASS_BASE + 2) #define V4L2_CID_EXPOSURE_AUTO_PRIORITY (V4L2_CID_CAMERA_CLASS_BASE + 3) -#define V4L2_CID_FOCUS_ABSOLUTE (V4L2_CID_CAMERA_CLASS_BASE + 4) -#define V4L2_CID_FOCUS_RELATIVE (V4L2_CID_CAMERA_CLASS_BASE + 5) +#define V4L2_CID_PAN_RELATIVE (V4L2_CID_CAMERA_CLASS_BASE + 4) +#define V4L2_CID_TILT_RELATIVE (V4L2_CID_CAMERA_CLASS_BASE + 5) +#define V4L2_CID_PAN_RESET (V4L2_CID_CAMERA_CLASS_BASE + 6) +#define V4L2_CID_TILT_RESET (V4L2_CID_CAMERA_CLASS_BASE + 7) #define V4L2_CID_PAN_ABSOLUTE (V4L2_CID_CAMERA_CLASS_BASE + 8) #define V4L2_CID_TILT_ABSOLUTE (V4L2_CID_CAMERA_CLASS_BASE + 9) +#define V4L2_CID_FOCUS_ABSOLUTE (V4L2_CID_CAMERA_CLASS_BASE + 10) +#define V4L2_CID_FOCUS_RELATIVE (V4L2_CID_CAMERA_CLASS_BASE + 11) #define V4L2_CID_FOCUS_AUTO (V4L2_CID_CAMERA_CLASS_BASE + 12) #define V4L2_CID_ZOOM_ABSOLUTE (V4L2_CID_CAMERA_CLASS_BASE + 13) +#define V4L2_CID_ZOOM_RELATIVE (V4L2_CID_CAMERA_CLASS_BASE + 14) #define V4L2_CID_ZOOM_CONTINUOUS (V4L2_CID_CAMERA_CLASS_BASE + 15) #define V4L2_CID_PRIVACY (V4L2_CID_CAMERA_CLASS_BASE + 16) +#define V4L2_CID_IRIS_ABSOLUTE (V4L2_CID_CAMERA_CLASS_BASE + 17) +#define V4L2_CID_IRIS_RELATIVE (V4L2_CID_CAMERA_CLASS_BASE + 18) /* * IDs reserved for driver specific controls