{"id":11904,"url":"https://patchwork.libcamera.org/api/patches/11904/?format=json","web_url":"https://patchwork.libcamera.org/patch/11904/","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":"<20210413075013.3069213-6-hiroh@chromium.org>","date":"2021-04-13T07:50:13","name":"[libcamera-devel,RFC,v2,5/5] libcamera: pipeline: ipu3: Report available sensor test pattern mode","commit_ref":null,"pull_url":null,"state":"superseded","archived":false,"hash":"744197f1b6b516db7e893ad052cceb6ef13f8c6c","submitter":{"id":63,"url":"https://patchwork.libcamera.org/api/people/63/?format=json","name":"Hirokazu Honda","email":"hiroh@chromium.org"},"delegate":null,"mbox":"https://patchwork.libcamera.org/patch/11904/mbox/","series":[{"id":1916,"url":"https://patchwork.libcamera.org/api/series/1916/?format=json","web_url":"https://patchwork.libcamera.org/project/libcamera/list/?series=1916","date":"2021-04-13T07:50:08","name":"Report available test pattern modes","version":2,"mbox":"https://patchwork.libcamera.org/series/1916/mbox/"}],"comments":"https://patchwork.libcamera.org/api/patches/11904/comments/","check":"pending","checks":"https://patchwork.libcamera.org/api/patches/11904/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 89F68BD224\n\tfor <parsemail@patchwork.libcamera.org>;\n\tTue, 13 Apr 2021 07:50:35 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 3F08E68809;\n\tTue, 13 Apr 2021 09:50:35 +0200 (CEST)","from mail-pj1-x1035.google.com (mail-pj1-x1035.google.com\n\t[IPv6:2607:f8b0:4864:20::1035])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 452A668800\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tTue, 13 Apr 2021 09:50:34 +0200 (CEST)","by mail-pj1-x1035.google.com with SMTP id\n\tnm3-20020a17090b19c3b029014e1bbf6c60so4370113pjb.4\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tTue, 13 Apr 2021 00:50:34 -0700 (PDT)","from hiroh2.tok.corp.google.com\n\t([2401:fa00:8f:2:84f5:7981:dfbe:8f02])\n\tby smtp.gmail.com with ESMTPSA id\n\tn25sm11525125pff.154.2021.04.13.00.50.30\n\t(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);\n\tTue, 13 Apr 2021 00:50:32 -0700 (PDT)"],"Authentication-Results":"lancelot.ideasonboard.com;\n\tdkim=fail reason=\"signature verification failed\" (1024-bit key;\n\tunprotected) header.d=chromium.org header.i=@chromium.org\n\theader.b=\"FPVAt6BC\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org;\n\ts=google; \n\th=from:to:cc:subject:date:message-id:in-reply-to:references\n\t:mime-version:content-transfer-encoding;\n\tbh=wJ/ceasRA1QDOVgYJaZJ4VnwamEf/ayurSs05yfPadY=;\n\tb=FPVAt6BCv/sI0kztWNr15HDv9eCIKXALwdjKNan4a4pthpHGk95w3lTObwDsmYXaRt\n\tZg4IwMaKOVay/VXRTmORvYaETJccKJHXJELM9u7LCzOsxJXS/eUnNdBFbz0etpvvE4yE\n\tWjkgYlEzdddL8qFm3WKOTQoDEkwOCN6RxM0Nk=","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20161025;\n\th=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to\n\t:references:mime-version:content-transfer-encoding;\n\tbh=wJ/ceasRA1QDOVgYJaZJ4VnwamEf/ayurSs05yfPadY=;\n\tb=chCR1bl20bgKteEohyi1ttHarMnp0MfLl3hjTh2JYyS996hsQSOU7hB3rDBumGn16U\n\tHFSCM7xl+PBZZiT4Xxa7CEJpL96A3hqHGN3ipVVX/+42zNmCFDdYS/ZHhocyM2kihFqx\n\tawX2pmntjWvLPGwkUsM+CUe55bL/uX+1aBQsxZOaSK+3F7atATACkbiwZ09v++rbKa7F\n\tDaiU47PLRdMvqwux5xA41IwkgH35qyufqR6kNYbCvwInj+p94fG+ouyjutS+TsfAcdFz\n\toy4QydlvJaUoVmoIA7wGWIwMfMDlgVWSr60DJbEs9n7/Gfzg5Z/W6kqkzo1PP4aklsmD\n\t0gDg==","X-Gm-Message-State":"AOAM530E45MAa8ENwGmHTf2sgw1gIKWyJoNH0MpUn+MDkNCiIS18huoV\n\tG374wTNo3gAFP/CbFp+SQUQSJyBx35pPng==","X-Google-Smtp-Source":"ABdhPJwzbHxaqQt9BTGces0JIstCGmNxFmyMz+z++K7eA4yCXp5wzVgAC4r6ioNCvtLV1EoeBXzxCQ==","X-Received":"by 2002:a17:902:b68a:b029:e9:7643:6335 with SMTP id\n\tc10-20020a170902b68ab02900e976436335mr29124158pls.2.1618300232789; \n\tTue, 13 Apr 2021 00:50:32 -0700 (PDT)","From":"Hirokazu Honda <hiroh@chromium.org>","To":"libcamera-devel@lists.libcamera.org","Date":"Tue, 13 Apr 2021 16:50:13 +0900","Message-Id":"<20210413075013.3069213-6-hiroh@chromium.org>","X-Mailer":"git-send-email 2.31.1.295.g9ea45b61b8-goog","In-Reply-To":"<20210413075013.3069213-1-hiroh@chromium.org>","References":"<20210413075013.3069213-1-hiroh@chromium.org>","MIME-Version":"1.0","Subject":"[libcamera-devel] [RFC PATCH v2 5/5] libcamera: pipeline: ipu3:\n\tReport available sensor test pattern mode","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>","Cc":"jmondi@jacopo.org","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":"PipelineHandlerIPU3 gets available test pattern modes of the\nsensor device and reports them to a client.\n\nSigned-off-by: Hirokazu Honda <hiroh@chromium.org>\n---\n src/libcamera/pipeline/ipu3/ipu3.cpp | 12 ++++++++++++\n 1 file changed, 12 insertions(+)","diff":"diff --git a/src/libcamera/pipeline/ipu3/ipu3.cpp b/src/libcamera/pipeline/ipu3/ipu3.cpp\nindex 519cad4f..bcef331c 100644\n--- a/src/libcamera/pipeline/ipu3/ipu3.cpp\n+++ b/src/libcamera/pipeline/ipu3/ipu3.cpp\n@@ -891,6 +891,18 @@ int PipelineHandlerIPU3::initControls(IPU3CameraData *data)\n \tControlInfoMap::Map controls = IPU3Controls;\n \tconst ControlInfoMap &sensorControls = sensor->controls();\n \n+\tif (!sensorInfo.availableTestPatternModes.empty()) {\n+\t\tstd::vector<ControlValue> values(\n+\t\t\tsensorInfo.availableTestPatternModes.size());\n+\t\tfor (size_t i = 0; i < values.size(); ++i) {\n+\t\t\tvalues[i] = ControlValue(\n+\t\t\t\tsensorInfo.availableTestPatternModes[i]);\n+\t\t}\n+\n+\t\tcontrols[&controls::draft::SensorTestPatternMode] =\n+\t\t\tControlInfo(libcamera::Span<const ControlValue>(values));\n+\t}\n+\n \t/*\n \t * Compute exposure time limits.\n \t *\n","prefixes":["libcamera-devel","RFC","v2","5/5"]}