{"id":12075,"url":"https://patchwork.libcamera.org/api/patches/12075/?format=json","web_url":"https://patchwork.libcamera.org/patch/12075/","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":"<20210422094102.371772-9-paul.elder@ideasonboard.com>","date":"2021-04-22T09:40:58","name":"[libcamera-devel,RFC,v2,08/12] controls: Add controls necessary for FULL compliance","commit_ref":null,"pull_url":null,"state":"superseded","archived":false,"hash":"080db0792a7d352e3b8b0aa32550a895b7f9e4cb","submitter":{"id":17,"url":"https://patchwork.libcamera.org/api/people/17/?format=json","name":"Paul Elder","email":"paul.elder@ideasonboard.com"},"delegate":{"id":17,"url":"https://patchwork.libcamera.org/api/users/17/?format=json","username":"epaul","first_name":"Paul","last_name":"Elder","email":"paul.elder@ideasonboard.com"},"mbox":"https://patchwork.libcamera.org/patch/12075/mbox/","series":[{"id":1962,"url":"https://patchwork.libcamera.org/api/series/1962/?format=json","web_url":"https://patchwork.libcamera.org/project/libcamera/list/?series=1962","date":"2021-04-22T09:40:50","name":"FULL hardware level fixes","version":2,"mbox":"https://patchwork.libcamera.org/series/1962/mbox/"}],"comments":"https://patchwork.libcamera.org/api/patches/12075/comments/","check":"pending","checks":"https://patchwork.libcamera.org/api/patches/12075/checks/","tags":{},"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 60B94BDB17\n\tfor <parsemail@patchwork.libcamera.org>;\n\tThu, 22 Apr 2021 09:41:31 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id D358468863;\n\tThu, 22 Apr 2021 11:41:30 +0200 (CEST)","from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[IPv6:2001:4b98:dc2:55:216:3eff:fef7:d647])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 7979A68866\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tThu, 22 Apr 2021 11:41:27 +0200 (CEST)","from pyrite.rasen.tech (unknown\n\t[IPv6:2400:4051:61:600:2c71:1b79:d06d:5032])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id 1EEDF3EE;\n\tThu, 22 Apr 2021 11:41:25 +0200 (CEST)"],"Authentication-Results":"lancelot.ideasonboard.com;\n\tdkim=fail reason=\"signature verification failed\" (1024-bit key;\n\tunprotected) header.d=ideasonboard.com header.i=@ideasonboard.com\n\theader.b=\"siGthfA6\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1619084487;\n\tbh=AfHgskQzbZnCKUuTmS4VrHZbo/Ol9dJIPc7mY5BTcuE=;\n\th=From:To:Cc:Subject:Date:In-Reply-To:References:From;\n\tb=siGthfA69jafD2hJ6sFTDq58dUscSIpteJe6IDcyY9RLmzpJym5heuDpVOyOCco6r\n\tHLI2oFvRc8JAGatlodE+lhy9cOykGddOGxJ7z0tq5rbuKA5eRRRfz3TQJIwaPbuArS\n\t747sbl20I9FO1TDkhTWdMOCQhe/TUdpb6EGwl4lo=","From":"Paul Elder <paul.elder@ideasonboard.com>","To":"libcamera-devel@lists.libcamera.org","Date":"Thu, 22 Apr 2021 18:40:58 +0900","Message-Id":"<20210422094102.371772-9-paul.elder@ideasonboard.com>","X-Mailer":"git-send-email 2.27.0","In-Reply-To":"<20210422094102.371772-1-paul.elder@ideasonboard.com>","References":"<20210422094102.371772-1-paul.elder@ideasonboard.com>","MIME-Version":"1.0","Subject":"[libcamera-devel] [RFC PATCH v2 08/12] controls: Add controls\n\tnecessary for FULL compliance","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>","Content-Type":"text/plain; charset=\"us-ascii\"","Content-Transfer-Encoding":"7bit","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"},"content":"Add controls necessary for FULL compliance:\n- BlackLevelLocked\n- EdgeMode\n- FrameDuration\n- SensorSensitivity\n- TonemapMode\n\nWhile at it, change the names of some AwbState values to be consistent\nand to avoid potential conflicts with AwbLocked.\n\nSigned-off-by: Paul Elder <paul.elder@ideasonboard.com>\n---\n src/libcamera/control_ids.yaml | 78 +++++++++++++++++++++++++++++++++-\n 1 file changed, 76 insertions(+), 2 deletions(-)","diff":"diff --git a/src/libcamera/control_ids.yaml b/src/libcamera/control_ids.yaml\nindex f025819a..61c5c96f 100644\n--- a/src/libcamera/control_ids.yaml\n+++ b/src/libcamera/control_ids.yaml\n@@ -420,6 +420,13 @@ controls:\n             The camera will cancel any active trigger and the AF routine is\n             reset to its initial state.\n \n+  - BlackLevelLocked:\n+      type: bool\n+      draft: true\n+      description: |\n+        Whether black-level compensation is locked to its current values, or is\n+        free to vary. Currently identical to ANDROID_BLACK_LEVEL_LOCK.\n+\n   - NoiseReductionMode:\n       type: int32_t\n       draft: true\n@@ -554,13 +561,46 @@ controls:\n         - name: AwbStateSearching\n           value: 1\n           description: The AWB algorithm has not converged yet.\n-        - name: AwbConverged\n+        - name: AwbStateConverged\n           value: 2\n           description: The AWB algorithm has converged.\n-        - name: AwbLocked\n+        - name: AwbStateLocked\n           value: 3\n           description: The AWB algorithm is locked.\n \n+  - EdgeMode:\n+      type: int32_t\n+      draft: true\n+      description: |\n+       Control to report the operation mode of edge enhancement. Currently\n+       identical to ANDROID_EDGE_MODE.\n+      enum:\n+        - name: EdgeModeOff\n+          value: 0\n+          description: No edge enhancement is applied.\n+        - name: EdgeModeFast\n+          value: 1\n+          description: |\n+           Apply edge enhancement at a quality level tha does not\n+           slow down frame rate relative to sensor output.\n+        - name: EdgeModeHighQuality\n+          value: 2\n+          description: |\n+           Apply high-quality edge enhancement, at a cost of possible reduced\n+           output frame rate.\n+        - name: EdgeModeZSL\n+          value: 3\n+          description: |\n+           Edge enhancement is applied at different levels for different output\n+           streams, based on resolution.\n+\n+  - FrameDuration:\n+      type: int64_t\n+      draft: true\n+      description: |\n+       Duration from start of frame exposure to start of next frame exposure, in\n+       nanoseconds. Currently identical to ANDROID_SENSOR_FRAME_DURATION.\n+\n   - SensorRollingShutterSkew:\n       type: int64_t\n       draft: true\n@@ -569,6 +609,13 @@ controls:\n        row and the start of exposure of the last row. Currently identical to\n        ANDROID_SENSOR_ROLLING_SHUTTER_SKEW\n \n+  - SensorSensitivity:\n+      type: int32_t\n+      draft: true\n+      description: |\n+       The amount of gain applied to sensor data before processing. Currently\n+       identical to ANDROID_SENSOR_SENSITIVITY.\n+\n   - LensShadingMapMode:\n       type: int32_t\n       draft: true\n@@ -600,6 +647,33 @@ controls:\n           value: 2\n           description: 60Hz flickering detected.\n \n+  - TonemapMode:\n+      type: int32_t\n+      draft: true\n+      description: |\n+       High-level global contrast/gamma/tonemapping control. Currently identical\n+       to ANDROID_TONEMAP_MODE.\n+      enum:\n+        - name: TonemapModeContrastCurve\n+          value: 0\n+          description: Use the specified tonemapping curve.\n+        - name: TonemapModeFast\n+          value: 1\n+          description: |\n+           Advanced gamma mapping and color enhancement may be applied, without\n+           reducing frame rate compared to raw sensor output.\n+        - name: TonemapModeHighQuality\n+          value: 2\n+          description: |\n+           High-quality gamma mapping and color enhancement will be applied, at\n+           the cost of possibly reduced frame rate compared to raw sensor output.\n+        - name: TonemapModeGammaValue\n+          value: 3\n+          description: Use the specified gamma value for tonemapping.\n+        - name: TonemapModePresetCurve\n+          value: 4\n+          description: Use the specified preset tonemapping curve.\n+\n   - PipelineDepth:\n       type: int32_t\n       draft: true\n","prefixes":["libcamera-devel","RFC","v2","08/12"]}