From patchwork Mon Oct 28 17:36:57 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Mikhail Rudenko X-Patchwork-Id: 21763 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 DCAFFC32B5 for ; Mon, 28 Oct 2024 17:37:14 +0000 (UTC) Received: from lancelot.ideasonboard.com (localhost [IPv6:::1]) by lancelot.ideasonboard.com (Postfix) with ESMTP id 72D5860367; Mon, 28 Oct 2024 18:37:12 +0100 (CET) Authentication-Results: lancelot.ideasonboard.com; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="ns7bJbeY"; dkim-atps=neutral Received: from mail-lf1-x12b.google.com (mail-lf1-x12b.google.com [IPv6:2a00:1450:4864:20::12b]) by lancelot.ideasonboard.com (Postfix) with ESMTPS id 8017860367 for ; Mon, 28 Oct 2024 18:37:10 +0100 (CET) Received: by mail-lf1-x12b.google.com with SMTP id 2adb3069b0e04-539fe02c386so5175746e87.0 for ; Mon, 28 Oct 2024 10:37:10 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1730137029; x=1730741829; 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=DiNR0C7VTDxS5e/TYC9jAVgTnLyfxZg5d9xwmdf6V28=; b=ns7bJbeYNp9Y1rtQjbLlIOXAHWWVWUbP5Jrs+R2E93RKEGgd5Dif8hPVazIfSF8zVq R77DiWbGmAovIbdS2GIpp0/LpqdQDF24tlyJftvCV/XFhU/r86/1d1O/PAsayNEv8N0N ZfKaDIFEO89UzhZPCF9c5YUXe3aJYYHFxpSTjUsnYxYWOz6EchEMULE4EdU2qFPXlrFD DQZpVInZ6mEefMOPm3zdD2ckBY8atb9faPoA/z3Zqe/XLJL1r7CK0PwIIBsTgttotU7q hwK7K3+13xaNlrZ7iPJL/2QJjU/bcrqHl8fqGpUno/eYh+XLVEQbax7MIFJ4QVtxyQkv nWzw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1730137029; x=1730741829; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=DiNR0C7VTDxS5e/TYC9jAVgTnLyfxZg5d9xwmdf6V28=; b=pDdDn+o75T8+G4Q4RPT1qQpRqRsEA+8ZkcmM+p94+moPxTPZ1VD2ziji2oW0PBeOYE sgYBQHdN1lFZYULgR2wnhf5Ew1F4AEp1mcIEAQCW88foVlgWOfYMIHotwIt+VV9KjE5R GoCoxLogJn2q6b2pjAONgrBTAYZouyLvG1TAnMgrTni3+6pwO7d1UPzpVqhuZFJMi7xs 5ftVgKzesGdfGg+8agJL5GlFA2FRZNGAioAl0SFlLX4jROkPwr6HEU0T8X8LY7E9pwpm Wzrm8iezu2nMTXzrdeY6EPjTlSJdwUOt5ZmG4gMdOVyx700chL3e7HxrCUKhYghX4xSI AysA== X-Gm-Message-State: AOJu0Yw1Wttls9aAQatDP5/bLmgM/GTEoTj4zefKb6FiwmcmivZztQMk 4b5Qtv9yhjzwTxb+MDTul7iEnAib7Ogvh9nUbX+aliZIO5ZTfXjHgkp5dclMujE= X-Google-Smtp-Source: AGHT+IEvpRlfXa9UK33kaOcnse5s3ibpXh6WuFtBa16+AVNOS1++GWedi6wRvnIKe0ZRh0OsEgw75w== X-Received: by 2002:a05:651c:994:b0:2fa:d086:bca0 with SMTP id 38308e7fff4ca-2fcda0812eamr1689391fa.10.1730137029242; Mon, 28 Oct 2024 10:37:09 -0700 (PDT) Received: from localhost.localdomain ([45.12.135.46]) by smtp.gmail.com with ESMTPSA id 38308e7fff4ca-2fcb453e3afsm12115511fa.57.2024.10.28.10.37.07 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 28 Oct 2024 10:37:07 -0700 (PDT) From: Mikhail Rudenko To: libcamera-devel@lists.libcamera.org Cc: Kieran Bingham , Laurent Pinchart , Mikhail Rudenko Subject: [PATCH RFC 1/3] ipa: core: add IPASensorDelays structure Date: Mon, 28 Oct 2024 20:36:57 +0300 Message-ID: <20241028173659.247353-2-mike.rudenko@gmail.com> X-Mailer: git-send-email 2.46.0 In-Reply-To: <20241028173659.247353-1-mike.rudenko@gmail.com> References: <20241028173659.247353-1-mike.rudenko@gmail.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" Add struct IPASensorDelays for passing sensor delays from a CameraSensorHelper to a pipeline handler at initialization time. Distinct member variables instead of a map ensure at compile time that all delays required by the pipeline handler are defined. Signed-off-by: Mikhail Rudenko --- include/libcamera/ipa/core.mojom | 35 ++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/include/libcamera/ipa/core.mojom b/include/libcamera/ipa/core.mojom index bce79724..c95cce4b 100644 --- a/include/libcamera/ipa/core.mojom +++ b/include/libcamera/ipa/core.mojom @@ -341,3 +341,38 @@ struct IPAStream { uint32 pixelFormat; Size size; }; + +/** + * \struct IPASensorDelays + * \brief Sensor control delays for the IPA interface + * + * The IPASensorDelays structure is used to pass sensoer control delays from + * the CameraSensorHelper instance in an IPA to the DelayedControls instance + * in a pipeline handler. + */ + +/** + * \var IPASensorDelays::exposureDelay + * \brief The delay for CID_EXPOSURE + */ + +/** + * \var IPASensorDelays::gainDelay + * \brief The delay for CID_ANALOGUE_GAIN + */ + +/** + * \var IPASensorDelays::hblankDelay + * \brief The delay for CID_HBLANK + */ + +/** + * \var IPASensorDelays::vblankDelay + * \brief The delay for CID_VBLANK + */ +struct IPASensorDelays { + uint32 exposureDelay; + uint32 gainDelay; + uint32 hblankDelay; + uint32 vblankDelay; +};