From patchwork Thu May 26 08:27:28 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Cheng-Hao Yang X-Patchwork-Id: 16049 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 E6525BD161 for ; Thu, 26 May 2022 08:27:49 +0000 (UTC) Received: from lancelot.ideasonboard.com (localhost [IPv6:::1]) by lancelot.ideasonboard.com (Postfix) with ESMTP id ECF8965664; Thu, 26 May 2022 10:27:48 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=libcamera.org; s=mail; t=1653553669; bh=KTnUvsEdC2wcZfqGJs/NaoB0WMtCgULYjtc22Ai0qIg=; h=To:Date:Subject:List-Id:List-Unsubscribe:List-Archive:List-Post: List-Help:List-Subscribe:From:Reply-To:Cc:From; b=uNVP/Fo/mey/mcyetBegQ2AJMFgkLgwgR5olz66oTKc8rGvoH9nDAXkxalNudYFKC UQzPmFH6XxOYYjdhFOnlgqKyY8IwhvrORTEcIsc19JBmqJQRio5HiJc89/ldPKnO7c 06J+b6/uZcBYD1xstnBHco2a07Wx3FbIhae8o32Cy4v31MOebticBsBv1qcb+XsCX7 AfEfglQVP4Ewmis8EKONDe2ZjFJHG2ewkDluEBepkOewgh6k4UEo6FFyIvurqlM9cj 7kR1x/19FAxvnftE1TF+0WsPkWH32rqUR/QWZwDfunSgm7hABbN/G7xpmFR347du+i lo3lLVFcBaIjA== Received: from mail-pj1-x1032.google.com (mail-pj1-x1032.google.com [IPv6:2607:f8b0:4864:20::1032]) by lancelot.ideasonboard.com (Postfix) with ESMTPS id F1FC96565D for ; Thu, 26 May 2022 10:27:46 +0200 (CEST) Authentication-Results: lancelot.ideasonboard.com; dkim=pass (1024-bit key; unprotected) header.d=chromium.org header.i=@chromium.org header.b="fYKxK3OP"; dkim-atps=neutral Received: by mail-pj1-x1032.google.com with SMTP id gz24so1171962pjb.2 for ; Thu, 26 May 2022 01:27:46 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=RruzqNb71vQt8zjkOzwlsbtURG36yQ9oWE9NKbAwsK0=; b=fYKxK3OP0okHgtParZbBUgxO+uaAleKL5IOngrs7jnq7gKqWWydVxl6gFWn0ZbT1oS b9SHWlMe5n9k9zSKaqgM1dJEEzM16rgXv4Hd9q46HFM+FQ4ecRPKb0pvLCQGItK7lIZa taeSansJsch7OPC+tadhjBHVfs/4oxa3fdUGY= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=RruzqNb71vQt8zjkOzwlsbtURG36yQ9oWE9NKbAwsK0=; b=ZDmyRq9MFi9eZrpi7RIGpTYLu+NOWHbVXP7wT9fGW6GUGBVEyPZwsEb4uze64/GT6Q uNnT3mT9ZOv3+DFKkIxW3Tzw6K+b+wA/4XXdWNZZjQcN+JgI8dbtkqKxuqTviEjkCSRG nVEMSQP93aF61eBGL4LrayG2PaSAH6TQtz237XVc6F5iALh5P3fW9EzkND/FuN1yn8U9 CztJK+w3A61Jj+aJ4yp8pvcuFVBvrsnI2cHgYI3h3DsNwr4/gmC5o+lVuHgRvfL2uiB1 e/adBdiC68Tw5WbPWpmTQStaMg+dfrK8E4afgV/SDOMCebi0gCCh7Sr96geqfnwdbBqJ M5tA== X-Gm-Message-State: AOAM530VSSzXCjm6Vv8RQMcABMh4CVclD2VCTs1n0RwRR304xpBVQJsP 0wQUGdcwpiI8SYE3yYlvE8OLmldkjZwP90nA X-Google-Smtp-Source: ABdhPJwE1lhqUaV5IMBB0/9AMDoanlZwxVAfjZhjkGtJXTnV8lsL63IL8DXKGFcqu2xy68WYOAtRQQ== X-Received: by 2002:a17:90b:4d8b:b0:1dc:c94f:fc29 with SMTP id oj11-20020a17090b4d8b00b001dcc94ffc29mr1415496pjb.186.1653553664699; Thu, 26 May 2022 01:27:44 -0700 (PDT) Received: from chenghaoyang-low.c.googlers.com.com (21.160.199.104.bc.googleusercontent.com. [104.199.160.21]) by smtp.gmail.com with ESMTPSA id m2-20020a170902bb8200b0016191b843e2sm834429pls.235.2022.05.26.01.27.43 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 26 May 2022 01:27:44 -0700 (PDT) X-Google-Original-From: Harvey Yang To: libcamera-devel@lists.libcamera.org Date: Thu, 26 May 2022 08:27:28 +0000 Message-Id: <20220526082737.1081262-1-chenghaoyang@google.com> X-Mailer: git-send-email 2.36.1.124.g0e6072fb45-goog MIME-Version: 1.0 Subject: [libcamera-devel] [PATCH v2 0/9] Use two imgus in ipu3 pipeline handler 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: , X-Patchwork-Original-From: Harvey Yang via libcamera-devel From: Cheng-Hao Yang Reply-To: Harvey Yang Cc: Harvey Yang Errors-To: libcamera-devel-bounces@lists.libcamera.org Sender: "libcamera-devel" Hello everyone, This is the second version of patches to use two imgus in ipu3 pipeline handler, mostly to better support StillCapture, which was handled as video snapshot. The TODO to tackle the delay one frame issue in the ipu3 HW/FW design is done in the 9th patch. The patches are tested on soraka. Please take a look and give me your thoughts. Thanks! BR, Harvey Harvey Yang (9): Add StreamRole in StreamConfiguration ipu3: Allow only one camera being started ipu3: Use imgu0 as default ipu3: Add StillCapture stream and imgu1 param buffers ipu3: Update IPAIPU3Interface::fillParamsBuffer with captureBufferId ipu3: Configure imgu1 when necessary ipu3: Assign |outCaptureStream| to StillCapture configuration Request StillCapture stream as default in Android adapter ipu3: Fixes frame delay include/libcamera/ipa/ipu3.mojom | 2 +- include/libcamera/stream.h | 20 +- src/android/camera_device.cpp | 214 +++++++------- src/android/camera_device.h | 21 ++ src/ipa/ipu3/ipu3.cpp | 21 +- src/libcamera/pipeline/ipu3/frames.cpp | 23 +- src/libcamera/pipeline/ipu3/frames.h | 8 +- src/libcamera/pipeline/ipu3/ipu3.cpp | 377 +++++++++++++++++++++---- 8 files changed, 506 insertions(+), 180 deletions(-)