From patchwork Mon Nov 25 15:29:59 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Paul Elder X-Patchwork-Id: 22076 Return-Path: X-Original-To: parsemail@patchwork.libcamera.org Delivered-To: parsemail@patchwork.libcamera.org Received: from lancelot.ideasonboard.com (lancelot.ideasonboard.com [92.243.16.209]) by patchwork.libcamera.org (Postfix) with ESMTPS id D20A2C32A3 for ; Mon, 25 Nov 2024 15:30:16 +0000 (UTC) Received: from lancelot.ideasonboard.com (localhost [IPv6:::1]) by lancelot.ideasonboard.com (Postfix) with ESMTP id E460365F7F; Mon, 25 Nov 2024 16:30:15 +0100 (CET) Authentication-Results: lancelot.ideasonboard.com; dkim=pass (1024-bit key; unprotected) header.d=ideasonboard.com header.i=@ideasonboard.com header.b="Xe3eiCGh"; dkim-atps=neutral Received: from perceval.ideasonboard.com (perceval.ideasonboard.com [IPv6:2001:4b98:dc2:55:216:3eff:fef7:d647]) by lancelot.ideasonboard.com (Postfix) with ESMTPS id 3CA0465F68 for ; Mon, 25 Nov 2024 16:30:14 +0100 (CET) Received: from neptunite.flets-east.jp (unknown [IPv6:2404:7a81:160:2100:9d06:dcbb:7303:4be6]) by perceval.ideasonboard.com (Postfix) with ESMTPSA id 7C3F16B5; Mon, 25 Nov 2024 16:29:51 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com; s=mail; t=1732548592; bh=EylBZgkvJc5XGk9eHusn0pLnnHj6q69IOoRop3++/74=; h=From:To:Cc:Subject:Date:From; b=Xe3eiCGhQjeqkSfHiqcVAgsqa4PVkXbx4JHaIuMGYFbdamnVPhKF9b/fF6s7q9hzQ iVyp558qLyXkQya2xmVrd73bBJ+hEYJEb9/WXI4hHWmQihX0P94ydmrwsnHolTlFP4 sd+eCmaoWypC0gBKnlF1Xvv2EFmUXPN2TgWRHQAs= From: Paul Elder To: libcamera-devel@lists.libcamera.org Cc: Paul Elder Subject: [PATCH 0/4] Add direction field to ControlId Date: Tue, 26 Nov 2024 00:29:59 +0900 Message-Id: <20241125153003.3309066-1-paul.elder@ideasonboard.com> X-Mailer: git-send-email 2.39.2 MIME-Version: 1.0 X-BeenThere: libcamera-devel@lists.libcamera.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: libcamera-devel-bounces@lists.libcamera.org Sender: "libcamera-devel" This patch series add support for querying the ControlId for the direction that it can be passed. This used to only be mentioned in the control id definitions as "This control can only be returned in metadata" so this codifies it and allows this information to be queried by applications. This is an ABI breaking change, so I really want to sneak it in before the 0.4.0 release that's coming imminently... Patches 1 and 2 prepare control definitions and parsing, while patch 3 adds the actual support. Patch 4 enables visualization via cam. Paul Elder (4): libcamera: controls: Populate direction field in control definitions utils: codegen: controls.py: Parse direction information libcamera: controls: Add support for querying direction information apps: cam: Print control direction information include/libcamera/controls.h | 27 +++++++++++++++++- src/apps/cam/camera_session.cpp | 10 +++++-- src/libcamera/control_ids.cpp.in | 4 +-- src/libcamera/control_ids_core.yaml | 12 ++++++++ src/libcamera/control_ids_draft.yaml | 7 +++++ src/libcamera/controls.cpp | 42 ++++++++++++++++++++++++++-- utils/codegen/controls.py | 21 ++++++++++++++ 7 files changed, 116 insertions(+), 7 deletions(-)