Show a patch.

GET /api/1.1/patches/15494/?format=api
HTTP 200 OK
Allow: GET, PUT, PATCH, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "id": 15494,
    "url": "https://patchwork.libcamera.org/api/1.1/patches/15494/?format=api",
    "web_url": "https://patchwork.libcamera.org/patch/15494/",
    "project": {
        "id": 1,
        "url": "https://patchwork.libcamera.org/api/1.1/projects/1/?format=api",
        "name": "libcamera",
        "link_name": "libcamera",
        "list_id": "libcamera_core",
        "list_email": "libcamera-devel@lists.libcamera.org",
        "web_url": "",
        "scm_url": "",
        "webscm_url": ""
    },
    "msgid": "<20220322024155.6528-3-hpa@redhat.com>",
    "date": "2022-03-22T02:41:53",
    "name": "[libcamera-devel,2/4] ipa: ipu3: af: AE and AWE lock request flow when performing AF",
    "commit_ref": null,
    "pull_url": null,
    "state": "superseded",
    "archived": false,
    "hash": "63142e7396b94df6e12ae28ec4c58f1bc4c79c82",
    "submitter": {
        "id": 105,
        "url": "https://patchwork.libcamera.org/api/1.1/people/105/?format=api",
        "name": "Kate Hsuan",
        "email": "hpa@redhat.com"
    },
    "delegate": null,
    "mbox": "https://patchwork.libcamera.org/patch/15494/mbox/",
    "series": [
        {
            "id": 2981,
            "url": "https://patchwork.libcamera.org/api/1.1/series/2981/?format=api",
            "web_url": "https://patchwork.libcamera.org/project/libcamera/list/?series=2981",
            "date": "2022-03-22T02:41:51",
            "name": "ipa: ipu3: af: Temporarily suspend AWB and AE during AF scanning",
            "version": 1,
            "mbox": "https://patchwork.libcamera.org/series/2981/mbox/"
        }
    ],
    "comments": "https://patchwork.libcamera.org/api/patches/15494/comments/",
    "check": "pending",
    "checks": "https://patchwork.libcamera.org/api/patches/15494/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 CE036C0F1B\n\tfor <parsemail@patchwork.libcamera.org>;\n\tTue, 22 Mar 2022 02:42:21 +0000 (UTC)",
            "from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 8114C610F8;\n\tTue, 22 Mar 2022 03:42:21 +0100 (CET)",
            "from us-smtp-delivery-124.mimecast.com\n\t(us-smtp-delivery-124.mimecast.com [170.10.129.124])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id A717C604C7\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tTue, 22 Mar 2022 03:42:19 +0100 (CET)",
            "from mimecast-mx02.redhat.com (mimecast-mx02.redhat.com\n\t[66.187.233.88]) by relay.mimecast.com with ESMTP with STARTTLS\n\t(version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id\n\tus-mta-77-Qe0R7LiWNLiXgdLWm54x_g-1; Mon, 21 Mar 2022 22:42:17 -0400",
            "from smtp.corp.redhat.com\n\t(int-mx08.intmail.prod.int.rdu2.redhat.com [10.11.54.8])\n\t(using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits))\n\t(No client certificate requested)\n\tby mimecast-mx02.redhat.com (Postfix) with ESMTPS id 28262811E76\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tTue, 22 Mar 2022 02:42:17 +0000 (UTC)",
            "from fedora.redhat.com (unknown [10.39.192.3])\n\tby smtp.corp.redhat.com (Postfix) with ESMTP id 329ADC23DC8;\n\tTue, 22 Mar 2022 02:42:14 +0000 (UTC)"
        ],
        "DKIM-Signature": [
            "v=1; a=rsa-sha256; c=relaxed/simple; d=libcamera.org;\n\ts=mail; t=1647916941;\n\tbh=w/RQQQtXugf0ImdDioPF1chGj4quoqJ6Gi/7su00MYM=;\n\th=To:Date:In-Reply-To:References:Subject:List-Id:List-Unsubscribe:\n\tList-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:\n\tFrom;\n\tb=YnYSsa6B99QIkZlrtss4NQ2nasXAFWOnYB8qvzWHSPydkU/hcginFfAX8sqe4lC2e\n\tcPOMLxHsGstZGSVdLvrK5XPpX4R/HIoAp7bUuLOgOafBfNWYvV42LEk3PvyO5S0C9j\n\tqNUsdfKNHjM37ihwrvBieoiqUwr/y7Ylua/taCnrkRzG3N/8oNUIwGujQ/OrrPmKzN\n\tte3cqXGEu5SdvtRkbUrZqIH9ueHmPoYVGWQXQh0e/9v9DluC+WS4X0fkjAsV5SqDNP\n\tNZc1Z+hkE66KP+5l4ZCibS7/At3U4qr8JV+QZhJf5M5AcPUeuHfCc914YMwuAkWxT6\n\trtT5wvwZg9nfA==",
            "v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;\n\ts=mimecast20190719; t=1647916938;\n\th=from:from:reply-to:subject:subject:date:date:message-id:message-id:\n\tto:to:cc:cc:mime-version:mime-version:content-type:content-type:\n\tcontent-transfer-encoding:content-transfer-encoding:\n\tin-reply-to:in-reply-to:references:references;\n\tbh=QKG2HlLdbZT0ezlM0rN7QsRgKzX8kVv8TvQjHxCwuz8=;\n\tb=EeLcpo8jd8HIqB+zLZippCdvTqtqJ6oNVuZ66+qmUGdYATW3QychppORJ4V4Wtawrwdfre\n\twdyrvaw12NlZ1AzoOQQacaeKdhyzsmgyF3uArAf3w5PlhEQNcwdE7FI+GK6r4NcLynEbhj\n\tn7cBRRabbX5Cv73b/HDdoKQUXOY3g2Q="
        ],
        "Authentication-Results": [
            "lancelot.ideasonboard.com; dkim=pass (1024-bit key; \n\tunprotected) header.d=redhat.com\n\theader.i=@redhat.com header.b=\"EeLcpo8j\"; \n\tdkim-atps=neutral",
            "relay.mimecast.com;\n\tauth=pass smtp.auth=CUSA124A263 smtp.mailfrom=hpa@redhat.com"
        ],
        "X-MC-Unique": "Qe0R7LiWNLiXgdLWm54x_g-1",
        "To": "libcamera devel <libcamera-devel@lists.libcamera.org>",
        "Date": "Tue, 22 Mar 2022 10:41:53 +0800",
        "Message-Id": "<20220322024155.6528-3-hpa@redhat.com>",
        "In-Reply-To": "<20220322024155.6528-1-hpa@redhat.com>",
        "References": "<20220322024155.6528-1-hpa@redhat.com>",
        "MIME-Version": "1.0",
        "X-Scanned-By": "MIMEDefang 2.85 on 10.11.54.8",
        "X-Mimecast-Spam-Score": "0",
        "X-Mimecast-Originator": "redhat.com",
        "Content-Transfer-Encoding": "8bit",
        "Content-Type": "text/plain; charset=\"US-ASCII\"",
        "Subject": "[libcamera-devel] [PATCH 2/4] ipa: ipu3: af: AE and AWE lock\n\trequest flow when performing AF",
        "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": "Kate Hsuan via libcamera-devel <libcamera-devel@lists.libcamera.org>",
        "Reply-To": "Kate Hsuan <hpa@redhat.com>",
        "Errors-To": "libcamera-devel-bounces@lists.libcamera.org",
        "Sender": "\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"
    },
    "content": "When AF start to work, it requests to lock the AE and AWB to stabilize\nthe estimated variance of the AF scene. After the algorithm determinesthe\nlens position, the lock will be released immediately.\n\nSigned-off-by: Kate Hsuan <hpa@redhat.com>\n---\n src/ipa/ipu3/algorithms/af.cpp | 22 ++++++++++++++++++++++\n src/ipa/ipu3/algorithms/af.h   |  2 ++\n 2 files changed, 24 insertions(+)",
    "diff": "diff --git a/src/ipa/ipu3/algorithms/af.cpp b/src/ipa/ipu3/algorithms/af.cpp\nindex 40a8ddae..7b9cfd05 100644\n--- a/src/ipa/ipu3/algorithms/af.cpp\n+++ b/src/ipa/ipu3/algorithms/af.cpp\n@@ -197,6 +197,26 @@ int Af::configure(IPAContext &context, const IPAConfigInfo &configInfo)\n \treturn 0;\n }\n \n+/**\n+ * \\brief Lock AE and AWB\n+ * \\param[in] context The shared IPA context\n+ */\n+void Af::afLockAeAwb(IPAContext &context)\n+{\n+\tif (!context.frameContext.af.stable && ignoreCounter_ == 0)\n+\t\tcontext.configuration.af.requireAeAwbLock = true;\n+}\n+\n+/**\n+ * \\brief Unlock AE and AWB\n+ * \\param[in] context The shared IPA context\n+ */\n+void Af::afUnlockAeAwb(IPAContext &context)\n+{\n+\tif (context.frameContext.af.stable)\n+\t\tcontext.configuration.af.requireAeAwbLock = false;\n+}\n+\n /**\n  * \\brief AF coarse scan\n  *\n@@ -451,8 +471,10 @@ void Af::process(IPAContext &context, const ipu3_uapi_stats_3a *stats)\n \t\tcurrentVariance_ = afEstimateVariance(y_item, afRawBufferLen, true);\n \n \tif (!context.frameContext.af.stable) {\n+\t\tafLockAeAwb(context);\n \t\tafCoarseScan(context);\n \t\tafFineScan(context);\n+\t\tafUnlockAeAwb(context);\n \t} else {\n \t\tif (afIsOutOfFocus(context))\n \t\t\tafReset(context);\ndiff --git a/src/ipa/ipu3/algorithms/af.h b/src/ipa/ipu3/algorithms/af.h\nindex 13c7e0e8..c03a163f 100644\n--- a/src/ipa/ipu3/algorithms/af.h\n+++ b/src/ipa/ipu3/algorithms/af.h\n@@ -55,6 +55,8 @@ private:\n \tdouble afEstimateVariance(y_table_item_t *y_item, uint32_t len,\n \t\t\t\t  bool isY1);\n \tbool afIsOutOfFocus(IPAContext context);\n+\tvoid afLockAeAwb(IPAContext &context);\n+\tvoid afUnlockAeAwb(IPAContext &context);\n \n \t/* VCM step configuration. It is the current setting of the VCM step. */\n \tuint32_t focus_;\n",
    "prefixes": [
        "libcamera-devel",
        "2/4"
    ]
}