From patchwork Fri Jul 3 22:48:15 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bruce Allen X-Patchwork-Id: 27197 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 0683FC3308 for ; Fri, 3 Jul 2026 22:49:58 +0000 (UTC) Received: from lancelot.ideasonboard.com (localhost [IPv6:::1]) by lancelot.ideasonboard.com (Postfix) with ESMTP id BCBC565FE0; Sat, 4 Jul 2026 00:49:57 +0200 (CEST) Authentication-Results: lancelot.ideasonboard.com; dkim=pass (2048-bit key; unprotected) header.d=googlemail.com header.i=@googlemail.com header.b="KYTNrxIx"; 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 0E5DF65FB5 for ; Sat, 4 Jul 2026 00:49:56 +0200 (CEST) Received: by mail-wm1-x331.google.com with SMTP id 5b1f17b1804b1-493c1950518so10898115e9.1 for ; Fri, 03 Jul 2026 15:49:55 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlemail.com; s=20251104; t=1783118995; x=1783723795; darn=lists.libcamera.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=AZmsZpVscUs/92w8Ed5vt6cdz4WnjtjimgpbEFOUoj0=; b=KYTNrxIxpeSEtE3fzezGdMz9zATw8QPkfZveCQMdnDUKz+musVdCj9FilqQXBL6Opa Ks6WdCVWlH6k3BjyTbdBvfK3CBPYg2QyVEjHS6Pt7pxtd0REs5cqbnk54gzm0JCJcYDa zy/AwS3pybCokLaQQNwc7BuQ69SNJ1F6Ez2acVyb8lVAF+FGjjy1aFbuJhVvXFlpArSR nzMDsV2GmRSZp8p/3zTNTf51BDG1hmL+eif1ZOtoM9hTBqDTw4bQKRNYid7M+X/KkEO2 WiRKvRCEG6BTZUcJ0qidoDtIrOACUEeheYqJFEFVZ6UncuZ9hR+wkf/Of+q2YVPu2RAY uklw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1783118995; x=1783723795; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=AZmsZpVscUs/92w8Ed5vt6cdz4WnjtjimgpbEFOUoj0=; b=BazLErlTS36IuDIm/1PdZHuSPjQizV1Lhdr/L07KnfBtf1ZwGeHyATkHZZfsfqO06T +yIOGuq/I3DqefniSWtdAAd/+RkJzE/mIALldwuBtgBSiiDdzb5tZWygTT6/wPQJX/Oc UbFkrzQHL5c2/0uthStFhr1P77a8M7m1ukYTsETtkFw4POKpSX7p130qGImNy4LbHTBE UaJkmDEIxZNT4wRHHwf2zSxqFW/ETxDTF8O61ISnf4tf0zPjA+xhAysu1YslvuICrDsT hsPkBDtubRhxlHoIv3i87koICzsDD+8RQKB0f++siLnlCRpvmNqQTWfnbVjxBx8irJ7g auPA== X-Gm-Message-State: AOJu0Yzr3VPB0rOv/9TzDhYKpzWpEVjzin3mNZ/AYmPbV7Hv6+7syLFO HTo+FLRBUy/7GIGQ9+zt/2QAdAIgg+al7jP4IXPDl8CXUrs/O4Jdm+PcOdd17xUB X-Gm-Gg: AfdE7ckQEuGDNww4N/C7OGMLDAKdr8S7A2ryRk6KgCjhhakzRG2dS2mYPRXj/X6YHey mtR1W23Ce8XBvKdMFtr6dQUSDv+ka9eg+V3+xh/4afd9uhviHeBjaPIjCRnhLxl21oKCrfGMxRn g0b2ABCoofh34QrFXEMJjppyYk7uNlLhsfL3HBwVEIlPVokM6Jcu7ouhYjJ4ZMKHJMJckl4mLJK p2DZLegbddag9FjTQpLMi9Og9GqLr3NlYNRHJRhoA+kia3QaGaYaZccxhIgQ87doFNERHAXXQ6F X0xZC0r2sJk5MrJl78aSFbFL5et+suLNB8ppGvd+s/ZKjeIXdtLm84hVSTltim7XEkbQfUBGsEO RRQs9mEm+pR7n9bouxceIdw9Z7Ur741MKunZnem1ztR7/U3zFTX3+q7mdC36+SMvy5uH/8pLPUd 49RS6eTs1bQVsuaXrgdhijL0ggk3Ohm3WPlIMj4PfEKe05+wpq9MiT4PqZRaB+p3Vo7Eqzwh1d1 /EX4Qu7aWw= X-Received: by 2002:a05:600c:3b28:b0:493:b698:9247 with SMTP id 5b1f17b1804b1-493d1593adbmr8067865e9.14.1783118995097; Fri, 03 Jul 2026 15:49:55 -0700 (PDT) Received: from localhost.localdomain (tmo-121-138.customers.d1-online.com. [80.187.121.138]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-493c63ba971sm255611285e9.13.2026.07.03.15.49.53 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 03 Jul 2026 15:49:54 -0700 (PDT) From: Bruce Allen To: libcamera-devel@lists.libcamera.org Cc: Bruce Allen Subject: [PATCH v2 0/2] libcamera: Add SensorSequence request metadata control Date: Fri, 3 Jul 2026 23:48:15 +0100 Message-ID: <20260703224817.15650-1-ballen4705@googlemail.com> X-Mailer: git-send-email 2.54.0 In-Reply-To: <20260626003712.26624-1-ballen4705@googlemail.com> References: <20260626003712.26624-1-ballen4705@googlemail.com> MIME-Version: 1.0 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 v2 series follows up on my v1 submission that exposed the Unicam frontend sequence as an RPi vendor control [1], and Kieran's feedback that this should be a standard metadata control across all platforms [2]. The series revives the approach from Kieran's 2021 RFC "Request metadata: SensorSequence" [3], updated for the current control_ids_core.yaml layout and additional pipelines. Compared with that original 8-patch series, this submission is limited to the control definition, pipeline plumbing, and application documentation (no cam/qcam/gstreamer changes). Changes since v1: - Define controls::SensorSequence in control_ids_core.yaml (int64_t, out) instead of controls::rpi::SensorSequence in control_ids_rpi.yaml - Populate the control in every pipeline handler that already reports SensorTimestamp (simple, ipu3, rkisp1, rpi/vc4, rpi/pisp, mali-c55, imx8-isi, uvcvideo, vimc) - Document SensorSequence in the application developer guide Motivation (unchanged from v1): applications diagnosing frame loss need a counter tied to sensor-side capture, not just delivered-frame or request- queue sequence. Gaps in SensorSequence indicate frames that did not reach the capture device stream before the previous request completed. Python bindings follow from existing pycamera codegen. Tested: patch applies cleanly to master @ 709ad59; builds with -Dpipelines=rpi/vc4 -Dipas=rpi/vc4 -Dpycamera=enabled. Verified on Raspberry Pi CM4 that monotonic SensorSequence detects dropped frames. [1] https://lists.libcamera.org/pipermail/libcamera-devel/2026-June/059669.html [2] https://lists.libcamera.org/pipermail/libcamera-devel/2026-June/059681.html [3] https://patchwork.libcamera.org/project/libcamera/list/?series=2822 Cheers, Bruce Allen