{"id":22646,"url":"https://patchwork.libcamera.org/api/patches/22646/?format=json","web_url":"https://patchwork.libcamera.org/patch/22646/","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":"<20250124215806.158024-8-mzamazal@redhat.com>","date":"2025-01-24T21:57:58","name":"[RFC,v2,07/13] libcamera: simple: Consider raw output configurations","commit_ref":null,"pull_url":null,"state":"superseded","archived":false,"hash":"cd248e2b66d8471eeca607185970fa1910cee71e","submitter":{"id":177,"url":"https://patchwork.libcamera.org/api/people/177/?format=json","name":"Milan Zamazal","email":"mzamazal@redhat.com"},"delegate":null,"mbox":"https://patchwork.libcamera.org/patch/22646/mbox/","series":[{"id":4970,"url":"https://patchwork.libcamera.org/api/series/4970/?format=json","web_url":"https://patchwork.libcamera.org/project/libcamera/list/?series=4970","date":"2025-01-24T21:57:51","name":"Enable raw streams with software ISP","version":2,"mbox":"https://patchwork.libcamera.org/series/4970/mbox/"}],"comments":"https://patchwork.libcamera.org/api/patches/22646/comments/","check":"pending","checks":"https://patchwork.libcamera.org/api/patches/22646/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 6576AC322E\n\tfor <parsemail@patchwork.libcamera.org>;\n\tFri, 24 Jan 2025 21:58:50 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id D66556856F;\n\tFri, 24 Jan 2025 22:58:49 +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 9313868566\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tFri, 24 Jan 2025 22:58:41 +0100 (CET)","from mx-prod-mc-06.mail-002.prod.us-west-2.aws.redhat.com\n\t(ec2-35-165-154-97.us-west-2.compute.amazonaws.com [35.165.154.97])\n\tby relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3,\n\tcipher=TLS_AES_256_GCM_SHA384) id us-mta-695-8LlmnVsSNFqas74KJIz0hQ-1;\n\tFri, 24 Jan 2025 16:58:39 -0500","from mx-prod-int-08.mail-002.prod.us-west-2.aws.redhat.com\n\t(mx-prod-int-08.mail-002.prod.us-west-2.aws.redhat.com\n\t[10.30.177.111])\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 mx-prod-mc-06.mail-002.prod.us-west-2.aws.redhat.com (Postfix)\n\twith ESMTPS\n\tid 65A8918009B8 for <libcamera-devel@lists.libcamera.org>;\n\tFri, 24 Jan 2025 21:58:38 +0000 (UTC)","from mzamazal-thinkpadp1gen3.tpbc.com (unknown [10.39.192.49])\n\tby mx-prod-int-08.mail-002.prod.us-west-2.aws.redhat.com (Postfix)\n\twith ESMTP id 665061800344; Fri, 24 Jan 2025 21:58:37 +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=\"a3f7byDR\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;\n\ts=mimecast20190719; t=1737755920;\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=hxkwqm2DwyvoW4n6WNg+fr6+/JngK4l8jPqp3i7Cc2g=;\n\tb=a3f7byDRIHkeEWKwQPxkTZJA93fxwn/4tSYJNUymJhD46cR/SFdQaXA8LaSyeO8rM7y+Qg\n\tB3p73WR50M/uX3cLBjRFRq7O1WesqiCKBVdLd16cFul0BEkWtO4YHm1zo1h10ae8MFkmww\n\tF9jaQcYMw5hSQwM+FKp713Ko92SqM3g=","X-MC-Unique":"8LlmnVsSNFqas74KJIz0hQ-1","X-Mimecast-MFC-AGG-ID":"8LlmnVsSNFqas74KJIz0hQ","From":"Milan Zamazal <mzamazal@redhat.com>","To":"libcamera-devel@lists.libcamera.org","Cc":"Milan Zamazal <mzamazal@redhat.com>","Subject":"[RFC PATCH v2 07/13] libcamera: simple: Consider raw output\n\tconfigurations","Date":"Fri, 24 Jan 2025 22:57:58 +0100","Message-ID":"<20250124215806.158024-8-mzamazal@redhat.com>","In-Reply-To":"<20250124215806.158024-1-mzamazal@redhat.com>","References":"<20250124215806.158024-1-mzamazal@redhat.com>","MIME-Version":"1.0","X-Scanned-By":"MIMEDefang 3.4.1 on 10.30.177.111","X-Mimecast-Spam-Score":"0","X-Mimecast-MFC-PROC-ID":"e2RD9TCakXfdQvhduY1qPciIw7Za1HF2PXocTJO6tS8_1737755918","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":"If there is no software ISP, all the output formats and sizes are\nrelevant.  If there is software ISP, take only software ISP\nconfigurations if there is no raw stream and only raw\nconfigurations (otherwise it wouldn't be possible to produce a correct\npassthrough output) if there is a raw stream.\n\nTODO: This change looks dubious but it works.  Some form of filtering is\ndefinitely needed otherwise the followup overlap check leads to mess and\nincorrect output.\n\nSigned-off-by: Milan Zamazal <mzamazal@redhat.com>\n---\n src/libcamera/pipeline/simple/simple.cpp | 2 +-\n 1 file changed, 1 insertion(+), 1 deletion(-)","diff":"diff --git a/src/libcamera/pipeline/simple/simple.cpp b/src/libcamera/pipeline/simple/simple.cpp\nindex 300ebbc0..87a2043f 100644\n--- a/src/libcamera/pipeline/simple/simple.cpp\n+++ b/src/libcamera/pipeline/simple/simple.cpp\n@@ -1215,7 +1215,7 @@ SimplePipelineHandler::generateConfiguration(Camera *camera, Span<const StreamRo\n \tstd::map<PixelFormat, std::vector<SizeRange>> formats;\n \n \tfor (const SimpleCameraData::Configuration &cfg : data->configs_)\n-\t\tif (static_cast<bool>(data->swIsp_) == cfg.swisp)\n+\t\tif (!data->swIsp_ || data->rawRequested_ != cfg.swisp)\n \t\t\tfor (PixelFormat format : cfg.outputFormats)\n \t\t\t\tformats[format].push_back(cfg.outputSizes);\n \n","prefixes":["RFC","v2","07/13"]}