{"id":17964,"url":"https://patchwork.libcamera.org/api/1.1/covers/17964/?format=json","web_url":"https://patchwork.libcamera.org/cover/17964/","project":{"id":1,"url":"https://patchwork.libcamera.org/api/1.1/projects/1/?format=json","name":"libcamera","link_name":"libcamera","list_id":"libcamera_core","list_email":"libcamera-devel@lists.libcamera.org","web_url":"","scm_url":"","webscm_url":""},"msgid":"<20221209090050.19441-1-naush@raspberrypi.com>","date":"2022-12-09T09:00:38","name":"[libcamera-devel,v4,00/12] Raspberry Pi: Platform configuration and buffer allocation improvements","submitter":{"id":34,"url":"https://patchwork.libcamera.org/api/1.1/people/34/?format=json","name":"Naushir Patuck","email":"naush@raspberrypi.com"},"mbox":"https://patchwork.libcamera.org/cover/17964/mbox/","series":[{"id":3663,"url":"https://patchwork.libcamera.org/api/1.1/series/3663/?format=json","web_url":"https://patchwork.libcamera.org/project/libcamera/list/?series=3663","date":"2022-12-09T09:00:38","name":"Raspberry Pi: Platform configuration and buffer allocation improvements","version":4,"mbox":"https://patchwork.libcamera.org/series/3663/mbox/"}],"comments":"https://patchwork.libcamera.org/api/covers/17964/comments/","headers":{"Return-Path":"<libcamera-devel-bounces@lists.libcamera.org>","X-Original-To":"parsemail@patchwork.libcamera.org","Delivered-To":"parsemail@patchwork.libcamera.org","Received":["from lancelot.ideasonboard.com (lancelot.ideasonboard.com\n\t[92.243.16.209])\n\tby patchwork.libcamera.org (Postfix) with ESMTPS id 1DCD7BDE6B\n\tfor <parsemail@patchwork.libcamera.org>;\n\tFri,  9 Dec 2022 09:01:31 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 650C263352;\n\tFri,  9 Dec 2022 10:01:30 +0100 (CET)","from mail-wm1-x331.google.com (mail-wm1-x331.google.com\n\t[IPv6:2a00:1450:4864:20::331])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 9CF5F61F1E\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tFri,  9 Dec 2022 10:01:28 +0100 (CET)","by mail-wm1-x331.google.com with SMTP id\n\tf13-20020a1cc90d000000b003d08c4cf679so2904676wmb.5\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tFri, 09 Dec 2022 01:01:28 -0800 (PST)","from naush-laptop.localdomain ([93.93.133.154])\n\tby smtp.gmail.com with ESMTPSA id\n\tbd10-20020a05600c1f0a00b003cf774c31a0sm7773674wmb.16.2022.12.09.01.01.27\n\t(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);\n\tFri, 09 Dec 2022 01:01:27 -0800 (PST)"],"DKIM-Signature":["v=1; a=rsa-sha256; c=relaxed/simple; d=libcamera.org;\n\ts=mail; t=1670576490;\n\tbh=1569dmt9VlX5aFzOm6cpBcRKnxLzw5Fk8ep55lkbpE4=;\n\th=To:Date:Subject:List-Id:List-Unsubscribe:List-Archive:List-Post:\n\tList-Help:List-Subscribe:From:Reply-To:From;\n\tb=Li59cfA/yK1lLZ2L/rtlDah7SFyix0MOCmR6xGnS9Qjx9BIv6z0gHiFgoUzXJMTvA\n\tXJTdA03qmIbTJwDTWhSDfz3ZxrfT4AfMuZ2ODkIp2LkwvsEOt5Awrz12dch0Rb+lxm\n\tKeA3GXoJU8OC5IcUxJ3MfNpYW9EKvQC1mI7U2hTOs316D26fZxstIwMOAIG5ZrMsTq\n\tk09zj1bjA34hhuW58t4611cPfbOGRhWNpJNYOq2D4cu5Tl2Ov5nqdqsjh5dJuD2cjO\n\tUyizcymuqau/zHbS+pK01LdcNWyOYMCXqTyQ1n4Ss4pMZ9kkKb84kXwflr3qc1KPr1\n\tEtkqdkLCZqNKA==","v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=raspberrypi.com; s=google;\n\th=content-transfer-encoding:mime-version:message-id:date:subject:cc\n\t:to:from:from:to:cc:subject:date:message-id:reply-to;\n\tbh=dij+h7NehotKGPcdx6DRWythyIbK0eR95oYoudCfluI=;\n\tb=ANwQBtvIhyUJti2hT0EJ2Fivg/8dmiUoBYQo5UuwIBiOKXHaTVgdyPAot+aM7F530Z\n\t9lPf2HuF15GswYVx4zhRf2GoQ/TGLbFK9gvgJXhhxWJWJHGinB5XpDLabqmbBxx9VU0V\n\t5ufmnl8Nj9vPRokFCtQYBVNaYWy2TShW6pa87t3Qa138IM1VO+P/rPoG/k7+X6WbHFHn\n\t+FHpPRFa56SPyOzrr+d3/wvMkXWziBD/X7E5mc7NyM0Ov7NhW1qCVsc/a0gnORMaurGE\n\tFkBh/SJOE9EvRuMwj+hBxZerExYMN4mibI+fv8LjsfDEXAxbYHeX3/XwrCZXw0VDBedX\n\teCiQ=="],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (2048-bit key; \n\tunprotected) header.d=raspberrypi.com\n\theader.i=@raspberrypi.com\n\theader.b=\"ANwQBtvI\"; dkim-atps=neutral","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20210112;\n\th=content-transfer-encoding:mime-version:message-id:date:subject:cc\n\t:to:from:x-gm-message-state:from:to:cc:subject:date:message-id\n\t:reply-to;\n\tbh=dij+h7NehotKGPcdx6DRWythyIbK0eR95oYoudCfluI=;\n\tb=QQPsK546saAYbDIhntnaImjqWAYkqmg5vGYT2xOV8TbYpwlA8h2QQRQMJjlLdDNT+6\n\t5Mc8NQE1F5sEsXVHf3zVFtGlq1cx0/VeswiaVBUdfA7ihIbxDrYvtuu8H/kIyeMXaLUE\n\tEQg4s0GeK4OYECsupoZI/8CZhuR91L+b4adtgfvaTxxt3vqp3Y68PZUieq5lIdQ06A+W\n\tv6wO5PmNU8kBbuZnguoSdmBJtT6qP5pKo3Aw08tAZEJYJDA7Z7iJG6PRyaTLO+X/E36H\n\tlu3TJwQwsfo0pqKG3UWJrnYdnk/vSEmcV2nGkckUJm4asyQ/dtUdtYYrexISLcnXh6M+\n\t9AGA==","X-Gm-Message-State":"ANoB5pmg62JD2S2+GvcbDjqaV1NxgWNySRRchNxb6xII1s5k0SWe5rY7\n\tzl6s9tv3pect+rKrLWdfS49TvvTnTUUTlclW","X-Google-Smtp-Source":"AA0mqf46TgrLAHeDVDcBLx3wbvffyh4UO6DuDadwKoeLrMgcB5DlmZlBNS6WpRpOZQpDpsjV5jrbFw==","X-Received":"by 2002:a05:600c:5106:b0:3d1:ebdf:d591 with SMTP id\n\to6-20020a05600c510600b003d1ebdfd591mr4225473wms.15.1670576487917; \n\tFri, 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","Content-Transfer-Encoding":"8bit","Subject":"[libcamera-devel] [PATCH v4 00/12] Raspberry Pi: Platform\n\tconfiguration and buffer allocation improvements","X-BeenThere":"libcamera-devel@lists.libcamera.org","X-Mailman-Version":"2.1.29","Precedence":"list","List-Id":"<libcamera-devel.lists.libcamera.org>","List-Unsubscribe":"<https://lists.libcamera.org/options/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=unsubscribe>","List-Archive":"<https://lists.libcamera.org/pipermail/libcamera-devel/>","List-Post":"<mailto:libcamera-devel@lists.libcamera.org>","List-Help":"<mailto:libcamera-devel-request@lists.libcamera.org?subject=help>","List-Subscribe":"<https://lists.libcamera.org/listinfo/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=subscribe>","From":"Naushir Patuck via libcamera-devel\n\t<libcamera-devel@lists.libcamera.org>","Reply-To":"Naushir Patuck <naush@raspberrypi.com>","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"},"content":"Hi,\n\nAs mentioned in another email, this version fixes a minor regression introduced\nin version 3 where the delayed stream on for the ISP nodes causes some frame\ndrops.  This comes at the expense of allocating an additional buffer for the ISP\noutput when we have to drop frames for 3A convergence.\n\nThanks,\nNaush\n\nNaushir Patuck (12):\n  libcamera: stream: Add stream hints to StreamConfiguration\n  libcamera: pipeline: Add a platform configuration file helper\n  pipeline: raspberrypi: Add a pipeline config structure\n  pipeline: raspberrypi: Reorder startup drop frame initialisation\n  pipeline: raspberrypi: Handle MandatoryRequestBuffer hints for Unicam\n    Image\n  libcamera: pipeline: build: Add pipeline_data_dir variable\n  pipeline: raspberrypi: Read config parameters from a file\n  pipeline: raspberrypi: Handle MandatoryRequestBuffer hints for ISP\n    Output0\n  pipeline: raspberrypi: Validate MandatoryRequestBuffer in\n    queueRequestDevice()\n  pipeline: raspberrypi: Add a parameter to disable startup drop frames\n  pipeline: raspberrypi: Allow pipeline handler to always use the newest\n    frame\n  pipeline: raspberrypi: Add minimal memory usage config file\n\n include/libcamera/internal/pipeline_handler.h |   3 +\n include/libcamera/stream.h                    |   8 +\n src/libcamera/pipeline/meson.build            |   3 +\n .../pipeline/raspberrypi/data/example.yaml    |  29 +++\n .../pipeline/raspberrypi/data/meson.build     |   9 +\n .../raspberrypi/data/minimal_mem.yaml         |  29 +++\n .../pipeline/raspberrypi/meson.build          |   2 +\n .../pipeline/raspberrypi/raspberrypi.cpp      | 216 +++++++++++++++---\n src/libcamera/pipeline_handler.cpp            |  60 +++++\n src/libcamera/stream.cpp                      |  24 ++\n 10 files changed, 352 insertions(+), 31 deletions(-)\n create mode 100644 src/libcamera/pipeline/raspberrypi/data/example.yaml\n create mode 100644 src/libcamera/pipeline/raspberrypi/data/meson.build\n create mode 100644 src/libcamera/pipeline/raspberrypi/data/minimal_mem.yaml"}