From patchwork Wed Jun 29 10:30:09 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: 16426 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 531A4BE173 for ; Wed, 29 Jun 2022 10:30:26 +0000 (UTC) Received: from lancelot.ideasonboard.com (localhost [IPv6:::1]) by lancelot.ideasonboard.com (Postfix) with ESMTP id 8403865636; Wed, 29 Jun 2022 12:30:25 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=libcamera.org; s=mail; t=1656498625; bh=WEAulQmZS51oJ0yJX4uT7wpOKF9xVM3tEjh4tJpkKCc=; h=To:Date:Subject:List-Id:List-Unsubscribe:List-Archive:List-Post: List-Help:List-Subscribe:From:Reply-To:Cc:From; b=zLdlnSuw72S3FHEruAqUA6+ENXQWD7epLrZT4B3hAC6wWuwEUvc+EwB36rCjj6+sM Ko97wRLtTXBttkuWcVmh4mjjYb9YAk6pCNB0TlpN8r9ZFOx33ffHuUtVLlYj44Lc4c Rw3BzwPKi+f1P1eWG0CLYgUvBNI+AMdsgXnwkCCmUERQSEp6/RWLEX+EMhmGX10yLp UWVZ9xrxxDwcP6Ea3ZmF8YttOdWGecvsFhrHpNlYTi9FQ1j8Xnyt43pCICb965aSKu BXwTX6E+D6zdyywJgRsA6wDtJa9SZ3zZu6coVFSkY/RMS8TWntJgPaO1JbbwfkEIdn m+rXfieb44mqQ== Received: from mail-pj1-x1036.google.com (mail-pj1-x1036.google.com [IPv6:2607:f8b0:4864:20::1036]) by lancelot.ideasonboard.com (Postfix) with ESMTPS id 0FA6D60412 for ; Wed, 29 Jun 2022 12:30:24 +0200 (CEST) Authentication-Results: lancelot.ideasonboard.com; dkim=pass (1024-bit key; unprotected) header.d=chromium.org header.i=@chromium.org header.b="UAEWzt2p"; dkim-atps=neutral Received: by mail-pj1-x1036.google.com with SMTP id d14so15278613pjs.3 for ; Wed, 29 Jun 2022 03:30:23 -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=i7x9/jG7mu9Uy1IGlXc6hEPHmt+5Ecn2rXUxKmTNtjc=; b=UAEWzt2pDlB+U3HRu3qZ9Z4Hm1P0Jn58GXUtXLwxEwkqRa1UDfcp/4qimNcXLcsxFy Ttwi0m57ewM3rRsRIQVrzT9ntD03KufK+n7EeK2gEizgC0QmJm7wRj269JIOuRHmjVdL QZn9VYJ9b/KjL9DkIooysckJXD5A7KgTVSfYA= 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=i7x9/jG7mu9Uy1IGlXc6hEPHmt+5Ecn2rXUxKmTNtjc=; b=kIuDUb32qRPUYfxCV/MRD7Ux5si+5jzMlazDcK1Mo9nfAeHUOHMkAwCgsyMpvIA+cE idvlLOmvR+16nNswKaOXWfSaUkOoNU6WWLHkG8inCF8PaunH5gDtVv71IDK5BNvfGw+p IkGRi47kaJ69niysraXbIlHkC6n+ZXHPSxUUyXqXOqRVq5+/mObv+9AtAL+Vun5Jyvyl ztXeGi0A2DcX/UpWpe9/Ti8KgP6maA8H20zzK5Ee0aUHiJn8LOu2a2SwR1EWpbV9c9O8 B9cX6VdzB1ePdfYKo+o2yRZL6klKZXA2dL01UI/0i1OWX1AVZM/aBjOgbyql5Trzfdx9 VvqQ== X-Gm-Message-State: AJIora8jGbaQKeDgep9pcrYS9+i04W4jLAZaCqUvvgeNbf/uE+HIGS3s jn8ADSZd+JD5ccSKT9aP68Kd9KttndHW9ihD X-Google-Smtp-Source: AGRyM1tzOcUi1JPONOxu2u3BgLJVZFvXUlxX1AMaCLkvMIxcUDQqqb65aaKjW+EAcAt3i9hk5QIRDw== X-Received: by 2002:a17:90b:3d92:b0:1ee:fed7:7c65 with SMTP id pq18-20020a17090b3d9200b001eefed77c65mr3060408pjb.219.1656498622350; Wed, 29 Jun 2022 03:30:22 -0700 (PDT) Received: from chenghaoyang-low.c.googlers.com.com (208.158.221.35.bc.googleusercontent.com. [35.221.158.208]) by smtp.gmail.com with ESMTPSA id jb4-20020a170903258400b00169071538a0sm10946059plb.267.2022.06.29.03.30.21 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 29 Jun 2022 03:30:22 -0700 (PDT) X-Google-Original-From: Harvey Yang To: libcamera-devel@lists.libcamera.org Date: Wed, 29 Jun 2022 10:30:09 +0000 Message-Id: <20220629103018.4025635-1-chenghaoyang@google.com> X-Mailer: git-send-email 2.37.0.rc0.161.g10f37bed90-goog MIME-Version: 1.0 Subject: [libcamera-devel] [PATCH v3 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 third version of patches to use two imgus in ipu3 pipeline handler, mostly to better support StillCapture, which was handled as video snapshot. The 8th patch is updated to fall back to the original logic when the StillCapture stream is rejected in the pipeline handler. 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 | 235 ++++++++------- 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, 528 insertions(+), 179 deletions(-)