From patchwork Fri Jan 24 21:57:58 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Milan Zamazal X-Patchwork-Id: 22646 Return-Path: X-Original-To: parsemail@patchwork.libcamera.org Delivered-To: parsemail@patchwork.libcamera.org Received: from lancelot.ideasonboard.com (lancelot.ideasonboard.com [92.243.16.209]) by patchwork.libcamera.org (Postfix) with ESMTPS id 6576AC322E for ; Fri, 24 Jan 2025 21:58:50 +0000 (UTC) Received: from lancelot.ideasonboard.com (localhost [IPv6:::1]) by lancelot.ideasonboard.com (Postfix) with ESMTP id D66556856F; Fri, 24 Jan 2025 22:58:49 +0100 (CET) Authentication-Results: lancelot.ideasonboard.com; dkim=pass (1024-bit key; unprotected) header.d=redhat.com header.i=@redhat.com header.b="a3f7byDR"; dkim-atps=neutral Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) by lancelot.ideasonboard.com (Postfix) with ESMTPS id 9313868566 for ; Fri, 24 Jan 2025 22:58:41 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1737755920; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=hxkwqm2DwyvoW4n6WNg+fr6+/JngK4l8jPqp3i7Cc2g=; b=a3f7byDRIHkeEWKwQPxkTZJA93fxwn/4tSYJNUymJhD46cR/SFdQaXA8LaSyeO8rM7y+Qg B3p73WR50M/uX3cLBjRFRq7O1WesqiCKBVdLd16cFul0BEkWtO4YHm1zo1h10ae8MFkmww F9jaQcYMw5hSQwM+FKp713Ko92SqM3g= Received: from mx-prod-mc-06.mail-002.prod.us-west-2.aws.redhat.com (ec2-35-165-154-97.us-west-2.compute.amazonaws.com [35.165.154.97]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-695-8LlmnVsSNFqas74KJIz0hQ-1; Fri, 24 Jan 2025 16:58:39 -0500 X-MC-Unique: 8LlmnVsSNFqas74KJIz0hQ-1 X-Mimecast-MFC-AGG-ID: 8LlmnVsSNFqas74KJIz0hQ Received: from mx-prod-int-08.mail-002.prod.us-west-2.aws.redhat.com (mx-prod-int-08.mail-002.prod.us-west-2.aws.redhat.com [10.30.177.111]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mx-prod-mc-06.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id 65A8918009B8 for ; Fri, 24 Jan 2025 21:58:38 +0000 (UTC) Received: from mzamazal-thinkpadp1gen3.tpbc.com (unknown [10.39.192.49]) by mx-prod-int-08.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTP id 665061800344; Fri, 24 Jan 2025 21:58:37 +0000 (UTC) From: Milan Zamazal To: libcamera-devel@lists.libcamera.org Cc: Milan Zamazal Subject: [RFC PATCH v2 07/13] libcamera: simple: Consider raw output configurations 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-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: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: libcamera-devel-bounces@lists.libcamera.org Sender: "libcamera-devel" If there is no software ISP, all the output formats and sizes are relevant. If there is software ISP, take only software ISP configurations if there is no raw stream and only raw configurations (otherwise it wouldn't be possible to produce a correct passthrough output) if there is a raw stream. TODO: This change looks dubious but it works. Some form of filtering is definitely needed otherwise the followup overlap check leads to mess and incorrect output. Signed-off-by: Milan Zamazal --- src/libcamera/pipeline/simple/simple.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/libcamera/pipeline/simple/simple.cpp b/src/libcamera/pipeline/simple/simple.cpp index 300ebbc0..87a2043f 100644 --- a/src/libcamera/pipeline/simple/simple.cpp +++ b/src/libcamera/pipeline/simple/simple.cpp @@ -1215,7 +1215,7 @@ SimplePipelineHandler::generateConfiguration(Camera *camera, Span> formats; for (const SimpleCameraData::Configuration &cfg : data->configs_) - if (static_cast(data->swIsp_) == cfg.swisp) + if (!data->swIsp_ || data->rawRequested_ != cfg.swisp) for (PixelFormat format : cfg.outputFormats) formats[format].push_back(cfg.outputSizes);