Show a patch.

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

{
    "id": 17715,
    "url": "https://patchwork.libcamera.org/api/1.1/patches/17715/?format=api",
    "web_url": "https://patchwork.libcamera.org/patch/17715/",
    "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": "<20221028031726.4849-4-nicholas@rothemail.net>",
    "date": "2022-10-28T03:17:19",
    "name": "[libcamera-devel,v5,03/10] ipa: add rkisp1 metadata to fix Android HAL",
    "commit_ref": null,
    "pull_url": null,
    "state": "new",
    "archived": false,
    "hash": "98314b8c71608a188b3af3e3bd0937a8f243006d",
    "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/17715/mbox/",
    "series": [
        {
            "id": 3583,
            "url": "https://patchwork.libcamera.org/api/1.1/series/3583/?format=api",
            "web_url": "https://patchwork.libcamera.org/project/libcamera/list/?series=3583",
            "date": "2022-10-28T03:17:17",
            "name": "[libcamera-devel,v5,01/10] ipa: workaround libcxx duration limitation",
            "version": 5,
            "mbox": "https://patchwork.libcamera.org/series/3583/mbox/"
        }
    ],
    "comments": "https://patchwork.libcamera.org/api/patches/17715/comments/",
    "check": "pending",
    "checks": "https://patchwork.libcamera.org/api/patches/17715/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 B7CA2BD16B\n\tfor <parsemail@patchwork.libcamera.org>;\n\tFri, 28 Oct 2022 03:17:38 +0000 (UTC)",
            "from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 56B2862FC6;\n\tFri, 28 Oct 2022 05:17:38 +0200 (CEST)",
            "from mail-oi1-x234.google.com (mail-oi1-x234.google.com\n\t[IPv6:2607:f8b0:4864:20::234])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id AD05962FAA\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tFri, 28 Oct 2022 05:17:33 +0200 (CEST)",
            "by mail-oi1-x234.google.com with SMTP id t10so4922432oib.5\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tThu, 27 Oct 2022 20:17:33 -0700 (PDT)",
            "from nroth-pc.attlocal.net\n\t([2600:1700:20:20c0:293a:90ce:6463:244d])\n\tby smtp.gmail.com with ESMTPSA id\n\tfp19-20020a056870659300b0013626c1a5f6sm1527738oab.10.2022.10.27.20.17.31\n\t(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);\n\tThu, 27 Oct 2022 20:17:31 -0700 (PDT)"
        ],
        "DKIM-Signature": [
            "v=1; a=rsa-sha256; c=relaxed/simple; d=libcamera.org;\n\ts=mail; t=1666927058;\n\tbh=GFM5bzyejFGdCmfumkg5WZW+OFQTbKxh3hfs8kuuDvY=;\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=h4DGxSwQA0nIqZSAIunwl2NGhmQJ1BWgPkMSFstPABEebUImRVIPOWGZKjVjUmLvU\n\tXkASA/JUPfyFqX5ogGDx85zdYX1IFN3QOLlJhjmCtt28bBkis4TQpOxCuinGa1MoOz\n\tATMlIAU5D0w1eDlr0vsaFnf1nkay6dKifRoeMKZyG2c1WESdMPpd6JNntA6x3qV6k+\n\t1WH9K/kOGkPA8skuKJCumuXtB9CfcC3NJ/uBJP8V/vgeU12mYpFOySvSMMcUOqfpJI\n\tprRynBq5T+xfjDxnb8CdmJqfB7i4vuUm0saSbQp35ZyKndPNxWT737sSuLFE3lYpvQ\n\t7UDdTW2vinPIg==",
            "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=o0jPoObmv+RL/G51+tYqdL0a/lbBQwESyygD2hJKwPI=;\n\tb=M+XxCly7EOWPRmGfTsH0gTFtlbPC4B1Q9boO48n5/qBpkAtm8NYDehxMQqlXn7dSH8\n\tnpaHv4LEsCViOywAjW9RCIq5HJwEZYUhwxUreSHOZ81UEFFACLNzQR3SSMCjWNcF2aZ5\n\tt3JiWKneYTOcWJPNEemZh3UjhMCoJGH+QvjjJMxme+hAccCgMBwBitpNskO13S11zdrT\n\t4B1us1wxQjelWlId52COdWdOnOTWxbTFA0snV88iNRd5zPTXpq+JI/ohhaZKRoONHbvt\n\toNE5+PkW8tbrxRSpnfdnVlSE+fJ8YQmzY17t2VOj7Hr+0LTTU6grsJNQi2lACcNi6WOM\n\tw+nw=="
        ],
        "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=\"M+XxCly7\"; \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=o0jPoObmv+RL/G51+tYqdL0a/lbBQwESyygD2hJKwPI=;\n\tb=bPXUUfmFYtZluVllnc1+IqPBU9Ix15Jle8zKNT0+UCt1Cgu1Nf++BTRMnNn6TIliEm\n\tteKyQDcPa9cOFYaUR0FFOyzlyOVwcur7q78Tt2jZtbG9Ro3stHMEfIrhTQlG5AhJNYTW\n\tOkcn/Ergm1mmev9EF3pjyX+63wc1WXCVSmJAoSb26pOewDKyLSQJqGNg1R5x8cDvRS30\n\t2i/9QZNeRlQIZDmLn+S8UGbQliO++3k8bmehzg/0TTJzIgW4ytu/+cnNItrFVaJe92/E\n\tO7GAFDMVtWmZZGPd3qwpqU5SaECxbiO0LHHUndySUA8SfB6pSK6AwSBHJdVZUfVKb665\n\tKBnQ==",
        "X-Gm-Message-State": "ACrzQf3JyJtRqGwZUP3MJ/BUIWs95y7r81L3VxPK260qgzaAgH2KNwDi\n\tOCMO0hscYZ2gTfzoOP2OhECR4kISiEpcXXdyX/I=",
        "X-Google-Smtp-Source": "AMsMyM5kt5yFiksTUut6yw0Z0r6cZxQp2Um5R4oZl7YeSlFGjaRhpR1DeudpB9tW3exaQtPS59Qqfw==",
        "X-Received": "by 2002:a05:6808:128b:b0:354:c73a:7241 with SMTP id\n\ta11-20020a056808128b00b00354c73a7241mr6745729oiw.34.1666927052031; \n\tThu, 27 Oct 2022 20:17:32 -0700 (PDT)",
        "To": "libcamera-devel@lists.libcamera.org",
        "Date": "Thu, 27 Oct 2022 22:17:19 -0500",
        "Message-Id": "<20221028031726.4849-4-nicholas@rothemail.net>",
        "X-Mailer": "git-send-email 2.34.1",
        "In-Reply-To": "<20221028031726.4849-1-nicholas@rothemail.net>",
        "References": "<20221027224135.348115-1-nicholas@rothemail.net>\n\t<20221028031726.4849-1-nicholas@rothemail.net>",
        "MIME-Version": "1.0",
        "Content-Transfer-Encoding": "8bit",
        "Subject": "[libcamera-devel] [PATCH v5 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 | 6 ++++++\n 1 file changed, 6 insertions(+)",
    "diff": "diff --git a/src/ipa/rkisp1/rkisp1.cpp b/src/ipa/rkisp1/rkisp1.cpp\nindex ba3c547e..dd12c341 100644\n--- a/src/ipa/rkisp1/rkisp1.cpp\n+++ b/src/ipa/rkisp1/rkisp1.cpp\n@@ -100,6 +100,12 @@ 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::NoiseReductionMode, ControlInfo(controls::draft::NoiseReductionModeValues) },\n };\n \n",
    "prefixes": [
        "libcamera-devel",
        "v5",
        "03/10"
    ]
}