Patch Detail
Show a patch.
GET /api/1.1/patches/19811/?format=api
{ "id": 19811, "url": "https://patchwork.libcamera.org/api/1.1/patches/19811/?format=api", "web_url": "https://patchwork.libcamera.org/patch/19811/", "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": "<20240326112419.503286-11-mzamazal@redhat.com>", "date": "2024-03-26T11:24:13", "name": "[RFC,10/11] config: Allow enabling software ISP in runtime", "commit_ref": null, "pull_url": null, "state": "superseded", "archived": false, "hash": "ca88fa7d4b2d564baff3578a305c3f3ecad08a35", "submitter": { "id": 177, "url": "https://patchwork.libcamera.org/api/1.1/people/177/?format=api", "name": "Milan Zamazal", "email": "mzamazal@redhat.com" }, "delegate": null, "mbox": "https://patchwork.libcamera.org/patch/19811/mbox/", "series": [ { "id": 4241, "url": "https://patchwork.libcamera.org/api/1.1/series/4241/?format=api", "web_url": "https://patchwork.libcamera.org/project/libcamera/list/?series=4241", "date": "2024-03-26T11:24:03", "name": "Add global configuration file", "version": 1, "mbox": "https://patchwork.libcamera.org/series/4241/mbox/" } ], "comments": "https://patchwork.libcamera.org/api/patches/19811/comments/", "check": "pending", "checks": "https://patchwork.libcamera.org/api/patches/19811/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 F3449BD160\n\tfor <parsemail@patchwork.libcamera.org>;\n\tTue, 26 Mar 2024 11:26:33 +0000 (UTC)", "from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 6EC5763365;\n\tTue, 26 Mar 2024 12:26:33 +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 C58776331B\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tTue, 26 Mar 2024 12:26:24 +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.3, cipher=TLS_AES_256_GCM_SHA384) id\n\tus-mta-379-Vu89Uua8NBeuQ7bjw8crpQ-1; Tue, 26 Mar 2024 07:26:22 -0400", "from smtp.corp.redhat.com\n\t(int-mx01.intmail.prod.int.rdu2.redhat.com [10.11.54.1])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\tkey-exchange X25519 server-signature RSA-PSS (2048 bits)\n\tserver-digest SHA256) (No client certificate requested)\n\tby mimecast-mx02.redhat.com (Postfix) with ESMTPS id CD21F800265\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tTue, 26 Mar 2024 11:26:21 +0000 (UTC)", "from nuthatch.brq.redhat.com (unknown [10.43.17.39])\n\tby smtp.corp.redhat.com (Postfix) with ESMTP id 5D4F53C54;\n\tTue, 26 Mar 2024 11:26:21 +0000 (UTC)" ], "Authentication-Results": "lancelot.ideasonboard.com; dkim=pass (1024-bit key;\n\tunprotected) header.d=redhat.com header.i=@redhat.com\n\theader.b=\"PhY+slMV\"; dkim-atps=neutral", "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;\n\ts=mimecast20190719; t=1711452383;\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=P9FciB58ZFfx2jfOCnb696OMwmJV8EDIJAEbqLWPV6A=;\n\tb=PhY+slMVlf6TU/od+EIEuCP0O8rZ7SPc2nV8U8O4iE2p9JX2YNgMomgBRjM5rc3QXFcix1\n\tYw0EsMQjc8jPUr2Eb4wHRC/t79TaCe1betCSkq/vQdwnBWyx4G6IElfkAy0eFzgYKY4vBz\n\t814/cqFkr2FF92LpdiopbXQxc/8nx0Y=", "X-MC-Unique": "Vu89Uua8NBeuQ7bjw8crpQ-1", "From": "Milan Zamazal <mzamazal@redhat.com>", "To": "libcamera-devel@lists.libcamera.org", "Cc": "Milan Zamazal <mzamazal@redhat.com>", "Subject": "[RFC PATCH 10/11] config: Allow enabling software ISP in runtime", "Date": "Tue, 26 Mar 2024 12:24:13 +0100", "Message-ID": "<20240326112419.503286-11-mzamazal@redhat.com>", "In-Reply-To": "<20240326112419.503286-1-mzamazal@redhat.com>", "References": "<20240326112419.503286-1-mzamazal@redhat.com>", "MIME-Version": "1.0", "X-Scanned-By": "MIMEDefang 3.4.1 on 10.11.54.1", "X-Mimecast-Spam-Score": "0", "X-Mimecast-Originator": "redhat.com", "Content-Transfer-Encoding": "8bit", "Content-Type": "text/plain; charset=\"US-ASCII\"; x-default=true", "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>", "Errors-To": "libcamera-devel-bounces@lists.libcamera.org", "Sender": "\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>" }, "content": "This patch allows enabling or disabling software ISP in runtime in addition to\ncompile time. This can be useful for software ISP testing on various platforms\nas well as for overriding the defaults in case the defaults don't work\nwell (e.g. hardware ISP may or may not work on i.MX8MP depending on the kernel\nand libcamera patches present in the given system).\n\nThe configuration is specified as follows:\n\n configuration:\n pipelines:\n simple:\n supportedDevices:\n - driver: DRIVER-NAME\n softwareIsp: BOOLEAN\n - ...\n\nFor example:\n\n configuration:\n pipelines:\n simple:\n supportedDevices:\n - driver: mxc-isi\n softwareIsp: true\n\nThe overall configuration of enabling or disabling software ISP may get dropped\nin future but this patch is still useful in the meantime.\n\nSigned-off-by: Milan Zamazal <mzamazal@redhat.com>\n---\n src/libcamera/pipeline/simple/simple.cpp | 10 ++++++++++\n 1 file changed, 10 insertions(+)", "diff": "diff --git a/src/libcamera/pipeline/simple/simple.cpp b/src/libcamera/pipeline/simple/simple.cpp\nindex 22639407..23e3f9da 100644\n--- a/src/libcamera/pipeline/simple/simple.cpp\n+++ b/src/libcamera/pipeline/simple/simple.cpp\n@@ -32,6 +32,7 @@\n #include \"libcamera/internal/camera_sensor.h\"\n #include \"libcamera/internal/converter.h\"\n #include \"libcamera/internal/device_enumerator.h\"\n+#include \"libcamera/internal/global_configuration.h\"\n #include \"libcamera/internal/media_device.h\"\n #include \"libcamera/internal/pipeline_handler.h\"\n #include \"libcamera/internal/software_isp/software_isp.h\"\n@@ -1532,6 +1533,15 @@ bool SimplePipelineHandler::match(DeviceEnumerator *enumerator)\n \t}\n \n \tswIspEnabled_ = info->swIspEnabled;\n+\tfor (GlobalConfiguration::Configuration entry :\n+\t GlobalConfiguration::configuration()[\"pipelines\"][\"simple\"][\"supportedDevices\"].asList()) {\n+\t\tauto name = entry[\"driver\"].get<std::string>();\n+\t\tif (name.has_value() and !name.value().compare(info->driver)) {\n+\t\t\tswIspEnabled_ = entry[\"softwareIsp\"].get<bool>().value_or(swIspEnabled_);\n+\t\t\tLOG(SimplePipeline, Debug) << \"Overriding software ISP to \" << swIspEnabled_;\n+\t\t\tbreak;\n+\t\t}\n+\t}\n \n \t/* Locate the sensors. */\n \tstd::vector<MediaEntity *> sensors = locateSensors();\n", "prefixes": [ "RFC", "10/11" ] }