{"id":16298,"url":"https://patchwork.libcamera.org/api/covers/16298/?format=json","web_url":"https://patchwork.libcamera.org/cover/16298/","project":{"id":1,"url":"https://patchwork.libcamera.org/api/projects/1/?format=json","name":"libcamera","link_name":"libcamera","list_id":"libcamera_core","list_email":"libcamera-devel@lists.libcamera.org","web_url":"","scm_url":"","webscm_url":""},"msgid":"<20220621150337.47839-1-jacopo@jmondi.org>","date":"2022-06-21T15:03:34","name":"[libcamera-devel,0/3] libcamera: Introduce internal controls","submitter":{"id":3,"url":"https://patchwork.libcamera.org/api/people/3/?format=json","name":"Jacopo Mondi","email":"jacopo@jmondi.org"},"mbox":"https://patchwork.libcamera.org/cover/16298/mbox/","series":[{"id":3198,"url":"https://patchwork.libcamera.org/api/series/3198/?format=json","web_url":"https://patchwork.libcamera.org/project/libcamera/list/?series=3198","date":"2022-06-21T15:03:34","name":"libcamera: Introduce internal controls","version":1,"mbox":"https://patchwork.libcamera.org/series/3198/mbox/"}],"comments":"https://patchwork.libcamera.org/api/covers/16298/comments/","headers":{"Return-Path":"<libcamera-devel-bounces@lists.libcamera.org>","X-Original-To":"parsemail@patchwork.libcamera.org","Delivered-To":"parsemail@patchwork.libcamera.org","Received":["from lancelot.ideasonboard.com (lancelot.ideasonboard.com\n\t[92.243.16.209])\n\tby patchwork.libcamera.org (Postfix) with ESMTPS id 5BD3CBE173\n\tfor <parsemail@patchwork.libcamera.org>;\n\tTue, 21 Jun 2022 15:03:46 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 888B065635;\n\tTue, 21 Jun 2022 17:03:45 +0200 (CEST)","from relay9-d.mail.gandi.net (relay9-d.mail.gandi.net\n\t[IPv6:2001:4b98:dc4:8::229])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 95E2060473\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tTue, 21 Jun 2022 17:03:44 +0200 (CEST)","(Authenticated sender: jacopo@jmondi.org)\n\tby mail.gandi.net (Postfix) with ESMTPSA id E3CC5FF808;\n\tTue, 21 Jun 2022 15:03:43 +0000 (UTC)"],"DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=libcamera.org;\n\ts=mail; t=1655823825;\n\tbh=kRvrZzos86vPgj1egysxJ8HJ0gcmvE8I3J95wPjTHMg=;\n\th=To:Date:Subject:List-Id:List-Unsubscribe:List-Archive:List-Post:\n\tList-Help:List-Subscribe:From:Reply-To:From;\n\tb=C23fhQqfSLc3UC1994zRh9NLFoC/+RvRlXcIFE3FHJmozeceDjU+fbnIVByOU74lf\n\tWFf4GkVCWhSPkxcn2MoLFm2kJ4sIGw9KZufuxfXJXyGXw3BvnNZ1wFQZoDm4TmeHFy\n\tX+CQQpaXI/z9InDl4Aq5aSx899XBxkwhP2R6m2yrgqo2tn/w10njDhX4iZ1gWklDh6\n\tSQ3mvVI74PO+y3l1hck4m8fGqWvl0AQCnoYTxYKjPHt9WMFF7BSUZeMHFT5VhuKpBm\n\tUo1X8in2P+Nx33+G0T2nK/pa5GMqkN9yfR4XEVUDfF6mWiTUqzvxYYhTHo7JtlpPlO\n\tKDS4ALfWPnbvg==","To":"libcamera-devel@lists.libcamera.org","Date":"Tue, 21 Jun 2022 17:03:34 +0200","Message-Id":"<20220621150337.47839-1-jacopo@jmondi.org>","X-Mailer":"git-send-email 2.36.1","MIME-Version":"1.0","Content-Transfer-Encoding":"8bit","Subject":"[libcamera-devel] [PATCH 0/3] libcamera: Introduce internal controls","X-BeenThere":"libcamera-devel@lists.libcamera.org","X-Mailman-Version":"2.1.29","Precedence":"list","List-Id":"<libcamera-devel.lists.libcamera.org>","List-Unsubscribe":"<https://lists.libcamera.org/options/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=unsubscribe>","List-Archive":"<https://lists.libcamera.org/pipermail/libcamera-devel/>","List-Post":"<mailto:libcamera-devel@lists.libcamera.org>","List-Help":"<mailto:libcamera-devel-request@lists.libcamera.org?subject=help>","List-Subscribe":"<https://lists.libcamera.org/listinfo/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=subscribe>","From":"Jacopo Mondi via libcamera-devel <libcamera-devel@lists.libcamera.org>","Reply-To":"Jacopo Mondi <jacopo@jmondi.org>","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"},"content":"Add to the enumeration of internal controls in internal_control_ids.yaml\nand plumb them in the buildsystem to generate:\n\n- include/libcamera/internal/control_ids.h\n- src/libcamera/internal_control_ids.cpp\n\nInternal controls will be used to replace V4L2 controls in the interactions\nbetween between internal library components, such as the CameraSensor class and\nthe IPA module.\n\nJacopo Mondi (3):\n  libcamera: control_ids: Add 'internal' argument\n  libcamera: control_ids: Separate the id numerical space\n  libcamera: Introduce internal controls\n\n include/libcamera/control_ids.h.in      |  6 +--\n include/libcamera/internal/meson.build  | 18 +++++++++\n src/libcamera/control_ids.cpp.in        | 12 +++---\n src/libcamera/internal_control_ids.yaml | 54 +++++++++++++++++++++++++\n src/libcamera/meson.build               | 16 ++++++++\n utils/gen-controls.py                   | 24 +++++++++--\n 6 files changed, 118 insertions(+), 12 deletions(-)\n create mode 100644 src/libcamera/internal_control_ids.yaml\n\n--\n2.36.1"}