From patchwork Mon Sep 25 09:21:36 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: David Plowman X-Patchwork-Id: 19085 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 04963BD808 for ; Mon, 25 Sep 2023 09:21:45 +0000 (UTC) Received: from lancelot.ideasonboard.com (localhost [IPv6:::1]) by lancelot.ideasonboard.com (Postfix) with ESMTP id A96646293F; Mon, 25 Sep 2023 11:21:45 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=libcamera.org; s=mail; t=1695633705; bh=VL73W2oQ37NUNAEjqx9cQSiJlWVGq0Y7zjmr6HbMAiE=; 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=q4DGblNtSo1JTIoXGPZTgafk+oZY06YwiC2raombSXIxd2zY70AobzLp2TlDJxcD+ /rJILJLYIDcfefK86BqCJX2RkwT6jEyBRGfkZLIEvz5dp7KIBmwQfvsNh5wIac/zD5 RUE5ma0tgtlsJE8GZiScJYJAM6+DF5FzCojYFmcjYQGDK8qXM2BFiayoraqpAsUL3+ xbU0Y0BH6mqgVKWnp3aNtVFyMnfjNlAulKvQHt1h7/8DmPK0JTTn59knO75gr/sszq WvoBmWQT/0mOFC1vYvbpekJBHIkbgmTmUg4l+BXD+siyKS/U2bSFKmK7FzcNT3RGuZ JWviN0z8fuscw== Received: from mail-lf1-x131.google.com (mail-lf1-x131.google.com [IPv6:2a00:1450:4864:20::131]) by lancelot.ideasonboard.com (Postfix) with ESMTPS id DDCD862945 for ; Mon, 25 Sep 2023 11:21:42 +0200 (CEST) Authentication-Results: lancelot.ideasonboard.com; dkim=pass (2048-bit key; unprotected) header.d=raspberrypi.com header.i=@raspberrypi.com header.b="IUtTNoxl"; dkim-atps=neutral Received: by mail-lf1-x131.google.com with SMTP id 2adb3069b0e04-50437c618b4so7144068e87.2 for ; Mon, 25 Sep 2023 02:21:42 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=raspberrypi.com; s=google; t=1695633702; x=1696238502; 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=cS9l2AyKJkv9WOOti0SkZyAzlvZOmRvqSqmY++wsf1Y=; b=IUtTNoxl/6zPLR/zCg8TwkXD2+ljSmbiEhNvTYma55NYCTD/wi/2wUwHrnvgPTvkEL mipu16klke1v37Be2NxLCIFLMiwq6XqObNKgIDvIosm0RJuUT49QeOA7USCkHdaoY17x PO2rCec7DgTGG233tQZnpNVooK/OZCXtLMMnTDKSkH14bBEN1k0NGEh8pippNjVA/yKS 7GvvSYED+8g9LbchLeduQF2J49HdO/z0iV1K6sv3czrDfxr4TaxWV8uUeZOzAxbr0Oq/ olczaBPc1HGYbyvrBq+SMKe5BORVAtywGMgK61twPZLEGL8bYOB1qCMkQjwRsiDEnG6i yjMg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1695633702; x=1696238502; 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=cS9l2AyKJkv9WOOti0SkZyAzlvZOmRvqSqmY++wsf1Y=; b=DhEhzQWAVrKCJcOP34vYyhDrkIZXtHch7YqHq8P1DdPp+5d619UDcVgehOwP2RVEGK X80Af/JdO55dp2tmvZJfFsVjfx2GGRzsJEwQ02U35zbtEAp4QVz7JuzYtvbLOKqHc13s fjgpsAW6oEFShwdoW4BrWV2AH7DM/1ZKMK9n8Oh3aSRAhlb1cNM3XhWxqflrP0ksOSRS ridKCqgp0jSmmrndhejTK9OLri5OVFnmFv+KU9OoljEIoaLoL9bnI5dszf+qwtyEkYUp 1d6iRewGJzHZuVMWsBzbxVYra5lUeWRTF4tXTkyyRkUiPqAZ40k1tMobitPDlcLKs6D9 8Qmg== X-Gm-Message-State: AOJu0YxPzYFgY8EabFQUMlgQ/f1ybbZ1sYf9M1vSOdF00qNGcAjnb7Ua Yayq0BKQ4dx2H/DmYgqcBg+EIS7Cwkg6DiNevT8= X-Google-Smtp-Source: AGHT+IGmDDgstOH6p+xX9oUDkIBbTXbiUJRdTLFrcaxjT7jtsfSM0r0sdNZBIDdxaDEaTOGeAr/pnQ== X-Received: by 2002:a05:6512:104c:b0:502:9fce:b6e0 with SMTP id c12-20020a056512104c00b005029fceb6e0mr6273853lfb.28.1695633701649; Mon, 25 Sep 2023 02:21:41 -0700 (PDT) Received: from pi4-davidp.pitowers.org ([2a00:1098:3142:14:2bce:64d6:1a5c:49a2]) by smtp.gmail.com with ESMTPSA id l18-20020a1c7912000000b003fef3180e7asm14651548wme.44.2023.09.25.02.21.40 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 25 Sep 2023 02:21:40 -0700 (PDT) To: libcamera-devel@lists.libcamera.org Date: Mon, 25 Sep 2023 10:21:36 +0100 Message-Id: <20230925092136.51550-2-david.plowman@raspberrypi.com> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20230925092136.51550-1-david.plowman@raspberrypi.com> References: <20230925092136.51550-1-david.plowman@raspberrypi.com> MIME-Version: 1.0 Subject: [libcamera-devel] [PATCH v2 1/1] libcamera: controls: Add controls for HDR 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" We add an HdrMode control (to enable and disable HDR processing) and an HdrChannel, which indicates what kind of HDR frame (short, long or otherwise) has just arrived. Currently the HdrMode supports the following values: * Off - no HDR processing at all. * MultiExposure - frames at multiple different exposures are combined to create HDR images. * SingleExposure - multiple frames all at the same exposure are combined to create HDR images. * Night - multiple frames will be combined to create "night mode" images. Signed-off-by: David Plowman Reviewed-by: Naushir Patuck --- src/libcamera/control_ids.yaml | 55 ++++++++++++++++++++++++++++++++++ 1 file changed, 55 insertions(+) diff --git a/src/libcamera/control_ids.yaml b/src/libcamera/control_ids.yaml index f2e542f4..0b4e2462 100644 --- a/src/libcamera/control_ids.yaml +++ b/src/libcamera/control_ids.yaml @@ -774,6 +774,61 @@ controls: Continuous AF is paused. No further state changes or lens movements will occur until the AfPauseResume control is sent. + - HdrMode: + type: int32_t + description: | + Control to set the mode to be used for High Dynamic Range (HDR) + imaging. + + enum: + - name: HdrModeOff + value: 0 + description: | + HDR is not enabled. + - name: HdrModeMultiExposure + value: 1 + description: | + Multiple exposures will be used to create HDR images. + - name: HdrModeSingleExposure + value: 2 + description: | + Multiple frames all at a single exposure will be used to create HDR + images. + - name: HdrModeNight + value: 3 + description: | + Multiple frames will be combined to produce "night mode" images. + + - HdrChannel: + type: int32_t + description: | + This value is reported back to the application so that it can discover + whether this capture corresponds to the short or long exposure image (or + any other image used by the HDR procedure). + + enum: + - name: HdrChannelNone + value: 0 + description: | + This image does not correspond to any of the captures used to create + an HDR image. + - name: HdrChannelShort + value: 1 + description: | + This is a short exposure image. + - name: HdrChannelMedium + value: 2 + description: | + This is a medium exposure image. + - name: HdrChannelLong + value: 3 + description: | + This is a long exposure image. + - name: HdrChannel Night + value: 4 + description: | + This frame has been used to produce a "night mode" image. + # ---------------------------------------------------------------------------- # Draft controls section