From patchwork Fri Jul 24 07:22:08 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Naushir Patuck X-Patchwork-Id: 8944 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 E6F8EBD86F for ; Fri, 24 Jul 2020 07:22:50 +0000 (UTC) Received: from lancelot.ideasonboard.com (localhost [IPv6:::1]) by lancelot.ideasonboard.com (Postfix) with ESMTP id 1B95061176; Fri, 24 Jul 2020 09:22:50 +0200 (CEST) Authentication-Results: lancelot.ideasonboard.com; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=raspberrypi.com header.i=@raspberrypi.com header.b="JcvkUfh2"; dkim-atps=neutral Received: from mail-wm1-x331.google.com (mail-wm1-x331.google.com [IPv6:2a00:1450:4864:20::331]) by lancelot.ideasonboard.com (Postfix) with ESMTPS id 2070260923 for ; Fri, 24 Jul 2020 09:22:49 +0200 (CEST) Received: by mail-wm1-x331.google.com with SMTP id 3so392123wmi.1 for ; Fri, 24 Jul 2020 00:22:49 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=raspberrypi.com; s=google; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=bHV0abn3GDKNJ2ZYKxVuwO2XYMxniaIjh6AzgoqtOPE=; b=JcvkUfh2V1b2rMsfd5I3Yg7Iv3DAjYQPPynvSs/Ktax/H3wr43+PL1TlXk1Yd7066b GDxohbFJHeYHTZNUaNI8/Fz2DejSu1NVyUNxJRpgnIC4hHIVH6NOaDmystnBEj9FO1pN +sITLuiAKvUobDh3ZkkmLvCAlbefbzjnKmd5i4A+TjeKmnuhmU2zaNg/B58hsmIBzvKh c43KyJChk7FQGkQsmrJWh/ZefZH04C+3IrUCEk7H6yFFOncriS2V8Dva2XiT/ScURwQp V6fTrnPf8cmwqXg8maDPqQqQ1JUzklP9CYfWIZTti/Awce2zezAFy+GTCf5AaLT33Uvk uPtg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=bHV0abn3GDKNJ2ZYKxVuwO2XYMxniaIjh6AzgoqtOPE=; b=UTJfLGD6Wq8fz0dstihRJH7At3inmsPaUUT3++vwCBktJyOlfHLDG5FLEuPzhx4V1U Xx+Ypyw2HTloRsGGUAXGuerWKOJZKGo6V+lsWImu0/CI918cguQ9jPK6l484ep+nqIN5 pY9SIV1JgrZKBKBA3jNFxllJBBo/FuQPyiS/SpBxelaLdh/CyLByYj/ib+JGnXdudvmL c/+sarxTkmbBJN89oBMQkbV/iCssskcUE4/3/aZmAfCKInKxDwAIQ4X2RCgnzKzP6tfe H82P11iTECq2BubovE21kovEhlmiZihmv1cxHdz90/a0y1ZIDWhbWMl3rpkrXXokw3ta rL0g== X-Gm-Message-State: AOAM5319HUdbY4PK2OC16y/l0K2nU0qLLubJeEevPhcz75CMFt/ZGYxs AIXJlGanjndZERmK1maLk/j+gIxu+iMpUQ== X-Google-Smtp-Source: ABdhPJwbmmU29mi32lY1TPHNpjZNgfbULi8QuRh9gcSCSUbchefpLDcQ2c9LQXlOKPXWYSr2EyEyzQ== X-Received: by 2002:a1c:80c3:: with SMTP id b186mr7379301wmd.10.1595575367401; Fri, 24 Jul 2020 00:22:47 -0700 (PDT) Received: from naushir-VirtualBox.patuck.local ([88.97.76.4]) by smtp.gmail.com with ESMTPSA id 32sm246595wrn.86.2020.07.24.00.22.46 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 24 Jul 2020 00:22:46 -0700 (PDT) From: Naushir Patuck To: libcamera-devel@lists.libcamera.org Date: Fri, 24 Jul 2020 08:22:08 +0100 Message-Id: <20200724072218.943245-1-naush@raspberrypi.com> X-Mailer: git-send-email 2.25.1 MIME-Version: 1.0 Subject: [libcamera-devel] [PATCH v5 00/10] Zero-copy RAW stream work 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" Hi, This is patchset v5 of the zero copy RAW stream work for the Raspberry Pi platform. All minor changes in the review feedback have been addressed. The only other difference is in patch 9/10 where I have renamed requeueBuffers_ to requestBuffers_ and made minor changes to the comments to hopefully make the usage slightly more understandable. I have left the review tags in place, as there is no functional change, hope that is ok. Regards, Naush Naushir Patuck (10): libcamera: pipeline: raspberrypi: Move RPiStream into a separate file libcamera: pipeline: ipa: raspberrypi: Rework drop frame signalling libcamera: request: Add log point on a completed request libcamera: pipeline: raspberrypi: Add some debug logging libcamera: pipeline: raspberrypi: Increase the number of RAW buffers libcamera: pipeline: raspberrypi: Remove const qualifier from RPiStream libcamera: pipeline: raspberrypi: Rework stream buffer logic for zero-copy libcamera: pipeline: raspberrypi: Fix bug in passing configuration to IPA libcamera: pipeline: raspberrypi: Add more robust stream buffer logic libcamera: pipeline: ipa: raspberrypi: Remove use of FrameBuffer cookie include/libcamera/ipa/raspberrypi.h | 2 +- src/ipa/raspberrypi/raspberrypi.cpp | 20 +- .../pipeline/raspberrypi/meson.build | 1 + .../pipeline/raspberrypi/raspberrypi.cpp | 522 +++++++----------- .../pipeline/raspberrypi/rpi_stream.cpp | 216 ++++++++ .../pipeline/raspberrypi/rpi_stream.h | 131 +++++ src/libcamera/request.cpp | 3 + 7 files changed, 563 insertions(+), 332 deletions(-) create mode 100644 src/libcamera/pipeline/raspberrypi/rpi_stream.cpp create mode 100644 src/libcamera/pipeline/raspberrypi/rpi_stream.h