Show a patch.

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

{
    "id": 17691,
    "url": "https://patchwork.libcamera.org/api/1.1/patches/17691/?format=api",
    "web_url": "https://patchwork.libcamera.org/patch/17691/",
    "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": "<20221027055515.321791-4-nicholas@rothemail.net>",
    "date": "2022-10-27T05:55:08",
    "name": "[libcamera-devel,03/10] ipa: add rkisp1 metadata to fix Android HAL",
    "commit_ref": null,
    "pull_url": null,
    "state": "superseded",
    "archived": false,
    "hash": "6aa0a180d461b636224e0c9690792db4a44a5264",
    "submitter": {
        "id": 97,
        "url": "https://patchwork.libcamera.org/api/1.1/people/97/?format=api",
        "name": "Nicolas Dufresne via libcamera-devel",
        "email": "libcamera-devel@lists.libcamera.org"
    },
    "delegate": null,
    "mbox": "https://patchwork.libcamera.org/patch/17691/mbox/",
    "series": [
        {
            "id": 3579,
            "url": "https://patchwork.libcamera.org/api/1.1/series/3579/?format=api",
            "web_url": "https://patchwork.libcamera.org/project/libcamera/list/?series=3579",
            "date": "2022-10-27T05:55:08",
            "name": "[libcamera-devel,01/10] ipa: workaround libcxx duration limitation",
            "version": 1,
            "mbox": "https://patchwork.libcamera.org/series/3579/mbox/"
        }
    ],
    "comments": "https://patchwork.libcamera.org/api/patches/17691/comments/",
    "check": "pending",
    "checks": "https://patchwork.libcamera.org/api/patches/17691/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 54BE6BD16B\n\tfor <parsemail@patchwork.libcamera.org>;\n\tThu, 27 Oct 2022 05:55:26 +0000 (UTC)",
            "from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 17C2662F77;\n\tThu, 27 Oct 2022 07:55:26 +0200 (CEST)",
            "from mail-oa1-x35.google.com (mail-oa1-x35.google.com\n\t[IPv6:2001:4860:4864:20::35])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 8474B61F4A\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tThu, 27 Oct 2022 07:55:24 +0200 (CEST)",
            "by mail-oa1-x35.google.com with SMTP id\n\t586e51a60fabf-13be3ef361dso641338fac.12\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tWed, 26 Oct 2022 22:55:24 -0700 (PDT)",
            "from nroth-pc.attlocal.net\n\t([2600:1700:20:20c0:6406:fc7a:e46d:1666])\n\tby smtp.gmail.com with ESMTPSA id\n\t9-20020a9d0c09000000b00661a05691fasm140021otr.79.2022.10.26.22.55.23\n\t(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);\n\tWed, 26 Oct 2022 22:55:23 -0700 (PDT)"
        ],
        "DKIM-Signature": [
            "v=1; a=rsa-sha256; c=relaxed/simple; d=libcamera.org;\n\ts=mail; t=1666850126;\n\tbh=0m67fw+SrZFwBQwhEdqesJpIEX8+9fgjsIjtQ+CklB8=;\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:Cc:\n\tFrom;\n\tb=cldq/4RRpjuaz+HXPYs2RBCw/WahprLHcj2YTXl5TUOIHgadaT8fZwCYYUp0/TWpS\n\tIWpW8FzTh7lXWJyDkDkHsYfkphgBZ80S37w5HtZO7oks/j0MX80QlNOViygmSEG/ZI\n\tpmhoYrWmmjeYW3MXpDIAL52LQi/3suL6y82AzWhsIKqH8zVKiyM4l24UyA5dE9CxMj\n\tUIiN3f9KMi7dvgsDoGA+Ct6nm47n+mY9LUg+u3boK2hG1u/8/0AeCze9EGlU0rHCHE\n\td6WBKHMZrOXzkLLL1Z0c1qL9nJHhOx9BYma6umnpi7M33IjVYtbLngMl1Aruv2xH1P\n\tsZaS7xHuMvOXw==",
            "v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=rothemail-net.20210112.gappssmtp.com; s=20210112;\n\th=content-transfer-encoding:mime-version:reply-to:references\n\t:in-reply-to:message-id:date:subject:cc:to:from:from:to:cc:subject\n\t:date:message-id:reply-to;\n\tbh=bddDm6KAUYg6vwJZsSW+qIhD1mJ4mNuTn6ftM1wZAnE=;\n\tb=Zsr/77U8td6XZQayEw+fSgKBCczLt6rVh3LAh2RmqMNs5GWTRqyh1kg9hVpeSQdH+s\n\tQSQAfMua0Y7cjBG3I8tsIj11SaOT9jFzjwqdN6WS49THez5+a2EqGVK6V/HmHL9aIUR+\n\tUMOHnDI18xXMv1yTqvhy3SFXmd5WGscKIiR54+mg1tZnupwtOAWkt+aT+JhWciseFzAC\n\tpt1khF7a9An/KHnlCIGQjfyLsHvidGG8XMwGsJagJs+7wsMrYx9Zg4YEKpCQ09i4eACy\n\tNf+cFH21yno4nUYy664x5cB/JiKj3vX2yQkyGCsHXzuVmKykBD7nqiQ0SWcVn0gJgUai\n\t2NbQ=="
        ],
        "Authentication-Results": "lancelot.ideasonboard.com; dkim=pass (2048-bit key; \n\tunprotected)\n\theader.d=rothemail-net.20210112.gappssmtp.com\n\theader.i=@rothemail-net.20210112.gappssmtp.com header.b=\"Zsr/77U8\"; \n\tdkim-atps=neutral",
        "X-Google-DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20210112;\n\th=content-transfer-encoding:mime-version:reply-to:references\n\t:in-reply-to:message-id:date:subject:cc:to:from:x-gm-message-state\n\t:from:to:cc:subject:date:message-id:reply-to;\n\tbh=bddDm6KAUYg6vwJZsSW+qIhD1mJ4mNuTn6ftM1wZAnE=;\n\tb=LWCfl5cbXptJcSKkjOk42iM1zFhW83WV8qEfgcrdSaKscUkNjAJWwPW6eiMe8usJb4\n\tsGHlss8EldBqoqT6n7lPJC4tc4F6bSJriBrXtZAwhmtMnjHzdZPyQrgZiQfVEs3wA6Lh\n\t9cJUlD8gM2ycslehJC46DzoEZrQaTFJGK0umNj7NJH9FkOFfbHHJ7c20s0Cyx4jOA4K2\n\tegkITbGqpLqy2hBoUALzp4DcDZX3EwJ1//rAd7sVcr853SNl9SKRXJ9a2MWVx3cpw3UN\n\tgf/dqPHABpBQJZ0TcsnUk86lyLD4DRmvj9uKsfG2Huf4ubeKx4P6ImRwB9I1tgFNkdbc\n\td0Yw==",
        "X-Gm-Message-State": "ACrzQf2pmwPJhlK4WK+wAjXwV/IGXwtmpDinSgkB8Sw7vhjc2+B3dwSd\n\tZAgZNH4UhKlTI+hRa6DVY0uzLdS7nPLcPkLy",
        "X-Google-Smtp-Source": "AMsMyM7k07vksO2e7mYGv8fSaBKXNXqWjpt/20NIfgD9hmjOijfzlIWSwBSyyEPyD9sma0Ab5Hjh9A==",
        "X-Received": "by 2002:a05:6870:51f:b0:130:fee6:8295 with SMTP id\n\tj31-20020a056870051f00b00130fee68295mr4476868oao.49.1666850123771; \n\tWed, 26 Oct 2022 22:55:23 -0700 (PDT)",
        "To": "libcamera-devel@lists.libcamera.org",
        "Date": "Thu, 27 Oct 2022 00:55:08 -0500",
        "Message-Id": "<20221027055515.321791-4-nicholas@rothemail.net>",
        "X-Mailer": "git-send-email 2.34.1",
        "In-Reply-To": "<20221027055515.321791-1-nicholas@rothemail.net>",
        "References": "<libcamera Android Enhancements>\n\t<20221027055515.321791-1-nicholas@rothemail.net>",
        "MIME-Version": "1.0",
        "Content-Transfer-Encoding": "8bit",
        "Subject": "[libcamera-devel] [PATCH 03/10] ipa: add rkisp1 metadata to fix\n\tAndroid HAL",
        "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": "Nicholas Roth via libcamera-devel <libcamera-devel@lists.libcamera.org>",
        "Reply-To": "libcamera-devel@lists.libcamera.org",
        "Cc": "nicholas@rothemail.net",
        "Errors-To": "libcamera-devel-bounces@lists.libcamera.org",
        "Sender": "\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"
    },
    "content": "From: Nicholas Roth <nicholas@rothemail.net>\n\nCurrently, the Android HAL does not work on rkisp1-based devices because\nrequired FrameDurationLimits metadata is missing from the ISP\nimplementation.\n\nThis change introduces sensible defaults for FrameDurationLimits that\nshould generally work most of the time.\n\nIn theory, it should be possible to implement more sophisticated logic\nto detect frame durations. The appropriate API hooks for doing so exist\nand are used in IPAIPU3::updateControls(), although the implementation\nmay be suspect. This is left as future work.\n\nSigned-off-by: Nicholas Roth <nicholas@rothemail.net>\n---\n src/ipa/rkisp1/rkisp1.cpp | 7 +++++++\n 1 file changed, 7 insertions(+)",
    "diff": "diff --git a/src/ipa/rkisp1/rkisp1.cpp b/src/ipa/rkisp1/rkisp1.cpp\nindex ba3c547e..c536852c 100644\n--- a/src/ipa/rkisp1/rkisp1.cpp\n+++ b/src/ipa/rkisp1/rkisp1.cpp\n@@ -100,6 +100,13 @@ const ControlInfoMap::Map rkisp1Controls{\n \t{ &controls::Contrast, ControlInfo(0.0f, 1.993f) },\n \t{ &controls::Saturation, ControlInfo(0.0f, 1.993f) },\n \t{ &controls::Sharpness, ControlInfo(0.0f, 10.0f, 1.0f) },\n+\t/* libcamera requires a fixed value for minimum frame duration,\n+\t * but this depends on the frame size and the rkisp1 device datasheets\n+\t * measure this in pixels per second. Neither the datasheets nor the driver\n+\t * specify a maximum. The minimum below is for 1920x1920. The maximum\n+\t * corresponds to two seconds. */\n+\t{ &controls::FrameDurationLimits, ControlInfo(48505, 2000000) },\n+\t{ &controls::draft::MaxLatency, ControlInfo(0) },\n \t{ &controls::draft::NoiseReductionMode, ControlInfo(controls::draft::NoiseReductionModeValues) },\n };\n \n",
    "prefixes": [
        "libcamera-devel",
        "03/10"
    ]
}