From patchwork Tue Sep 12 14:23:09 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: David Plowman X-Patchwork-Id: 19001 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 0929BC3260 for ; Tue, 12 Sep 2023 14:23:18 +0000 (UTC) Received: from lancelot.ideasonboard.com (localhost [IPv6:::1]) by lancelot.ideasonboard.com (Postfix) with ESMTP id 79F8C628F7; Tue, 12 Sep 2023 16:23:17 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=libcamera.org; s=mail; t=1694528597; bh=l7S1gPVtFaDBDLTKzumhSPHFZtZFq78fUnD3Vbq+UXM=; h=To:Date:In-Reply-To:References:Subject:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To: From; b=tybqRTuWU9N8Imu0LM3eVYu38AHeDeAJFfmyZRIgu0dZfUQWgoeQTlGYhKPx1GGWQ USaDP0CFzIq/B3r07rBhFIicTUxzo4hpED8eKjc+u3xSp3SgXgWd2is0k1037HrchN HZT+ZQBlD7lIJIgIWzR8c5wFRLBhIcjV/mMpkMBRmcgrmVlmTvNO3FT29Q+npwiDfK 3DBrRHGe6f1CpVEHDFKqdDZoc0YgV+DzppEDIMonU0nffXeoXo1vYOnuI2TgsWGasW 4lqxPSzRswf8BdgBsGB1poqmdKaCudAawqnN2ncATg6mlk6clQq4cBPHQ/2tip6J1l 1oDvVb5KDrkfw== Received: from mail-wm1-x330.google.com (mail-wm1-x330.google.com [IPv6:2a00:1450:4864:20::330]) by lancelot.ideasonboard.com (Postfix) with ESMTPS id 667DC61DF5 for ; Tue, 12 Sep 2023 16:23:16 +0200 (CEST) Authentication-Results: lancelot.ideasonboard.com; dkim=pass (2048-bit key; unprotected) header.d=raspberrypi.com header.i=@raspberrypi.com header.b="oMG6KO0P"; dkim-atps=neutral Received: by mail-wm1-x330.google.com with SMTP id 5b1f17b1804b1-402c46c49f4so60990495e9.1 for ; Tue, 12 Sep 2023 07:23:16 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=raspberrypi.com; s=google; t=1694528596; x=1695133396; 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=d26yBqvmBC4VdvJK1yTBb3obVyXpwlz0NppPWIbadSg=; b=oMG6KO0P0L9VGzBhE8WyYm4FNfuNyrH3MwN65agu+aTe5wsI2qS4I1cawfzljXIrl2 n/zQ15MdAs9sn/Q7FUJdv0xvZ7yxQbPyrlrshmjqWSIWX9R7vXO+245cB22kifBdz9Du Sy8RPI4W6mVib4Pln7NUv4QSSjOdorIHI6VZipOYq/wW0RJs9ENKWnCMHp3EhGfOQZ7R qMg7nnUTPAJHfY5vXJ2QotpCZpjkXuCnxRGmFhHamuGgDPIbX8MaqvtnGeSKNfaufW4i dbU1XmT3QGyT0HH6RnXTMjLNaLZ90JjZDvWlNKbqtuSQ+WTvEctH5JIdcBYFvLwKVP3l +oyg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1694528596; x=1695133396; 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=d26yBqvmBC4VdvJK1yTBb3obVyXpwlz0NppPWIbadSg=; b=ZCTtyUGU8V00QbahUcDHMtLRdRR8fbgO40Zw1+MVuWGwnvSyO4akf0GTMbribgEoJO c0Dw5BcPW5YnoS/UnK3b95WC12A3ln82agbmM+9hHBOnZbMJhDVuGtgGwaQs6h7alpLe cXOYGHhL5HOCfZ/k28NdVIbquN/ohwYIK64uokfYuzVcO29Ek8JRQnLxB7bqdJ+WXHzf hJoPECT8wBBMOM/5m7f/Xf/1DaPTNtf71SXAGWAVufkXWBL/bCaGnV6DumKreeVVQh6R 7ycofaapuIhT/l7l60EcQmrMyptHF82aBmiKY8DHAqMwbuSNLtOgr4vajUDWeDFSqHOY pyNA== X-Gm-Message-State: AOJu0YzCfYAkhYU+IDxB4s11voUIM2xNjrNn7vupXvak489MMqcAAcGh axKooOI9pqTr2hxZP5lTc81LP56AI1x4AYj7PG0= X-Google-Smtp-Source: AGHT+IGI8e3PTzugtF8nufkUVZm/Y3yHYtMnIFXe5PudJ0MsQsy/hDgfnq5O81GIOKLHUMxQVFgJOA== X-Received: by 2002:a05:600c:1d85:b0:403:50:a61e with SMTP id p5-20020a05600c1d8500b004030050a61emr8302516wms.24.1694528595722; Tue, 12 Sep 2023 07:23:15 -0700 (PDT) Received: from pi4-davidp.pitowers.org ([2a00:1098:3142:14:2bce:64d6:1a5c:49a2]) by smtp.gmail.com with ESMTPSA id o13-20020a05600c510d00b003fee777fd84sm10481514wms.41.2023.09.12.07.23.14 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 12 Sep 2023 07:23:14 -0700 (PDT) To: libcamera-devel@lists.libcamera.org Date: Tue, 12 Sep 2023 15:23:09 +0100 Message-Id: <20230912142309.170720-2-david.plowman@raspberrypi.com> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20230912142309.170720-1-david.plowman@raspberrypi.com> References: <20230912142309.170720-1-david.plowman@raspberrypi.com> MIME-Version: 1.0 Subject: [libcamera-devel] [PATCH 1/1] libcamera: controls: Add a control for IQ stability 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: David Plowman via libcamera-devel From: David Plowman Reply-To: David Plowman Errors-To: libcamera-devel-bounces@lists.libcamera.org Sender: "libcamera-devel" The IqUnstable metadata can be used by IPAs to indicate to an application that they have not settled sufficiently to produce reliable image quality. Applications would be advised to avoid using frames flagged in this way. One example would be when the camera starts, when the AEC/AGC might oscillate for a few frames. Signed-off-by: David Plowman Reviewed-by: Naushir Patuck --- src/libcamera/control_ids.yaml | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/src/libcamera/control_ids.yaml b/src/libcamera/control_ids.yaml index f2e542f4..b96e1272 100644 --- a/src/libcamera/control_ids.yaml +++ b/src/libcamera/control_ids.yaml @@ -774,6 +774,26 @@ controls: Continuous AF is paused. No further state changes or lens movements will occur until the AfPauseResume control is sent. + - IqUnstable: + type: bool + description: | + The value true indicates that the camera algorithms have not settled + sufficiently to generate images of reliable quality. The application + receiving this frame is advised to drop it and wait for a frame where + this metadata reports false (or is absent). + + One example of this would be when the camera system starts. It may be + trying to adapt very quickly to the ambient conditions, resulting in a + few frames where the image brightness may be subject to unusually + extreme oscillations. + + The control may report true at other times, for example when an HDR mode + is enabled. Here too there may be a few frames of unpredictable exposure + until the algorithms have settled. + + The value false (or absence of the control) indicates that this is a + normal frame. + # ---------------------------------------------------------------------------- # Draft controls section