From patchwork Mon Jul 20 09:13:02 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Naushir Patuck X-Patchwork-Id: 8862 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 5CB57BD792 for ; Mon, 20 Jul 2020 09:13:29 +0000 (UTC) Received: from lancelot.ideasonboard.com (localhost [IPv6:::1]) by lancelot.ideasonboard.com (Postfix) with ESMTP id B18BE605BB; Mon, 20 Jul 2020 11:13:28 +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="CsVZsIOZ"; dkim-atps=neutral Received: from mail-wm1-x333.google.com (mail-wm1-x333.google.com [IPv6:2a00:1450:4864:20::333]) by lancelot.ideasonboard.com (Postfix) with ESMTPS id 691BB60496 for ; Mon, 20 Jul 2020 11:13:27 +0200 (CEST) Received: by mail-wm1-x333.google.com with SMTP id l2so24436168wmf.0 for ; Mon, 20 Jul 2020 02:13:27 -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=WhR4QT3+YWaOAh5Rd7LokGr5HCLYxM4jiYvak70N94s=; b=CsVZsIOZw1fdrFW02gOu1iiteJ0zN6PTpZUb8zWSt1280UT6ucqs4LXTxM8EgP2WYv FCYZqSQVKJWpD3UorqO6CXyF0LcptBvycBo+zrwnOshci77akHimU4cYd2zRy5dunZqH wUQZOxZREDxE5Qs6XCJRKVugQNqA6BGXjl7DydwWxQ11r9ERrPSVfP1XZpb9VMElnjf0 ugPwI684CJLU9a8NJdIcg7ScCwCwv9vJTQlxIMqWm6z+WNBLNb0tkRKVQeaOiym8p/x+ aKWqsBc3u9DFL4fUyPj0raXMf5dDYyzQn66pn5vLi5oxz23wWz6luJ8e+7tAVIxUbBse zBEQ== 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=WhR4QT3+YWaOAh5Rd7LokGr5HCLYxM4jiYvak70N94s=; b=YD0U+jchkNTdZPIKJqrdID4v4hWxPfWnnbjrCo+p98+jUbt2W+iyFIJ3dUDwKHFs0J wFFl/9f1McOSjFpqBR9EDo+tqjKbkGwDvZFb3RHe4HwEKIJn9I2dkPhYEsgyIZonpgH9 VRT7EKzgeevndSGcETF1vtTBO8BtNyJ9nQSBbBWG/RPRLnuql94d7Gn3/krpN6lKDGzG pvxE05Uid8f4nUwEgtnErA0vBHPVBORgjjizLkiT6TwBlkgCOLqDMwkETDYiMc0Rhjan nHqWIVAfcSinP8zlcfWO+QEqzg+QRcEqzFh41j0EIFiMTXOvfNaVtrfsu0CWWfg8DNrC aPKQ== X-Gm-Message-State: AOAM530YwI63EL1QvYfPDUe8rN71yITu/QrcD2CLSAhm7oef9A+/4yUQ Gk8Ig51Si3LnaqLqsIm1sdbKxUaL/e+cTA== X-Google-Smtp-Source: ABdhPJwScxSC07V3lytzzl6Nj/gvgPTK7ZspGzl/dJMA7+6Pj2Kc42FERsvXl2aQYyILzFNCeKRViA== X-Received: by 2002:a1c:3245:: with SMTP id y66mr19581681wmy.64.1595236406672; Mon, 20 Jul 2020 02:13:26 -0700 (PDT) Received: from naushir-VirtualBox.patuck.local ([88.97.76.4]) by smtp.gmail.com with ESMTPSA id u1sm38137185wrb.78.2020.07.20.02.13.25 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 20 Jul 2020 02:13:25 -0700 (PDT) From: Naushir Patuck To: libcamera-devel@lists.libcamera.org Date: Mon, 20 Jul 2020 10:13:02 +0100 Message-Id: <20200720091311.805092-1-naush@raspberrypi.com> X-Mailer: git-send-email 2.25.1 MIME-Version: 1.0 Subject: [libcamera-devel] [PATCH v4 0/9] 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, Here is v4 of the patch set. I have removed the patch related to external buffer handling. This needs a bit more though on how to implement, but should be fine, as no application uses this method of buffer handling yet. This will be added separately. Regards, Naush Naushir Patuck (9): libcamera: pipeline: raspberrypi: Move RPiStream into a separate file libcamera: pipeline: ipa: raspberrypi: Rework drop frame signalling 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 | 524 +++++++----------- .../pipeline/raspberrypi/rpi_stream.cpp | 216 ++++++++ .../pipeline/raspberrypi/rpi_stream.h | 118 ++++ 6 files changed, 546 insertions(+), 335 deletions(-) create mode 100644 src/libcamera/pipeline/raspberrypi/rpi_stream.cpp create mode 100644 src/libcamera/pipeline/raspberrypi/rpi_stream.h Tested-by: David Plowman