From patchwork Fri Dec 9 09:00:38 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Naushir Patuck X-Patchwork-Id: 17964 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 1DCD7BDE6B for ; Fri, 9 Dec 2022 09:01:31 +0000 (UTC) Received: from lancelot.ideasonboard.com (localhost [IPv6:::1]) by lancelot.ideasonboard.com (Postfix) with ESMTP id 650C263352; Fri, 9 Dec 2022 10:01:30 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=libcamera.org; s=mail; t=1670576490; bh=1569dmt9VlX5aFzOm6cpBcRKnxLzw5Fk8ep55lkbpE4=; h=To:Date:Subject:List-Id:List-Unsubscribe:List-Archive:List-Post: List-Help:List-Subscribe:From:Reply-To:From; b=Li59cfA/yK1lLZ2L/rtlDah7SFyix0MOCmR6xGnS9Qjx9BIv6z0gHiFgoUzXJMTvA XJTdA03qmIbTJwDTWhSDfz3ZxrfT4AfMuZ2ODkIp2LkwvsEOt5Awrz12dch0Rb+lxm KeA3GXoJU8OC5IcUxJ3MfNpYW9EKvQC1mI7U2hTOs316D26fZxstIwMOAIG5ZrMsTq k09zj1bjA34hhuW58t4611cPfbOGRhWNpJNYOq2D4cu5Tl2Ov5nqdqsjh5dJuD2cjO Uyizcymuqau/zHbS+pK01LdcNWyOYMCXqTyQ1n4Ss4pMZ9kkKb84kXwflr3qc1KPr1 EtkqdkLCZqNKA== 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 9CF5F61F1E for ; Fri, 9 Dec 2022 10:01:28 +0100 (CET) Authentication-Results: lancelot.ideasonboard.com; dkim=pass (2048-bit key; unprotected) header.d=raspberrypi.com header.i=@raspberrypi.com header.b="ANwQBtvI"; dkim-atps=neutral Received: by mail-wm1-x331.google.com with SMTP id f13-20020a1cc90d000000b003d08c4cf679so2904676wmb.5 for ; Fri, 09 Dec 2022 01:01:28 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=raspberrypi.com; s=google; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=dij+h7NehotKGPcdx6DRWythyIbK0eR95oYoudCfluI=; b=ANwQBtvIhyUJti2hT0EJ2Fivg/8dmiUoBYQo5UuwIBiOKXHaTVgdyPAot+aM7F530Z 9lPf2HuF15GswYVx4zhRf2GoQ/TGLbFK9gvgJXhhxWJWJHGinB5XpDLabqmbBxx9VU0V 5ufmnl8Nj9vPRokFCtQYBVNaYWy2TShW6pa87t3Qa138IM1VO+P/rPoG/k7+X6WbHFHn +FHpPRFa56SPyOzrr+d3/wvMkXWziBD/X7E5mc7NyM0Ov7NhW1qCVsc/a0gnORMaurGE FkBh/SJOE9EvRuMwj+hBxZerExYMN4mibI+fv8LjsfDEXAxbYHeX3/XwrCZXw0VDBedX eCiQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=dij+h7NehotKGPcdx6DRWythyIbK0eR95oYoudCfluI=; b=QQPsK546saAYbDIhntnaImjqWAYkqmg5vGYT2xOV8TbYpwlA8h2QQRQMJjlLdDNT+6 5Mc8NQE1F5sEsXVHf3zVFtGlq1cx0/VeswiaVBUdfA7ihIbxDrYvtuu8H/kIyeMXaLUE EQg4s0GeK4OYECsupoZI/8CZhuR91L+b4adtgfvaTxxt3vqp3Y68PZUieq5lIdQ06A+W v6wO5PmNU8kBbuZnguoSdmBJtT6qP5pKo3Aw08tAZEJYJDA7Z7iJG6PRyaTLO+X/E36H lu3TJwQwsfo0pqKG3UWJrnYdnk/vSEmcV2nGkckUJm4asyQ/dtUdtYYrexISLcnXh6M+ 9AGA== X-Gm-Message-State: ANoB5pmg62JD2S2+GvcbDjqaV1NxgWNySRRchNxb6xII1s5k0SWe5rY7 zl6s9tv3pect+rKrLWdfS49TvvTnTUUTlclW X-Google-Smtp-Source: AA0mqf46TgrLAHeDVDcBLx3wbvffyh4UO6DuDadwKoeLrMgcB5DlmZlBNS6WpRpOZQpDpsjV5jrbFw== X-Received: by 2002:a05:600c:5106:b0:3d1:ebdf:d591 with SMTP id o6-20020a05600c510600b003d1ebdfd591mr4225473wms.15.1670576487917; Fri, 09 Dec 2022 01:01:27 -0800 (PST) Received: from naush-laptop.localdomain ([93.93.133.154]) by smtp.gmail.com with ESMTPSA id bd10-20020a05600c1f0a00b003cf774c31a0sm7773674wmb.16.2022.12.09.01.01.27 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 09 Dec 2022 01:01:27 -0800 (PST) To: libcamera-devel@lists.libcamera.org Date: Fri, 9 Dec 2022 09:00:38 +0000 Message-Id: <20221209090050.19441-1-naush@raspberrypi.com> X-Mailer: git-send-email 2.25.1 MIME-Version: 1.0 Subject: [libcamera-devel] [PATCH v4 00/12] Raspberry Pi: Platform configuration and buffer allocation improvements 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: Naushir Patuck via libcamera-devel From: Naushir Patuck Reply-To: Naushir Patuck Errors-To: libcamera-devel-bounces@lists.libcamera.org Sender: "libcamera-devel" Hi, As mentioned in another email, this version fixes a minor regression introduced in version 3 where the delayed stream on for the ISP nodes causes some frame drops. This comes at the expense of allocating an additional buffer for the ISP output when we have to drop frames for 3A convergence. Thanks, Naush Naushir Patuck (12): libcamera: stream: Add stream hints to StreamConfiguration libcamera: pipeline: Add a platform configuration file helper pipeline: raspberrypi: Add a pipeline config structure pipeline: raspberrypi: Reorder startup drop frame initialisation pipeline: raspberrypi: Handle MandatoryRequestBuffer hints for Unicam Image libcamera: pipeline: build: Add pipeline_data_dir variable pipeline: raspberrypi: Read config parameters from a file pipeline: raspberrypi: Handle MandatoryRequestBuffer hints for ISP Output0 pipeline: raspberrypi: Validate MandatoryRequestBuffer in queueRequestDevice() pipeline: raspberrypi: Add a parameter to disable startup drop frames pipeline: raspberrypi: Allow pipeline handler to always use the newest frame pipeline: raspberrypi: Add minimal memory usage config file include/libcamera/internal/pipeline_handler.h | 3 + include/libcamera/stream.h | 8 + src/libcamera/pipeline/meson.build | 3 + .../pipeline/raspberrypi/data/example.yaml | 29 +++ .../pipeline/raspberrypi/data/meson.build | 9 + .../raspberrypi/data/minimal_mem.yaml | 29 +++ .../pipeline/raspberrypi/meson.build | 2 + .../pipeline/raspberrypi/raspberrypi.cpp | 216 +++++++++++++++--- src/libcamera/pipeline_handler.cpp | 60 +++++ src/libcamera/stream.cpp | 24 ++ 10 files changed, 352 insertions(+), 31 deletions(-) create mode 100644 src/libcamera/pipeline/raspberrypi/data/example.yaml create mode 100644 src/libcamera/pipeline/raspberrypi/data/meson.build create mode 100644 src/libcamera/pipeline/raspberrypi/data/minimal_mem.yaml