Patch Detail
Show a patch.
GET /api/patches/19055/?format=api
{ "id": 19055, "url": "https://patchwork.libcamera.org/api/patches/19055/?format=api", "web_url": "https://patchwork.libcamera.org/patch/19055/", "project": { "id": 1, "url": "https://patchwork.libcamera.org/api/projects/1/?format=api", "name": "libcamera", "link_name": "libcamera", "list_id": "libcamera_core", "list_email": "libcamera-devel@lists.libcamera.org", "web_url": "", "scm_url": "", "webscm_url": "" }, "msgid": "<20230918093016.22948-1-william.vinnicombe@raspberrypi.com>", "date": "2023-09-18T09:30:16", "name": "[libcamera-devel] pipeline: rpi: vc4: Allocate more embedded data buffers", "commit_ref": null, "pull_url": null, "state": "accepted", "archived": false, "hash": "f1fe006c12cde10ee0a4cd70e5e76dc49645ce08", "submitter": { "id": 131, "url": "https://patchwork.libcamera.org/api/people/131/?format=api", "name": "William Vinnicombe", "email": "william.vinnicombe@raspberrypi.com" }, "delegate": null, "mbox": "https://patchwork.libcamera.org/patch/19055/mbox/", "series": [ { "id": 4030, "url": "https://patchwork.libcamera.org/api/series/4030/?format=api", "web_url": "https://patchwork.libcamera.org/project/libcamera/list/?series=4030", "date": "2023-09-18T09:30:16", "name": "[libcamera-devel] pipeline: rpi: vc4: Allocate more embedded data buffers", "version": 1, "mbox": "https://patchwork.libcamera.org/series/4030/mbox/" } ], "comments": "https://patchwork.libcamera.org/api/patches/19055/comments/", "check": "pending", "checks": "https://patchwork.libcamera.org/api/patches/19055/checks/", "tags": {}, "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 9CF17BE080\n\tfor <parsemail@patchwork.libcamera.org>;\n\tMon, 18 Sep 2023 09:31:04 +0000 (UTC)", "from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 0C93A62938;\n\tMon, 18 Sep 2023 11:31:04 +0200 (CEST)", "from mail-wr1-x435.google.com (mail-wr1-x435.google.com\n\t[IPv6:2a00:1450:4864:20::435])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 6767F61DEC\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tMon, 18 Sep 2023 11:31:02 +0200 (CEST)", "by mail-wr1-x435.google.com with SMTP id\n\tffacd0b85a97d-31ff985e292so2475232f8f.1\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tMon, 18 Sep 2023 02:31:02 -0700 (PDT)", "from localhost.localdomain ([93.93.133.154])\n\tby smtp.gmail.com with ESMTPSA id\n\tl18-20020a5d4112000000b0031c6581d55esm12092807wrp.91.2023.09.18.02.31.00\n\t(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);\n\tMon, 18 Sep 2023 02:31:00 -0700 (PDT)" ], "DKIM-Signature": [ "v=1; a=rsa-sha256; c=relaxed/simple; d=libcamera.org;\n\ts=mail; t=1695029464;\n\tbh=uidR6VBRgk8hzyWN0fDV98DK9Kb9PlBgGbSTe8iXCOc=;\n\th=To:Date:Subject:List-Id:List-Unsubscribe:List-Archive:List-Post:\n\tList-Help:List-Subscribe:From:Reply-To:From;\n\tb=CCmF9Vjpa30fDlta82TQxlw3eY81zpmJeigQe0hh2iXxCeJQhpowO78GWM2ad0oru\n\tDzPinIPeO2X2/YsKIKD1IlTdK/kLBMEvTxapySBuo9LQk5O7Z6iEI++YS5s4Qz1N9L\n\tyh3KWxKz+MTQ7eT8w5EIpyzDdq3Adp/Pp37BADx1BAXfl5BCjHk3a+QIaL+vNMkKCk\n\t5OExsdrEaNn8Vy59FJQ3lpXnE1K1MJBPdMzVsQvT+b4k/XyaUjQSfxxY0szaygbCwr\n\tM+xsqrFSHZNRHby1Et9KnSLx+I9OAemh7UsPgmMUE6xHLGdfdJe0H3X39kPRb2dw8f\n\t0WZaZ0c7Px3ZQ==", "v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=raspberrypi.com; s=google; t=1695029461; x=1695634261;\n\tdarn=lists.libcamera.org; \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=A6i05fcgB+dNiTWtI2Y8WsIMCjEipeIPSY2IM8U8LkU=;\n\tb=S+xwm4Chov2HvvkSe44BZX/STcfIdLt3m3uz1wTIAxerWt3cncB9mmAcrDdd4JNX4S\n\td6+InVbjfY04aw2jvUHRPDpafQLFP4sLqi/GTN6g7VGQfP5qtYBigrJJRaJ0D5C1GkDE\n\tHmCk+2XTY9FE/epKIbP4rfk50Jl2dNm43iBYoTLi07zHRZQN/gs8kq57cVucbxDW7sXI\n\tdPPS8rdFhLOcFfexKtpNMqIdhsmoxL9AdOm7V7B8ccY7cPVqjJH/F2ezU/a5K14/eeHn\n\t3j51u4iMVLKeqv3WYteBqH1OjR5SVraDTTKzESoL+DnQO1nAhwRENXF//1q9ZyWNhzIb\n\tBsNw==" ], "Authentication-Results": "lancelot.ideasonboard.com; dkim=pass (2048-bit key; \n\tunprotected) header.d=raspberrypi.com\n\theader.i=@raspberrypi.com\n\theader.b=\"S+xwm4Ch\"; dkim-atps=neutral", "X-Google-DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20230601; t=1695029461; x=1695634261;\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=A6i05fcgB+dNiTWtI2Y8WsIMCjEipeIPSY2IM8U8LkU=;\n\tb=VOW/eFyM+by5EnkZLqBVztOLi0FsOtYM7UeNSB5BJimRweloBFB1SO4ELYKLWoXaAo\n\tGk5J5KHeRLd4+m86rNDct/dEyaaxnSOrPgm5XoO21ZkDYvnpCEtpTM3lIq5p+cfeOOhq\n\tTBlKFTEgeXCCpLaKlQNRBpqUgjcqPlmM99r90aSH5PRN6OSuE9m6Ig15ggAjCiLHYy/C\n\tT5ceL/G7ZFATUfBGjxUcJa6TDgBKc5uYez14KzVQB4EJKNw2CIHMNg8mt78nj3ifZ/FT\n\tnAEI0b+IB795xN4y+XAHjdU/wV+CPYp+J3FCRiBNOXbr4hYlmti8ziORZ4XJvb53/n1H\n\tIKMw==", "X-Gm-Message-State": "AOJu0YxnuLO990J4/Zlhvh4oDUkPIM2DsLBeBTl1C1mqRAjnTA3wPToC\n\t0sPDDUnBtECVm7ZBltbwk1davglfYC37C4hBxMIpYA==", "X-Google-Smtp-Source": "AGHT+IFrBXZLmT+KGCaMBVbzYL5bQWnJGAEzjB7UCg4pWLQ+xPB3y1ApAizHuUSebpD+O72vLmOO2g==", "X-Received": "by 2002:adf:e585:0:b0:31f:b79a:c4b7 with SMTP id\n\tl5-20020adfe585000000b0031fb79ac4b7mr6942376wrm.24.1695029461452; \n\tMon, 18 Sep 2023 02:31:01 -0700 (PDT)", "To": "libcamera-devel@lists.libcamera.org", "Date": "Mon, 18 Sep 2023 10:30:16 +0100", "Message-Id": "<20230918093016.22948-1-william.vinnicombe@raspberrypi.com>", "X-Mailer": "git-send-email 2.39.2", "MIME-Version": "1.0", "Content-Transfer-Encoding": "8bit", "Subject": "[libcamera-devel] [PATCH] pipeline: rpi: vc4: Allocate more\n\tembedded data buffers", "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": "William Vinnicombe via libcamera-devel\n\t<libcamera-devel@lists.libcamera.org>", "Reply-To": "William Vinnicombe <william.vinnicombe@raspberrypi.com>", "Errors-To": "libcamera-devel-bounces@lists.libcamera.org", "Sender": "\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>" }, "content": "If the pipeline runs out of embedded data buffers, then it will pass\nthe frame to the IPA without the metadata. The IPA then has to use the\ndelayed controls as inputs to the algorithms. This can cause problems\nwith the subsequent algorithms if the sensor did not action the\ncontrols, especially with the autofocus as that doesn't have controls\nwhich can be passed in lieu of the metadata.\n\nReduce the likelihood of this by increasing the number of embedded data\nbuffers, as they are small so a generous number can be allocated.\n\nSigned-off-by: William Vinnicombe <william.vinnicombe@raspberrypi.com>\n---\n src/libcamera/pipeline/rpi/vc4/vc4.cpp | 4 ++--\n 1 file changed, 2 insertions(+), 2 deletions(-)", "diff": "diff --git a/src/libcamera/pipeline/rpi/vc4/vc4.cpp b/src/libcamera/pipeline/rpi/vc4/vc4.cpp\nindex 018cf488..6777c697 100644\n--- a/src/libcamera/pipeline/rpi/vc4/vc4.cpp\n+++ b/src/libcamera/pipeline/rpi/vc4/vc4.cpp\n@@ -262,9 +262,9 @@ int PipelineHandlerVc4::prepareBuffers(Camera *camera)\n \t\t} else if (stream == &data->unicam_[Unicam::Embedded]) {\n \t\t\t/*\n \t\t\t * Embedded data buffers are (currently) for internal use,\n-\t\t\t * so allocate the minimum required to avoid frame drops.\n+\t\t\t * so allocate a generous number as they are small.\n \t\t\t */\n-\t\t\tnumBuffers = minBuffers;\n+\t\t\tnumBuffers = 12;\n \t\t} else {\n \t\t\t/*\n \t\t\t * Since the ISP runs synchronous with the IPA and requests,\n", "prefixes": [ "libcamera-devel" ] }